package state_native import ( "testing" "github.com/prysmaticlabs/prysm/v3/beacon-chain/state" testtmpl "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/testing" ethpb "github.com/prysmaticlabs/prysm/v3/proto/prysm/v1alpha1" ) func TestBeaconState_LatestBlockHeader_Phase0(t *testing.T) { testtmpl.VerifyBeaconStateLatestBlockHeader( t, func() (state.BeaconState, error) { return InitializeFromProtoPhase0(ðpb.BeaconState{}) }, func(BH *ethpb.BeaconBlockHeader) (state.BeaconState, error) { return InitializeFromProtoPhase0(ðpb.BeaconState{LatestBlockHeader: BH}) }, ) } func TestBeaconState_LatestBlockHeader_Altair(t *testing.T) { testtmpl.VerifyBeaconStateLatestBlockHeader( t, func() (state.BeaconState, error) { return InitializeFromProtoAltair(ðpb.BeaconStateAltair{}) }, func(BH *ethpb.BeaconBlockHeader) (state.BeaconState, error) { return InitializeFromProtoAltair(ðpb.BeaconStateAltair{LatestBlockHeader: BH}) }, ) } func TestBeaconState_LatestBlockHeader_Bellatrix(t *testing.T) { testtmpl.VerifyBeaconStateLatestBlockHeader( t, func() (state.BeaconState, error) { return InitializeFromProtoBellatrix(ðpb.BeaconStateBellatrix{}) }, func(BH *ethpb.BeaconBlockHeader) (state.BeaconState, error) { return InitializeFromProtoBellatrix(ðpb.BeaconStateBellatrix{LatestBlockHeader: BH}) }, ) } func TestBeaconState_LatestBlockHeader_Capella(t *testing.T) { testtmpl.VerifyBeaconStateLatestBlockHeader( t, func() (state.BeaconState, error) { return InitializeFromProtoCapella(ðpb.BeaconStateCapella{}) }, func(BH *ethpb.BeaconBlockHeader) (state.BeaconState, error) { return InitializeFromProtoCapella(ðpb.BeaconStateCapella{LatestBlockHeader: BH}) }, ) } func TestBeaconState_BlockRoots_Phase0(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootsNative( t, func() (state.BeaconState, error) { return InitializeFromProtoPhase0(ðpb.BeaconState{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoPhase0(ðpb.BeaconState{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRoots_Altair(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootsNative( t, func() (state.BeaconState, error) { return InitializeFromProtoAltair(ðpb.BeaconStateAltair{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoAltair(ðpb.BeaconStateAltair{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRoots_Bellatrix(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootsNative( t, func() (state.BeaconState, error) { return InitializeFromProtoBellatrix(ðpb.BeaconStateBellatrix{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoBellatrix(ðpb.BeaconStateBellatrix{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRoots_Capella(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootsNative( t, func() (state.BeaconState, error) { return InitializeFromProtoCapella(ðpb.BeaconStateCapella{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoCapella(ðpb.BeaconStateCapella{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRootAtIndex_Phase0(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootAtIndexNative( t, func() (state.BeaconState, error) { return InitializeFromProtoPhase0(ðpb.BeaconState{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoPhase0(ðpb.BeaconState{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRootAtIndex_Altair(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootAtIndexNative( t, func() (state.BeaconState, error) { return InitializeFromProtoAltair(ðpb.BeaconStateAltair{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoAltair(ðpb.BeaconStateAltair{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRootAtIndex_Bellatrix(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootAtIndexNative( t, func() (state.BeaconState, error) { return InitializeFromProtoBellatrix(ðpb.BeaconStateBellatrix{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoBellatrix(ðpb.BeaconStateBellatrix{BlockRoots: BR}) }, ) } func TestBeaconState_BlockRootAtIndex_Capella(t *testing.T) { testtmpl.VerifyBeaconStateBlockRootAtIndexNative( t, func() (state.BeaconState, error) { return InitializeFromProtoCapella(ðpb.BeaconStateCapella{}) }, func(BR [][]byte) (state.BeaconState, error) { return InitializeFromProtoCapella(ðpb.BeaconStateCapella{BlockRoots: BR}) }, ) }