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:
terence tsao
2021-04-05 08:07:56 -07:00
committed by GitHub
parent 3cd95b4a6c
commit 01eb77c834
15 changed files with 43 additions and 36 deletions

View File

@@ -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")
}

View File

@@ -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 "+

View File

@@ -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, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
state1, err := state.GenesisBeaconState(context.Background(), deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
require.NoError(t, err)
state2, err := state.GenesisBeaconState(deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
state2, err := state.GenesisBeaconState(context.Background(), deposits, 0, &ethpb.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, &ethpb.Eth1Data{})
s, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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)
}

View File

@@ -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)
}

View File

@@ -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")

View File

@@ -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, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
beaconState, err := state.GenesisBeaconState(ctx, deposits, 0, &ethpb.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, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
beaconState, err := state.GenesisBeaconState(ctx, deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
require.NoError(t, err)
epoch := types.Epoch(2048)
require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch))))

View File

@@ -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{}

View File

@@ -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{}

View File

@@ -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, &ethpb.Eth1Data{})
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), blockARoot))

View File

@@ -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, &ethpb.Eth1Data{})
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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, &ethpb.Eth1Data{})
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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, &ethpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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, &ethpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
bState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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, &ethpb.Eth1Data{})
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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, &ethpb.Eth1Data{})
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.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, &ethpb.Eth1Data{})
headState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err)
require.NoError(t, headState.SetSlot(tt.args.headSlot))
r := &Service{