mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
ProcessPreGenesisDeposits: Remove context.TODO() usage (#8705)
* ProcessPreGenesisDeposits: Remove context.TODO() usage * apply #8704 change Co-authored-by: Victor Farazdagi <simple.square@gmail.com> Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
@@ -55,7 +55,7 @@ import (
|
||||
// state.compact_committees_roots[index] = committee_root
|
||||
// return state
|
||||
// This method differs from the spec so as to process deposits beforehand instead of the end of the function.
|
||||
func GenesisBeaconState(deposits []*ethpb.Deposit, genesisTime uint64, eth1Data *ethpb.Eth1Data) (iface.BeaconState, error) {
|
||||
func GenesisBeaconState(ctx context.Context, deposits []*ethpb.Deposit, genesisTime uint64, eth1Data *ethpb.Eth1Data) (iface.BeaconState, error) {
|
||||
state, err := EmptyGenesisState()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -67,7 +67,7 @@ func GenesisBeaconState(deposits []*ethpb.Deposit, genesisTime uint64, eth1Data
|
||||
return nil, err
|
||||
}
|
||||
|
||||
state, err = b.ProcessPreGenesisDeposits(context.TODO(), state, deposits)
|
||||
state, err = b.ProcessPreGenesisDeposits(ctx, state, deposits)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "could not process validator deposits")
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package state
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
fuzz "github.com/google/gofuzz"
|
||||
@@ -20,7 +21,7 @@ func TestGenesisBeaconState_1000(t *testing.T) {
|
||||
fuzzer.Fuzz(&deposits)
|
||||
fuzzer.Fuzz(&genesisTime)
|
||||
fuzzer.Fuzz(eth1Data)
|
||||
gs, err := GenesisBeaconState(deposits, genesisTime, eth1Data)
|
||||
gs, err := GenesisBeaconState(context.Background(), deposits, genesisTime, eth1Data)
|
||||
if err != nil {
|
||||
if gs != nil {
|
||||
t.Fatalf("Genesis state should be nil on err. found: %v on error: %v for inputs deposit: %v "+
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package state_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/gogo/protobuf/proto"
|
||||
@@ -36,7 +37,7 @@ func TestGenesisBeaconState_OK(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(t, err)
|
||||
newState, err := state.GenesisBeaconState(deposits, genesisTime, eth1Data)
|
||||
newState, err := state.GenesisBeaconState(context.Background(), deposits, genesisTime, eth1Data)
|
||||
require.NoError(t, err, "Could not execute GenesisBeaconState")
|
||||
|
||||
// Misc fields checks.
|
||||
@@ -93,9 +94,9 @@ func TestGenesisBeaconState_OK(t *testing.T) {
|
||||
func TestGenesisState_HashEquality(t *testing.T) {
|
||||
deposits, _, err := testutil.DeterministicDepositsAndKeys(100)
|
||||
require.NoError(t, err)
|
||||
state1, err := state.GenesisBeaconState(deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
state1, err := state.GenesisBeaconState(context.Background(), deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
require.NoError(t, err)
|
||||
state2, err := state.GenesisBeaconState(deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
state2, err := state.GenesisBeaconState(context.Background(), deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
require.NoError(t, err)
|
||||
|
||||
pbState1, err := stateV0.ProtobufBeaconState(state1.CloneInnerState())
|
||||
@@ -113,7 +114,7 @@ func TestGenesisState_HashEquality(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGenesisState_InitializesLatestBlockHashes(t *testing.T) {
|
||||
s, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
s, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
got, want := uint64(len(s.BlockRoots())), uint64(params.BeaconConfig().SlotsPerHistoricalRoot)
|
||||
assert.Equal(t, want, got, "Wrong number of recent block hashes")
|
||||
@@ -127,6 +128,6 @@ func TestGenesisState_InitializesLatestBlockHashes(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGenesisState_FailsWithoutEth1data(t *testing.T) {
|
||||
_, err := state.GenesisBeaconState(nil, 0, nil)
|
||||
_, err := state.GenesisBeaconState(context.Background(), nil, 0, nil)
|
||||
assert.ErrorContains(t, "no eth1data provided for genesis state", err)
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ func NewService(ctx context.Context, cfg *Config) *Service {
|
||||
}
|
||||
|
||||
// Save genesis state in db
|
||||
genesisState, _, err := interop.GenerateGenesisState(s.cfg.GenesisTime, s.cfg.NumValidators)
|
||||
genesisState, _, err := interop.GenerateGenesisState(ctx, s.cfg.GenesisTime, s.cfg.NumValidators)
|
||||
if err != nil {
|
||||
log.Fatalf("Could not generate interop genesis state: %v", err)
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ func TestGetDuties_OK(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(t, err)
|
||||
bs, err := state.GenesisBeaconState(deposits, 0, eth1Data)
|
||||
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
|
||||
require.NoError(t, err, "Could not setup genesis bs")
|
||||
genesisRoot, err := genesis.Block.HashTreeRoot()
|
||||
require.NoError(t, err, "Could not get signing root")
|
||||
@@ -125,7 +125,7 @@ func TestGetDuties_CurrentEpoch_ShouldNotFail(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(t, err)
|
||||
bState, err := state.GenesisBeaconState(deposits, 0, eth1Data)
|
||||
bState, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
|
||||
require.NoError(t, err, "Could not setup genesis state")
|
||||
// Set state to non-epoch start slot.
|
||||
require.NoError(t, bState.SetSlot(5))
|
||||
@@ -169,7 +169,7 @@ func TestGetDuties_MultipleKeys_OK(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(t, err)
|
||||
bs, err := state.GenesisBeaconState(deposits, 0, eth1Data)
|
||||
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
|
||||
require.NoError(t, err, "Could not setup genesis bs")
|
||||
genesisRoot, err := genesis.Block.HashTreeRoot()
|
||||
require.NoError(t, err, "Could not get signing root")
|
||||
@@ -232,7 +232,7 @@ func TestStreamDuties_OK(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(t, err)
|
||||
bs, err := state.GenesisBeaconState(deposits, 0, eth1Data)
|
||||
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
|
||||
require.NoError(t, err, "Could not setup genesis bs")
|
||||
genesisRoot, err := genesis.Block.HashTreeRoot()
|
||||
require.NoError(t, err, "Could not get signing root")
|
||||
@@ -292,7 +292,7 @@ func TestStreamDuties_OK_ChainReorg(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(t, err)
|
||||
bs, err := state.GenesisBeaconState(deposits, 0, eth1Data)
|
||||
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
|
||||
require.NoError(t, err, "Could not setup genesis bs")
|
||||
genesisRoot, err := genesis.Block.HashTreeRoot()
|
||||
require.NoError(t, err, "Could not get signing root")
|
||||
@@ -384,7 +384,7 @@ func BenchmarkCommitteeAssignment(b *testing.B) {
|
||||
require.NoError(b, err)
|
||||
eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
|
||||
require.NoError(b, err)
|
||||
bs, err := state.GenesisBeaconState(deposits, 0, eth1Data)
|
||||
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
|
||||
require.NoError(b, err, "Could not setup genesis bs")
|
||||
genesisRoot, err := genesis.Block.HashTreeRoot()
|
||||
require.NoError(b, err, "Could not get signing root")
|
||||
|
||||
@@ -29,7 +29,7 @@ func TestProposeExit_Notification(t *testing.T) {
|
||||
testutil.ResetCache()
|
||||
deposits, keys, err := testutil.DeterministicDepositsAndKeys(params.BeaconConfig().MinGenesisActiveValidatorCount)
|
||||
require.NoError(t, err)
|
||||
beaconState, err := state.GenesisBeaconState(deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
beaconState, err := state.GenesisBeaconState(ctx, deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
require.NoError(t, err)
|
||||
epoch := types.Epoch(2048)
|
||||
require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch))))
|
||||
@@ -100,7 +100,7 @@ func TestProposeExit_NoPanic(t *testing.T) {
|
||||
testutil.ResetCache()
|
||||
deposits, keys, err := testutil.DeterministicDepositsAndKeys(params.BeaconConfig().MinGenesisActiveValidatorCount)
|
||||
require.NoError(t, err)
|
||||
beaconState, err := state.GenesisBeaconState(deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
beaconState, err := state.GenesisBeaconState(ctx, deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||
require.NoError(t, err)
|
||||
epoch := types.Epoch(2048)
|
||||
require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch))))
|
||||
|
||||
@@ -52,7 +52,7 @@ func TestBeaconState_ProtoBeaconStateCompatibility(t *testing.T) {
|
||||
}
|
||||
|
||||
func setupGenesisState(tb testing.TB, count uint64) *pb.BeaconState {
|
||||
genesisState, _, err := interop.GenerateGenesisState(0, count)
|
||||
genesisState, _, err := interop.GenerateGenesisState(context.Background(), 0, count)
|
||||
require.NoError(tb, err, "Could not generate genesis beacon state")
|
||||
for i := uint64(1); i < count; i++ {
|
||||
someRoot := [32]byte{}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package stateutil_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -58,7 +59,7 @@ func BenchmarkHashTreeRoot_Generic_300000(b *testing.B) {
|
||||
}
|
||||
|
||||
func setupGenesisState(tb testing.TB, count uint64) *pb.BeaconState {
|
||||
genesisState, _, err := interop.GenerateGenesisState(0, 1)
|
||||
genesisState, _, err := interop.GenerateGenesisState(context.Background(), 0, 1)
|
||||
require.NoError(tb, err, "Could not generate genesis beacon state")
|
||||
for i := uint64(1); i < count; i++ {
|
||||
someRoot := [32]byte{}
|
||||
|
||||
@@ -84,7 +84,7 @@ func TestRecentBeaconBlocks_RPCRequestSent(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
blockBRoot, err := blockB.Block.HashTreeRoot()
|
||||
require.NoError(t, err)
|
||||
genesisState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, genesisState.SetSlot(111))
|
||||
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), blockARoot))
|
||||
|
||||
@@ -171,7 +171,7 @@ func TestStatusRPCHandler_ReturnsHelloMessage(t *testing.T) {
|
||||
finalized.Block.Slot = blkSlot
|
||||
finalizedRoot, err := finalized.Block.HashTreeRoot()
|
||||
require.NoError(t, err)
|
||||
genesisState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, genesisState.SetSlot(111))
|
||||
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
|
||||
@@ -394,7 +394,7 @@ func TestStatusRPCRequest_RequestSent(t *testing.T) {
|
||||
finalized.Block.Slot = 40
|
||||
finalizedRoot, err := finalized.Block.HashTreeRoot()
|
||||
require.NoError(t, err)
|
||||
genesisState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, genesisState.SetSlot(111))
|
||||
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
|
||||
@@ -471,7 +471,7 @@ func TestStatusRPCRequest_FinalizedBlockExists(t *testing.T) {
|
||||
finalized.Block.Slot = blkSlot
|
||||
finalizedRoot, err := finalized.Block.HashTreeRoot()
|
||||
require.NoError(t, err)
|
||||
genesisState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
|
||||
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, genesisState.SetSlot(111))
|
||||
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
|
||||
@@ -550,7 +550,7 @@ func TestStatusRPCRequest_FinalizedBlockExists(t *testing.T) {
|
||||
func TestStatusRPCRequest_FinalizedBlockSkippedSlots(t *testing.T) {
|
||||
db, err := kv.NewKVStore(context.Background(), t.TempDir(), &kv.Config{})
|
||||
require.NoError(t, err)
|
||||
bState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
|
||||
bState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
|
||||
require.NoError(t, err)
|
||||
|
||||
blk := testutil.NewBeaconBlock()
|
||||
@@ -736,7 +736,7 @@ func TestStatusRPCRequest_BadPeerHandshake(t *testing.T) {
|
||||
finalized := testutil.NewBeaconBlock()
|
||||
finalizedRoot, err := finalized.Block.HashTreeRoot()
|
||||
require.NoError(t, err)
|
||||
genesisState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, genesisState.SetSlot(111))
|
||||
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
|
||||
@@ -817,7 +817,7 @@ func TestStatusRPC_ValidGenesisMessage(t *testing.T) {
|
||||
finalized.Block.Slot = blkSlot
|
||||
finalizedRoot, err := finalized.Block.HashTreeRoot()
|
||||
require.NoError(t, err)
|
||||
genesisState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, genesisState.SetSlot(111))
|
||||
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
|
||||
@@ -904,7 +904,7 @@ func TestShouldResync(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
headState, err := state.GenesisBeaconState(nil, 0, ðpb.Eth1Data{})
|
||||
headState, err := state.GenesisBeaconState(context.Background(), nil, 0, ðpb.Eth1Data{})
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, headState.SetSlot(tt.args.headSlot))
|
||||
r := &Service{
|
||||
|
||||
Reference in New Issue
Block a user