Use Single Beacon Block Wrapper Function Across Prysm (#10608)

* remove altair wrappers in favor of generic ones for blocks

* rem deprecated

* body wrapper

* builds

* nil check
This commit is contained in:
Raul Jordan
2022-05-04 03:55:35 +00:00
committed by GitHub
parent 7c3147ca89
commit ab2b0c5c99
18 changed files with 209 additions and 144 deletions

View File

@@ -17,6 +17,9 @@ var (
// ErrUnsupportedBeaconBlock is returned when the struct type is not a supported beacon block
// type.
ErrUnsupportedBeaconBlock = errors.New("unsupported beacon block")
// ErrUnsupportedBeaconBlockBody is returned when the struct type is not a supported beacon block body
// type.
ErrUnsupportedBeaconBlockBody = errors.New("unsupported beacon block body")
// ErrUnsupportedPhase0Block is returned when accessing a phase0 block from a non-phase0 wrapped
// block.
ErrUnsupportedPhase0Block = errors.New("unsupported phase0 block")
@@ -59,31 +62,52 @@ func WrappedSignedBeaconBlock(i interface{}) (interfaces.SignedBeaconBlock, erro
}
}
// WrappedBeaconBlock will wrap a signed beacon block to conform to the
// signed beacon block interface.
// WrappedBeaconBlock will wrap a beacon block to conform to the
// beacon block interface.
func WrappedBeaconBlock(i interface{}) (interfaces.BeaconBlock, error) {
switch b := i.(type) {
case *eth.GenericBeaconBlock_Phase0:
return WrappedPhase0BeaconBlock(b.Phase0), nil
return wrappedPhase0BeaconBlock(b.Phase0), nil
case *eth.BeaconBlock:
return WrappedPhase0BeaconBlock(b), nil
return wrappedPhase0BeaconBlock(b), nil
case *eth.GenericBeaconBlock_Altair:
return WrappedAltairBeaconBlock(b.Altair)
return wrappedAltairBeaconBlock(b.Altair)
case *eth.BeaconBlockAltair:
return WrappedAltairBeaconBlock(b)
return wrappedAltairBeaconBlock(b)
case *eth.GenericBeaconBlock_Bellatrix:
return WrappedBellatrixBeaconBlock(b.Bellatrix)
return wrappedBellatrixBeaconBlock(b.Bellatrix)
case *eth.BeaconBlockBellatrix:
return WrappedBellatrixBeaconBlock(b)
return wrappedBellatrixBeaconBlock(b)
case *eth.GenericBeaconBlock_BlindedBellatrix:
return WrappedBellatrixBlindedBeaconBlock(b.BlindedBellatrix)
return wrappedBellatrixBlindedBeaconBlock(b.BlindedBellatrix)
case *eth.BlindedBeaconBlockBellatrix:
return WrappedBellatrixBlindedBeaconBlock(b)
return wrappedBellatrixBlindedBeaconBlock(b)
case nil:
return nil, ErrNilObjectWrapped
default:
return nil, errors.Wrapf(ErrUnsupportedBeaconBlock, "unable to wrap block of type %T", i)
}
}
// WrappedBeaconBlockBody will wrap a beacon block body to conform to the
// beacon block interface.
func WrappedBeaconBlockBody(i interface{}) (interfaces.BeaconBlockBody, error) {
switch b := i.(type) {
case *eth.BeaconBlockBody:
return wrappedPhase0BeaconBlockBody(b), nil
case *eth.BeaconBlockBodyAltair:
return wrappedAltairBeaconBlockBody(b)
case *eth.BeaconBlockBodyBellatrix:
return wrappedBellatrixBeaconBlockBody(b)
case *eth.BlindedBeaconBlockBodyBellatrix:
return wrappedBellatrixBlindedBeaconBlockBody(b)
case nil:
return nil, ErrNilObjectWrapped
default:
return nil, errors.Wrapf(ErrUnsupportedBeaconBlockBody, "unable to wrap block body of type %T", i)
}
}
// BuildSignedBeaconBlock assembles a block.SignedBeaconBlock interface compatible struct from a
// given beacon block an the appropriate signature. This method may be used to easily create a
// signed beacon block.

View File

@@ -141,11 +141,9 @@ type altairBeaconBlock struct {
b *eth.BeaconBlockAltair
}
// WrappedAltairBeaconBlock is constructor which wraps a protobuf altair object
// wrappedAltairBeaconBlock is constructor which wraps a protobuf altair object
// with the block wrapper.
//
// Deprecated: Use WrappedBeaconBlock.
func WrappedAltairBeaconBlock(b *eth.BeaconBlockAltair) (interfaces.BeaconBlock, error) {
func wrappedAltairBeaconBlock(b *eth.BeaconBlockAltair) (interfaces.BeaconBlock, error) {
w := altairBeaconBlock{b: b}
if w.IsNil() {
return nil, ErrNilObjectWrapped
@@ -244,9 +242,9 @@ type altairBeaconBlockBody struct {
b *eth.BeaconBlockBodyAltair
}
// WrappedAltairBeaconBlockBody is constructor which wraps a protobuf altair object
// wrappedAltairBeaconBlockBody is constructor which wraps a protobuf altair object
// with the block wrapper.
func WrappedAltairBeaconBlockBody(b *eth.BeaconBlockBodyAltair) (interfaces.BeaconBlockBody, error) {
func wrappedAltairBeaconBlockBody(b *eth.BeaconBlockBodyAltair) (interfaces.BeaconBlockBody, error) {
w := altairBeaconBlockBody{b: b}
if w.IsNil() {
return nil, ErrNilObjectWrapped

View File

@@ -111,7 +111,7 @@ func TestAltairSignedBeaconBlock_Version(t *testing.T) {
func TestAltairBeaconBlock_Slot(t *testing.T) {
slot := types.Slot(546)
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{Slot: slot})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{Slot: slot})
require.NoError(t, err)
assert.Equal(t, slot, wb.Slot())
@@ -119,7 +119,7 @@ func TestAltairBeaconBlock_Slot(t *testing.T) {
func TestAltairBeaconBlock_ProposerIndex(t *testing.T) {
pi := types.ValidatorIndex(555)
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{ProposerIndex: pi})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{ProposerIndex: pi})
require.NoError(t, err)
assert.Equal(t, pi, wb.ProposerIndex())
@@ -127,7 +127,7 @@ func TestAltairBeaconBlock_ProposerIndex(t *testing.T) {
func TestAltairBeaconBlock_ParentRoot(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{ParentRoot: root})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{ParentRoot: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wb.ParentRoot())
@@ -135,7 +135,7 @@ func TestAltairBeaconBlock_ParentRoot(t *testing.T) {
func TestAltairBeaconBlock_StateRoot(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{StateRoot: root})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{StateRoot: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wb.StateRoot())
@@ -143,17 +143,17 @@ func TestAltairBeaconBlock_StateRoot(t *testing.T) {
func TestAltairBeaconBlock_Body(t *testing.T) {
body := &ethpb.BeaconBlockBodyAltair{Graffiti: []byte{0x44}}
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{Body: body})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{Body: body})
require.NoError(t, err)
assert.Equal(t, body, wb.Body().Proto())
}
func TestAltairBeaconBlock_IsNil(t *testing.T) {
_, err := wrapper.WrappedAltairBeaconBlock(nil)
_, err := wrapper.WrappedBeaconBlock(nil)
require.Equal(t, wrapper.ErrNilObjectWrapped, err)
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{})
require.NoError(t, err)
assert.Equal(t, false, wb.IsNil())
@@ -166,7 +166,7 @@ func TestAltairBeaconBlock_IsBlinded(t *testing.T) {
}
func TestAltairBeaconBlock_HashTreeRoot(t *testing.T) {
wb, err := wrapper.WrappedAltairBeaconBlock(util.HydrateBeaconBlockAltair(&ethpb.BeaconBlockAltair{}))
wb, err := wrapper.WrappedBeaconBlock(util.HydrateBeaconBlockAltair(&ethpb.BeaconBlockAltair{}))
require.NoError(t, err)
rt, err := wb.HashTreeRoot()
@@ -176,14 +176,14 @@ func TestAltairBeaconBlock_HashTreeRoot(t *testing.T) {
func TestAltairBeaconBlock_Proto(t *testing.T) {
blk := &ethpb.BeaconBlockAltair{ProposerIndex: 234}
wb, err := wrapper.WrappedAltairBeaconBlock(blk)
wb, err := wrapper.WrappedBeaconBlock(blk)
require.NoError(t, err)
assert.Equal(t, blk, wb.Proto())
}
func TestAltairBeaconBlock_SSZ(t *testing.T) {
wb, err := wrapper.WrappedAltairBeaconBlock(util.HydrateBeaconBlockAltair(&ethpb.BeaconBlockAltair{}))
wb, err := wrapper.WrappedBeaconBlock(util.HydrateBeaconBlockAltair(&ethpb.BeaconBlockAltair{}))
assert.NoError(t, err)
b, err := wb.MarshalSSZ()
@@ -196,7 +196,7 @@ func TestAltairBeaconBlock_SSZ(t *testing.T) {
}
func TestAltairBeaconBlock_Version(t *testing.T) {
wb, err := wrapper.WrappedAltairBeaconBlock(&ethpb.BeaconBlockAltair{})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockAltair{})
require.NoError(t, err)
assert.Equal(t, version.Altair, wb.Version())
@@ -204,7 +204,7 @@ func TestAltairBeaconBlock_Version(t *testing.T) {
func TestAltairBeaconBlockBody_RandaoReveal(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(&ethpb.BeaconBlockBodyAltair{RandaoReveal: root})
wbb, err := wrapper.WrappedBeaconBlockBody(&ethpb.BeaconBlockBodyAltair{RandaoReveal: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wbb.RandaoReveal())
@@ -215,7 +215,7 @@ func TestAltairBeaconBlockBody_Eth1Data(t *testing.T) {
body := &ethpb.BeaconBlockBodyAltair{
Eth1Data: data,
}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.Equal(t, data, wbb.Eth1Data())
}
@@ -223,7 +223,7 @@ func TestAltairBeaconBlockBody_Eth1Data(t *testing.T) {
func TestAltairBeaconBlockBody_Graffiti(t *testing.T) {
graffiti := []byte{0x66, 0xAA}
body := &ethpb.BeaconBlockBodyAltair{Graffiti: graffiti}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, graffiti, wbb.Graffiti())
@@ -236,7 +236,7 @@ func TestAltairBeaconBlockBody_ProposerSlashings(t *testing.T) {
}},
}
body := &ethpb.BeaconBlockBodyAltair{ProposerSlashings: ps}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, ps, wbb.ProposerSlashings())
@@ -247,7 +247,7 @@ func TestAltairBeaconBlockBody_AttesterSlashings(t *testing.T) {
{Attestation_1: &ethpb.IndexedAttestation{Signature: []byte{0x11}}},
}
body := &ethpb.BeaconBlockBodyAltair{AttesterSlashings: as}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, as, wbb.AttesterSlashings())
@@ -257,7 +257,7 @@ func TestAltairBeaconBlockBody_Attestations(t *testing.T) {
atts := []*ethpb.Attestation{{Signature: []byte{0x88}}}
body := &ethpb.BeaconBlockBodyAltair{Attestations: atts}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, atts, wbb.Attestations())
@@ -268,7 +268,7 @@ func TestAltairBeaconBlockBody_Deposits(t *testing.T) {
{Proof: [][]byte{{0x54, 0x10}}},
}
body := &ethpb.BeaconBlockBodyAltair{Deposits: deposits}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, deposits, wbb.Deposits())
@@ -279,24 +279,24 @@ func TestAltairBeaconBlockBody_VoluntaryExits(t *testing.T) {
{Exit: &ethpb.VoluntaryExit{Epoch: 54}},
}
body := &ethpb.BeaconBlockBodyAltair{VoluntaryExits: exits}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, exits, wbb.VoluntaryExits())
}
func TestAltairBeaconBlockBody_IsNil(t *testing.T) {
_, err := wrapper.WrappedAltairBeaconBlockBody(nil)
_, err := wrapper.WrappedBeaconBlockBody(nil)
require.Equal(t, wrapper.ErrNilObjectWrapped, err)
wbb, err := wrapper.WrappedAltairBeaconBlockBody(&ethpb.BeaconBlockBodyAltair{})
wbb, err := wrapper.WrappedBeaconBlockBody(&ethpb.BeaconBlockBodyAltair{})
require.NoError(t, err)
assert.Equal(t, false, wbb.IsNil())
}
func TestAltairBeaconBlockBody_HashTreeRoot(t *testing.T) {
wb, err := wrapper.WrappedAltairBeaconBlockBody(util.HydrateBeaconBlockBodyAltair(&ethpb.BeaconBlockBodyAltair{}))
wb, err := wrapper.WrappedBeaconBlockBody(util.HydrateBeaconBlockBodyAltair(&ethpb.BeaconBlockBodyAltair{}))
assert.NoError(t, err)
rt, err := wb.HashTreeRoot()
@@ -306,7 +306,7 @@ func TestAltairBeaconBlockBody_HashTreeRoot(t *testing.T) {
func TestAltairBeaconBlockBody_Proto(t *testing.T) {
body := &ethpb.BeaconBlockBodyAltair{Graffiti: []byte{0x66, 0xAA}}
wbb, err := wrapper.WrappedAltairBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.Equal(t, body, wbb.Proto())

View File

@@ -136,11 +136,9 @@ type bellatrixBeaconBlock struct {
b *eth.BeaconBlockBellatrix
}
// WrappedBellatrixBeaconBlock is a constructor which wraps a protobuf Bellatrix object
// wrappedBellatrixBeaconBlock is a constructor which wraps a protobuf Bellatrix object
// with the block wrapper.
//
// Deprecated: Use WrappedBeaconBlock.
func WrappedBellatrixBeaconBlock(b *eth.BeaconBlockBellatrix) (interfaces.BeaconBlock, error) {
func wrappedBellatrixBeaconBlock(b *eth.BeaconBlockBellatrix) (interfaces.BeaconBlock, error) {
w := bellatrixBeaconBlock{b: b}
if w.IsNil() {
return nil, ErrNilObjectWrapped
@@ -239,9 +237,9 @@ type bellatrixBeaconBlockBody struct {
b *eth.BeaconBlockBodyBellatrix
}
// WrappedBellatrixBeaconBlockBody is a constructor which wraps a protobuf bellatrix object
// wrappedBellatrixBeaconBlockBody is a constructor which wraps a protobuf bellatrix object
// with the block wrapper.
func WrappedBellatrixBeaconBlockBody(b *eth.BeaconBlockBodyBellatrix) (interfaces.BeaconBlockBody, error) {
func wrappedBellatrixBeaconBlockBody(b *eth.BeaconBlockBodyBellatrix) (interfaces.BeaconBlockBody, error) {
w := bellatrixBeaconBlockBody{b: b}
if w.IsNil() {
return nil, ErrNilObjectWrapped

View File

@@ -143,7 +143,7 @@ func TestBellatrixSignedBeaconBlock_Version(t *testing.T) {
func TestBellatrixBeaconBlock_Slot(t *testing.T) {
slot := types.Slot(546)
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{Slot: slot})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{Slot: slot})
require.NoError(t, err)
assert.Equal(t, slot, wb.Slot())
@@ -151,7 +151,7 @@ func TestBellatrixBeaconBlock_Slot(t *testing.T) {
func TestBellatrixBeaconBlock_ProposerIndex(t *testing.T) {
pi := types.ValidatorIndex(555)
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{ProposerIndex: pi})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{ProposerIndex: pi})
require.NoError(t, err)
assert.Equal(t, pi, wb.ProposerIndex())
@@ -159,7 +159,7 @@ func TestBellatrixBeaconBlock_ProposerIndex(t *testing.T) {
func TestBellatrixBeaconBlock_ParentRoot(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{ParentRoot: root})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{ParentRoot: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wb.ParentRoot())
@@ -167,7 +167,7 @@ func TestBellatrixBeaconBlock_ParentRoot(t *testing.T) {
func TestBellatrixBeaconBlock_StateRoot(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{StateRoot: root})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{StateRoot: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wb.StateRoot())
@@ -175,17 +175,17 @@ func TestBellatrixBeaconBlock_StateRoot(t *testing.T) {
func TestBellatrixBeaconBlock_Body(t *testing.T) {
body := &ethpb.BeaconBlockBodyBellatrix{Graffiti: []byte{0x44}}
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{Body: body})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{Body: body})
require.NoError(t, err)
assert.Equal(t, body, wb.Body().Proto())
}
func TestBellatrixBeaconBlock_IsNil(t *testing.T) {
_, err := wrapper.WrappedBellatrixBeaconBlock(nil)
_, err := wrapper.WrappedBeaconBlock(nil)
require.Equal(t, wrapper.ErrNilObjectWrapped, err)
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{})
require.NoError(t, err)
assert.Equal(t, false, wb.IsNil())
@@ -198,7 +198,7 @@ func TesTBellatrixBeaconBlock_IsBlinded(t *testing.T) {
}
func TestBellatrixBeaconBlock_HashTreeRoot(t *testing.T) {
wb, err := wrapper.WrappedBellatrixBeaconBlock(util.HydrateBeaconBlockBellatrix(&ethpb.BeaconBlockBellatrix{}))
wb, err := wrapper.WrappedBeaconBlock(util.HydrateBeaconBlockBellatrix(&ethpb.BeaconBlockBellatrix{}))
require.NoError(t, err)
rt, err := wb.HashTreeRoot()
@@ -208,14 +208,14 @@ func TestBellatrixBeaconBlock_HashTreeRoot(t *testing.T) {
func TestBellatrixBeaconBlock_Proto(t *testing.T) {
blk := &ethpb.BeaconBlockBellatrix{ProposerIndex: 234}
wb, err := wrapper.WrappedBellatrixBeaconBlock(blk)
wb, err := wrapper.WrappedBeaconBlock(blk)
require.NoError(t, err)
assert.Equal(t, blk, wb.Proto())
}
func TestBellatrixBeaconBlock_SSZ(t *testing.T) {
wb, err := wrapper.WrappedBellatrixBeaconBlock(util.HydrateBeaconBlockBellatrix(&ethpb.BeaconBlockBellatrix{}))
wb, err := wrapper.WrappedBeaconBlock(util.HydrateBeaconBlockBellatrix(&ethpb.BeaconBlockBellatrix{}))
assert.NoError(t, err)
b, err := wb.MarshalSSZ()
@@ -228,7 +228,7 @@ func TestBellatrixBeaconBlock_SSZ(t *testing.T) {
}
func TestBellatrixBeaconBlock_Version(t *testing.T) {
wb, err := wrapper.WrappedBellatrixBeaconBlock(&ethpb.BeaconBlockBellatrix{})
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BeaconBlockBellatrix{})
require.NoError(t, err)
assert.Equal(t, version.Bellatrix, wb.Version())
@@ -236,7 +236,7 @@ func TestBellatrixBeaconBlock_Version(t *testing.T) {
func TestBellatrixBeaconBlockBody_RandaoReveal(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(&ethpb.BeaconBlockBodyBellatrix{RandaoReveal: root})
wbb, err := wrapper.WrappedBeaconBlockBody(&ethpb.BeaconBlockBodyBellatrix{RandaoReveal: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wbb.RandaoReveal())
@@ -247,7 +247,7 @@ func TestBellatrixBeaconBlockBody_Eth1Data(t *testing.T) {
body := &ethpb.BeaconBlockBodyBellatrix{
Eth1Data: data,
}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.Equal(t, data, wbb.Eth1Data())
}
@@ -255,7 +255,7 @@ func TestBellatrixBeaconBlockBody_Eth1Data(t *testing.T) {
func TestBellatrixBeaconBlockBody_Graffiti(t *testing.T) {
graffiti := []byte{0x66, 0xAA}
body := &ethpb.BeaconBlockBodyBellatrix{Graffiti: graffiti}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, graffiti, wbb.Graffiti())
@@ -268,7 +268,7 @@ func TestBellatrixBeaconBlockBody_ProposerSlashings(t *testing.T) {
}},
}
body := &ethpb.BeaconBlockBodyBellatrix{ProposerSlashings: ps}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, ps, wbb.ProposerSlashings())
@@ -279,7 +279,7 @@ func TestBellatrixBeaconBlockBody_AttesterSlashings(t *testing.T) {
{Attestation_1: &ethpb.IndexedAttestation{Signature: []byte{0x11}}},
}
body := &ethpb.BeaconBlockBodyBellatrix{AttesterSlashings: as}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, as, wbb.AttesterSlashings())
@@ -289,7 +289,7 @@ func TestBellatrixBeaconBlockBody_Attestations(t *testing.T) {
atts := []*ethpb.Attestation{{Signature: []byte{0x88}}}
body := &ethpb.BeaconBlockBodyBellatrix{Attestations: atts}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, atts, wbb.Attestations())
@@ -300,7 +300,7 @@ func TestBellatrixBeaconBlockBody_Deposits(t *testing.T) {
{Proof: [][]byte{{0x54, 0x10}}},
}
body := &ethpb.BeaconBlockBodyBellatrix{Deposits: deposits}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, deposits, wbb.Deposits())
@@ -311,24 +311,24 @@ func TestBellatrixBeaconBlockBody_VoluntaryExits(t *testing.T) {
{Exit: &ethpb.VoluntaryExit{Epoch: 54}},
}
body := &ethpb.BeaconBlockBodyBellatrix{VoluntaryExits: exits}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, exits, wbb.VoluntaryExits())
}
func TestBellatrixBeaconBlockBody_IsNil(t *testing.T) {
_, err := wrapper.WrappedBellatrixBeaconBlockBody(nil)
_, err := wrapper.WrappedBeaconBlockBody(nil)
require.Equal(t, wrapper.ErrNilObjectWrapped, err)
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(&ethpb.BeaconBlockBodyBellatrix{})
wbb, err := wrapper.WrappedBeaconBlockBody(&ethpb.BeaconBlockBodyBellatrix{})
require.NoError(t, err)
assert.Equal(t, false, wbb.IsNil())
}
func TestBellatrixBeaconBlockBody_HashTreeRoot(t *testing.T) {
wb, err := wrapper.WrappedBellatrixBeaconBlockBody(util.HydrateBeaconBlockBodyBellatrix(&ethpb.BeaconBlockBodyBellatrix{}))
wb, err := wrapper.WrappedBeaconBlockBody(util.HydrateBeaconBlockBodyBellatrix(&ethpb.BeaconBlockBodyBellatrix{}))
assert.NoError(t, err)
rt, err := wb.HashTreeRoot()
@@ -338,7 +338,7 @@ func TestBellatrixBeaconBlockBody_HashTreeRoot(t *testing.T) {
func TestBellatrixBeaconBlockBody_Proto(t *testing.T) {
body := &ethpb.BeaconBlockBodyBellatrix{Graffiti: []byte{0x66, 0xAA}}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.Equal(t, body, wbb.Proto())
@@ -349,7 +349,7 @@ func TestBellatrixBeaconBlockBody_ExecutionPayload(t *testing.T) {
BlockNumber: 100,
}
body := &ethpb.BeaconBlockBodyBellatrix{ExecutionPayload: payloads}
wbb, err := wrapper.WrappedBellatrixBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
got, err := wbb.ExecutionPayload()

View File

@@ -38,7 +38,7 @@ func (w Phase0SignedBeaconBlock) Signature() []byte {
// Block returns the underlying beacon block object.
func (w Phase0SignedBeaconBlock) Block() interfaces.BeaconBlock {
return WrappedPhase0BeaconBlock(w.b.Block)
return wrappedPhase0BeaconBlock(w.b.Block)
}
// IsNil checks if the underlying beacon block is
@@ -137,11 +137,9 @@ type Phase0BeaconBlock struct {
b *eth.BeaconBlock
}
// WrappedPhase0BeaconBlock is constructor which wraps a protobuf phase 0 object
// wrappedPhase0BeaconBlock is constructor which wraps a protobuf phase 0 object
// with the block wrapper.
//
// Deprecated: Use WrappedBeaconBlock.
func WrappedPhase0BeaconBlock(b *eth.BeaconBlock) interfaces.BeaconBlock {
func wrappedPhase0BeaconBlock(b *eth.BeaconBlock) interfaces.BeaconBlock {
return Phase0BeaconBlock{b: b}
}
@@ -167,7 +165,7 @@ func (w Phase0BeaconBlock) StateRoot() []byte {
// Body returns the underlying block body.
func (w Phase0BeaconBlock) Body() interfaces.BeaconBlockBody {
return WrappedPhase0BeaconBlockBody(w.b.Body)
return wrappedPhase0BeaconBlockBody(w.b.Body)
}
// IsNil checks if the beacon block is nil.
@@ -236,9 +234,9 @@ type Phase0BeaconBlockBody struct {
b *eth.BeaconBlockBody
}
// WrappedPhase0BeaconBlockBody is constructor which wraps a protobuf phase 0 object
// wrappedPhase0BeaconBlockBody is constructor which wraps a protobuf phase 0 object
// with the block wrapper.
func WrappedPhase0BeaconBlockBody(b *eth.BeaconBlockBody) interfaces.BeaconBlockBody {
func wrappedPhase0BeaconBlockBody(b *eth.BeaconBlockBody) interfaces.BeaconBlockBody {
return Phase0BeaconBlockBody{b: b}
}

View File

@@ -137,11 +137,9 @@ type blindedBeaconBlockBellatrix struct {
b *eth.BlindedBeaconBlockBellatrix
}
// WrappedBellatrixBlindedBeaconBlock is a constructor which wraps a protobuf Bellatrix object
// wrappedBellatrixBlindedBeaconBlock is a constructor which wraps a protobuf Bellatrix object
// with the block wrapper.
//
// Deprecated: Use WrappedBeaconBlock.
func WrappedBellatrixBlindedBeaconBlock(b *eth.BlindedBeaconBlockBellatrix) (interfaces.BeaconBlock, error) {
func wrappedBellatrixBlindedBeaconBlock(b *eth.BlindedBeaconBlockBellatrix) (interfaces.BeaconBlock, error) {
w := blindedBeaconBlockBellatrix{b: b}
if w.IsNil() {
return nil, ErrNilObjectWrapped
@@ -240,9 +238,9 @@ type blindedBeaconBlockBodyBellatrix struct {
b *eth.BlindedBeaconBlockBodyBellatrix
}
// WrappedBellatrixBlindedBeaconBlockBody is a constructor which wraps a protobuf bellatrix object
// wrappedBellatrixBlindedBeaconBlockBody is a constructor which wraps a protobuf bellatrix object
// with the block wrapper.
func WrappedBellatrixBlindedBeaconBlockBody(b *eth.BlindedBeaconBlockBodyBellatrix) (interfaces.BeaconBlockBody, error) {
func wrappedBellatrixBlindedBeaconBlockBody(b *eth.BlindedBeaconBlockBodyBellatrix) (interfaces.BeaconBlockBody, error) {
w := blindedBeaconBlockBodyBellatrix{b: b}
if w.IsNil() {
return nil, ErrNilObjectWrapped

View File

@@ -193,7 +193,7 @@ func TestBellatrixBlindedBeaconBlock_Body(t *testing.T) {
}
func TestBellatrixBlindedBeaconBlock_IsNil(t *testing.T) {
_, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(nil)
_, err := wrapper.WrappedBeaconBlockBody(nil)
require.Equal(t, wrapper.ErrNilObjectWrapped, err)
wb, err := wrapper.WrappedBeaconBlock(&ethpb.BlindedBeaconBlockBellatrix{})
@@ -248,7 +248,7 @@ func TestBellatrixBlindedBeaconBlock_Version(t *testing.T) {
func TestBellatrixBlindedBeaconBlockBody_RandaoReveal(t *testing.T) {
root := []byte{0xAA, 0xBF, 0x33, 0x01}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(&ethpb.BlindedBeaconBlockBodyBellatrix{RandaoReveal: root})
wbb, err := wrapper.WrappedBeaconBlockBody(&ethpb.BlindedBeaconBlockBodyBellatrix{RandaoReveal: root})
require.NoError(t, err)
assert.DeepEqual(t, root, wbb.RandaoReveal())
@@ -259,7 +259,7 @@ func TestBellatrixBlindedBeaconBlockBody_Eth1Data(t *testing.T) {
body := &ethpb.BlindedBeaconBlockBodyBellatrix{
Eth1Data: data,
}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.Equal(t, data, wbb.Eth1Data())
}
@@ -267,7 +267,7 @@ func TestBellatrixBlindedBeaconBlockBody_Eth1Data(t *testing.T) {
func TestBellatrixBlindedBeaconBlockBody_Graffiti(t *testing.T) {
graffiti := []byte{0x66, 0xAA}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{Graffiti: graffiti}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, graffiti, wbb.Graffiti())
@@ -280,7 +280,7 @@ func TestBellatrixBlindedBeaconBlockBody_ProposerSlashings(t *testing.T) {
}},
}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{ProposerSlashings: ps}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, ps, wbb.ProposerSlashings())
@@ -291,7 +291,7 @@ func TestBellatrixBlindedBeaconBlockBody_AttesterSlashings(t *testing.T) {
{Attestation_1: &ethpb.IndexedAttestation{Signature: []byte{0x11}}},
}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{AttesterSlashings: as}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, as, wbb.AttesterSlashings())
@@ -301,7 +301,7 @@ func TestBellatrixBlindedBeaconBlockBody_Attestations(t *testing.T) {
atts := []*ethpb.Attestation{{Signature: []byte{0x88}}}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{Attestations: atts}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, atts, wbb.Attestations())
@@ -312,7 +312,7 @@ func TestBellatrixBlindedBeaconBlockBody_Deposits(t *testing.T) {
{Proof: [][]byte{{0x54, 0x10}}},
}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{Deposits: deposits}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, deposits, wbb.Deposits())
@@ -323,24 +323,24 @@ func TestBellatrixBlindedBeaconBlockBody_VoluntaryExits(t *testing.T) {
{Exit: &ethpb.VoluntaryExit{Epoch: 54}},
}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{VoluntaryExits: exits}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.DeepEqual(t, exits, wbb.VoluntaryExits())
}
func TestBellatrixBlindedBeaconBlockBody_IsNil(t *testing.T) {
_, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(nil)
_, err := wrapper.WrappedBeaconBlockBody(nil)
require.Equal(t, wrapper.ErrNilObjectWrapped, err)
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(&ethpb.BlindedBeaconBlockBodyBellatrix{})
wbb, err := wrapper.WrappedBeaconBlockBody(&ethpb.BlindedBeaconBlockBodyBellatrix{})
require.NoError(t, err)
assert.Equal(t, false, wbb.IsNil())
}
func TestBellatrixBlindedBeaconBlockBody_HashTreeRoot(t *testing.T) {
wb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(util.HydrateBlindedBeaconBlockBodyBellatrix(&ethpb.BlindedBeaconBlockBodyBellatrix{}))
wb, err := wrapper.WrappedBeaconBlockBody(util.HydrateBlindedBeaconBlockBodyBellatrix(&ethpb.BlindedBeaconBlockBodyBellatrix{}))
assert.NoError(t, err)
rt, err := wb.HashTreeRoot()
@@ -350,7 +350,7 @@ func TestBellatrixBlindedBeaconBlockBody_HashTreeRoot(t *testing.T) {
func TestBellatrixBlindedBeaconBlockBody_Proto(t *testing.T) {
body := &ethpb.BlindedBeaconBlockBodyBellatrix{Graffiti: []byte{0x66, 0xAA}}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
assert.Equal(t, body, wbb.Proto())
@@ -361,7 +361,7 @@ func TestBellatrixBlindedBeaconBlockBody_ExecutionPayloadHeader(t *testing.T) {
BlockNumber: 100,
}
body := &ethpb.BlindedBeaconBlockBodyBellatrix{ExecutionPayloadHeader: payloads}
wbb, err := wrapper.WrappedBellatrixBlindedBeaconBlockBody(body)
wbb, err := wrapper.WrappedBeaconBlockBody(body)
require.NoError(t, err)
_, err = wbb.ExecutionPayload()