mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-07 22:54:17 -05:00
Remove unused Copy() from the ReadOnlyBeaconBlock interface (#14811)
This commit is contained in:
3
changelog/potuz_remove_copy_beaconblock.md
Normal file
3
changelog/potuz_remove_copy_beaconblock.md
Normal file
@@ -0,0 +1,3 @@
|
||||
### Removed
|
||||
|
||||
- Remove `Copy()` from the `ReadOnlyBeaconBlock` interface.
|
||||
@@ -1107,50 +1107,6 @@ func (b *BeaconBlock) AsSignRequestObject() (validatorpb.SignRequestObject, erro
|
||||
}
|
||||
}
|
||||
|
||||
func (b *BeaconBlock) Copy() (interfaces.ReadOnlyBeaconBlock, error) {
|
||||
if b == nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
pb, err := b.Proto()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch b.version {
|
||||
case version.Phase0:
|
||||
return initBlockFromProtoPhase0(pb.(*eth.BeaconBlock).Copy())
|
||||
case version.Altair:
|
||||
return initBlockFromProtoAltair(pb.(*eth.BeaconBlockAltair).Copy())
|
||||
case version.Bellatrix:
|
||||
if b.IsBlinded() {
|
||||
return initBlindedBlockFromProtoBellatrix(pb.(*eth.BlindedBeaconBlockBellatrix).Copy())
|
||||
}
|
||||
return initBlockFromProtoBellatrix(pb.(*eth.BeaconBlockBellatrix).Copy())
|
||||
case version.Capella:
|
||||
if b.IsBlinded() {
|
||||
return initBlindedBlockFromProtoCapella(pb.(*eth.BlindedBeaconBlockCapella).Copy())
|
||||
}
|
||||
return initBlockFromProtoCapella(pb.(*eth.BeaconBlockCapella).Copy())
|
||||
case version.Deneb:
|
||||
if b.IsBlinded() {
|
||||
return initBlindedBlockFromProtoDeneb(pb.(*eth.BlindedBeaconBlockDeneb).Copy())
|
||||
}
|
||||
return initBlockFromProtoDeneb(pb.(*eth.BeaconBlockDeneb).Copy())
|
||||
case version.Electra:
|
||||
if b.IsBlinded() {
|
||||
return initBlindedBlockFromProtoElectra(pb.(*eth.BlindedBeaconBlockElectra).Copy())
|
||||
}
|
||||
return initBlockFromProtoElectra(pb.(*eth.BeaconBlockElectra).Copy())
|
||||
case version.Fulu:
|
||||
if b.IsBlinded() {
|
||||
return initBlindedBlockFromProtoFulu(pb.(*eth.BlindedBeaconBlockFulu).Copy())
|
||||
}
|
||||
return initBlockFromProtoFulu(pb.(*eth.BeaconBlockFulu).Copy())
|
||||
default:
|
||||
return nil, errIncorrectBlockVersion
|
||||
}
|
||||
}
|
||||
|
||||
// IsNil checks if the block body is nil.
|
||||
func (b *BeaconBlockBody) IsNil() bool {
|
||||
return b == nil
|
||||
|
||||
@@ -169,70 +169,6 @@ func Test_BeaconBlock_Body(t *testing.T) {
|
||||
assert.Equal(t, bb, b.Body())
|
||||
}
|
||||
|
||||
func Test_BeaconBlock_Copy(t *testing.T) {
|
||||
bb := &BeaconBlockBody{randaoReveal: bytesutil.ToBytes96([]byte{246}), graffiti: bytesutil.ToBytes32([]byte("graffiti"))}
|
||||
b := &BeaconBlock{body: bb, slot: 123, proposerIndex: 456, parentRoot: bytesutil.ToBytes32([]byte("parentroot")), stateRoot: bytesutil.ToBytes32([]byte("stateroot"))}
|
||||
cp, err := b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
|
||||
b.version = version.Altair
|
||||
b.body.version = b.version
|
||||
cp, err = b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
|
||||
b.version = version.Bellatrix
|
||||
b.body.version = b.version
|
||||
cp, err = b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
|
||||
b.version = version.Capella
|
||||
b.body.version = b.version
|
||||
cp, err = b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
|
||||
b.version = version.Bellatrix
|
||||
b.body.version = b.version
|
||||
cp, err = b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
|
||||
b.version = version.Capella
|
||||
b.body.version = b.version
|
||||
cp, err = b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
|
||||
payload := &pb.ExecutionPayloadDeneb{ExcessBlobGas: 123}
|
||||
header := &pb.ExecutionPayloadHeaderDeneb{ExcessBlobGas: 223}
|
||||
payloadInterface, err := WrappedExecutionPayloadDeneb(payload)
|
||||
require.NoError(t, err)
|
||||
headerInterface, err := WrappedExecutionPayloadHeaderDeneb(header)
|
||||
require.NoError(t, err)
|
||||
bb = &BeaconBlockBody{executionPayload: payloadInterface, executionPayloadHeader: headerInterface, randaoReveal: bytesutil.ToBytes96([]byte{246}), graffiti: bytesutil.ToBytes32([]byte("graffiti"))}
|
||||
b = &BeaconBlock{body: bb, slot: 123, proposerIndex: 456, parentRoot: bytesutil.ToBytes32([]byte("parentroot")), stateRoot: bytesutil.ToBytes32([]byte("stateroot"))}
|
||||
b.version = version.Deneb
|
||||
b.body.version = b.version
|
||||
cp, err = b.Copy()
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, cp, b)
|
||||
assert.NotEqual(t, cp.Body(), bb)
|
||||
e, err := cp.Body().Execution()
|
||||
require.NoError(t, err)
|
||||
gas, err := e.ExcessBlobGas()
|
||||
require.NoError(t, err)
|
||||
require.DeepEqual(t, gas, uint64(123))
|
||||
}
|
||||
|
||||
func Test_BeaconBlock_IsNil(t *testing.T) {
|
||||
t.Run("nil block", func(t *testing.T) {
|
||||
var b *BeaconBlock
|
||||
|
||||
@@ -47,7 +47,6 @@ type ReadOnlyBeaconBlock interface {
|
||||
ssz.HashRoot
|
||||
Version() int
|
||||
AsSignRequestObject() (validatorpb.SignRequestObject, error)
|
||||
Copy() (ReadOnlyBeaconBlock, error)
|
||||
}
|
||||
|
||||
// ReadOnlyBeaconBlockBody describes the method set employed by an object
|
||||
|
||||
@@ -163,10 +163,6 @@ func (BeaconBlock) SetParentRoot(_ []byte) {
|
||||
panic("implement me")
|
||||
}
|
||||
|
||||
func (BeaconBlock) Copy() (interfaces.ReadOnlyBeaconBlock, error) {
|
||||
panic("implement me")
|
||||
}
|
||||
|
||||
type BeaconBlockBody struct{}
|
||||
|
||||
func (BeaconBlockBody) RandaoReveal() [field_params.BLSSignatureLength]byte {
|
||||
|
||||
Reference in New Issue
Block a user