From 9be8a456eb5dc4963f10a114238e12b0b5f705c7 Mon Sep 17 00:00:00 2001 From: Preston Van Loon Date: Mon, 4 May 2020 21:30:24 -0700 Subject: [PATCH] Use stateutil.BlockRoot everywhere (#5739) * Sweeping replace of ssz.HashTreeRoot(block) to stateutil.BlockRoot, minor tweaks to critical path of proposeBlock * imports * Merge branch 'master' into better-block-htr * Add --enable-custom-block-htr to e2e flags * Merge branch 'better-block-htr' of github.com:prysmaticlabs/prysm into better-block-htr --- beacon-chain/blockchain/chain_info.go | 4 +-- beacon-chain/blockchain/head_test.go | 4 +-- .../init_sync_process_block_test.go | 7 ++-- .../blockchain/process_attestation_test.go | 12 +++---- .../blockchain/process_block_helpers.go | 3 +- beacon-chain/blockchain/process_block_test.go | 29 ++++++++-------- beacon-chain/blockchain/receive_block.go | 3 +- beacon-chain/blockchain/service.go | 8 ++--- beacon-chain/blockchain/service_test.go | 15 +++++---- beacon-chain/blockchain/testing/BUILD.bazel | 2 +- beacon-chain/blockchain/testing/mock.go | 4 +-- beacon-chain/core/helpers/slot_epoch_test.go | 17 +++++----- beacon-chain/core/state/transition_test.go | 4 +-- beacon-chain/db/kv/BUILD.bazel | 1 + beacon-chain/db/kv/backup_test.go | 4 +-- beacon-chain/db/kv/blocks_test.go | 18 +++++----- beacon-chain/db/kv/checkpoint_test.go | 4 +-- .../db/kv/finalized_block_roots_test.go | 12 +++---- beacon-chain/db/kv/regen_historical_states.go | 6 ++-- beacon-chain/db/kv/state_test.go | 22 ++++++------- beacon-chain/interop-cold-start/BUILD.bazel | 1 + beacon-chain/interop-cold-start/service.go | 3 +- beacon-chain/powchain/log_processing_test.go | 2 +- beacon-chain/rpc/beacon/BUILD.bazel | 1 + beacon-chain/rpc/beacon/assignments_test.go | 5 +-- beacon-chain/rpc/beacon/attestations_test.go | 6 ++-- beacon-chain/rpc/beacon/blocks.go | 9 +++-- beacon-chain/rpc/beacon/blocks_test.go | 26 +++++++-------- beacon-chain/rpc/beacon/committees_test.go | 10 +++--- beacon-chain/rpc/beacon/slashings_test.go | 4 +-- beacon-chain/rpc/beacon/state_test.go | 4 +-- beacon-chain/rpc/beacon/validators_test.go | 19 ++++++----- .../beacon_node_validator_service_mock.go | 3 +- beacon-chain/rpc/validator/BUILD.bazel | 2 ++ beacon-chain/rpc/validator/assignments.go | 2 +- .../rpc/validator/assignments_test.go | 12 +++---- beacon-chain/rpc/validator/attester_test.go | 27 +++++++-------- beacon-chain/rpc/validator/exit_test.go | 6 ++-- beacon-chain/rpc/validator/proposer.go | 33 +++++++++++++------ beacon-chain/rpc/validator/proposer_test.go | 13 ++++---- beacon-chain/rpc/validator/server_test.go | 8 ++--- beacon-chain/rpc/validator/status_test.go | 20 +++++------ beacon-chain/state/stategen/BUILD.bazel | 3 +- beacon-chain/state/stategen/cold_test.go | 6 ++-- beacon-chain/state/stategen/getter_test.go | 12 +++---- beacon-chain/state/stategen/hot_test.go | 9 ++--- beacon-chain/state/stategen/migrate_test.go | 6 ++-- beacon-chain/state/stategen/replay.go | 6 ++-- beacon-chain/state/stategen/replay_test.go | 17 +++++----- beacon-chain/state/stateutil/BUILD.bazel | 1 + .../state/stateutil/benchmark_test.go | 3 +- beacon-chain/state/stateutil/blocks_test.go | 5 ++- .../sync/initial-sync-old/BUILD.bazel | 2 +- .../sync/initial-sync-old/round_robin_test.go | 10 +++--- beacon-chain/sync/initial-sync/BUILD.bazel | 2 +- .../sync/initial-sync/round_robin_test.go | 8 ++--- .../sync/pending_attestations_queue_test.go | 8 ++--- beacon-chain/sync/pending_blocks_queue.go | 8 ++--- .../sync/pending_blocks_queue_test.go | 15 +++++---- .../sync/rpc_beacon_blocks_by_root.go | 4 +-- .../sync/rpc_beacon_blocks_by_root_test.go | 5 +-- ...committee_index_beacon_attestation_test.go | 4 +-- .../sync/validate_aggregate_proof_test.go | 10 +++--- beacon-chain/sync/validate_beacon_blocks.go | 4 +-- .../sync/validate_beacon_blocks_test.go | 8 ++--- ...committee_index_beacon_attestation_test.go | 4 +-- shared/featureconfig/flags.go | 1 + tools/analyzers/featureconfig/analyzer.go | 9 ++--- tools/blocktree/BUILD.bazel | 2 +- tools/blocktree/main.go | 6 ++-- validator/client/validator_propose_test.go | 10 +++--- .../beacon_node_validator_service_mock.go | 3 +- 72 files changed, 310 insertions(+), 276 deletions(-) diff --git a/beacon-chain/blockchain/chain_info.go b/beacon-chain/blockchain/chain_info.go index aad74cbabbac..c170b9742fcf 100644 --- a/beacon-chain/blockchain/chain_info.go +++ b/beacon-chain/blockchain/chain_info.go @@ -6,10 +6,10 @@ import ( "time" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/epoch/precompute" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" @@ -134,7 +134,7 @@ func (s *Service) HeadRoot(ctx context.Context) ([]byte, error) { return params.BeaconConfig().ZeroHash[:], nil } - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { return nil, err } diff --git a/beacon-chain/blockchain/head_test.go b/beacon-chain/blockchain/head_test.go index 0f0cb8edb907..a9028cf15abe 100644 --- a/beacon-chain/blockchain/head_test.go +++ b/beacon-chain/blockchain/head_test.go @@ -7,8 +7,8 @@ import ( "testing" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/testutil" ) @@ -46,7 +46,7 @@ func TestSaveHead_Different(t *testing.T) { if err := service.beaconDB.SaveBlock(context.Background(), newHeadSignedBlock); err != nil { t.Fatal(err) } - newRoot, err := ssz.HashTreeRoot(newHeadBlock) + newRoot, err := stateutil.BlockRoot(newHeadBlock) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/blockchain/init_sync_process_block_test.go b/beacon-chain/blockchain/init_sync_process_block_test.go index f8dfd60ccb63..3fefc2d20465 100644 --- a/beacon-chain/blockchain/init_sync_process_block_test.go +++ b/beacon-chain/blockchain/init_sync_process_block_test.go @@ -13,6 +13,7 @@ import ( testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" @@ -242,7 +243,7 @@ func TestGenerateState_CorrectlyGenerated(t *testing.T) { beaconState, privs := testutil.DeterministicGenesisState(t, 32) genesisBlock := blocks.NewGenesisBlock([]byte{}) - bodyRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + bodyRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -272,7 +273,7 @@ func TestGenerateState_CorrectlyGenerated(t *testing.T) { if err != nil { t.Fatal(err) } - genRoot, err := ssz.HashTreeRoot(genesisBlock) + genRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -297,7 +298,7 @@ func TestGenerateState_CorrectlyGenerated(t *testing.T) { } lastBlock = block } - root, err := ssz.HashTreeRoot(lastBlock.Block) + root, err := stateutil.BlockRoot(lastBlock.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/blockchain/process_attestation_test.go b/beacon-chain/blockchain/process_attestation_test.go index 3a1089df7951..8e3b1f7b00f7 100644 --- a/beacon-chain/blockchain/process_attestation_test.go +++ b/beacon-chain/blockchain/process_attestation_test.go @@ -7,7 +7,6 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/state" @@ -15,6 +14,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" @@ -44,7 +44,7 @@ func TestStore_OnAttestation(t *testing.T) { if err := db.SaveBlock(ctx, BlkWithOutState); err != nil { t.Fatal(err) } - BlkWithOutStateRoot, err := ssz.HashTreeRoot(BlkWithOutState.Block) + BlkWithOutStateRoot, err := stateutil.BlockRoot(BlkWithOutState.Block) if err != nil { t.Fatal(err) } @@ -53,7 +53,7 @@ func TestStore_OnAttestation(t *testing.T) { if err := db.SaveBlock(ctx, BlkWithStateBadAtt); err != nil { t.Fatal(err) } - BlkWithStateBadAttRoot, err := ssz.HashTreeRoot(BlkWithStateBadAtt.Block) + BlkWithStateBadAttRoot, err := stateutil.BlockRoot(BlkWithStateBadAtt.Block) if err != nil { t.Fatal(err) } @@ -71,7 +71,7 @@ func TestStore_OnAttestation(t *testing.T) { t.Fatal(err) } - BlkWithValidStateRoot, err := ssz.HashTreeRoot(BlkWithValidState.Block) + BlkWithValidStateRoot, err := stateutil.BlockRoot(BlkWithValidState.Block) if err != nil { t.Fatal(err) } @@ -432,7 +432,7 @@ func TestVerifyBeaconBlock_futureBlock(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -458,7 +458,7 @@ func TestVerifyBeaconBlock_OK(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/blockchain/process_block_helpers.go b/beacon-chain/blockchain/process_block_helpers.go index 7a793c1e3e74..319fb70c3eb7 100644 --- a/beacon-chain/blockchain/process_block_helpers.go +++ b/beacon-chain/blockchain/process_block_helpers.go @@ -11,6 +11,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/db/filters" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/params" @@ -348,7 +349,7 @@ func (s *Service) filterBlockRoots(ctx context.Context, roots [][32]byte) ([][32 if err != nil { return nil, err } - hRoot, err := ssz.HashTreeRoot(h.Block) + hRoot, err := stateutil.BlockRoot(h.Block) if err != nil { return nil, err } diff --git a/beacon-chain/blockchain/process_block_test.go b/beacon-chain/blockchain/process_block_test.go index 72f759832838..c5349f8c751d 100644 --- a/beacon-chain/blockchain/process_block_test.go +++ b/beacon-chain/blockchain/process_block_test.go @@ -17,6 +17,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" @@ -43,7 +44,7 @@ func TestStore_OnBlock(t *testing.T) { if err := db.SaveBlock(ctx, genesis); err != nil { t.Error(err) } - validGenesisRoot, err := ssz.HashTreeRoot(genesis.Block) + validGenesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Error(err) } @@ -59,7 +60,7 @@ func TestStore_OnBlock(t *testing.T) { if err := db.SaveBlock(ctx, random); err != nil { t.Error(err) } - randomParentRoot, err := ssz.HashTreeRoot(random.Block) + randomParentRoot, err := stateutil.BlockRoot(random.Block) if err != nil { t.Error(err) } @@ -148,7 +149,7 @@ func TestRemoveStateSinceLastFinalized(t *testing.T) { Slot: uint64(i), }, } - r, err := ssz.HashTreeRoot(totalBlocks[i].Block) + r, err := stateutil.BlockRoot(totalBlocks[i].Block) if err != nil { t.Fatal(err) } @@ -227,12 +228,12 @@ func TestRemoveStateSinceLastFinalized_EmptyStartSlot(t *testing.T) { } lastJustifiedBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{ParentRoot: []byte{'G'}}} - lastJustifiedRoot, err := ssz.HashTreeRoot(lastJustifiedBlk.Block) + lastJustifiedRoot, err := stateutil.BlockRoot(lastJustifiedBlk.Block) if err != nil { t.Fatal(err) } newJustifiedBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1, ParentRoot: lastJustifiedRoot[:]}} - newJustifiedRoot, err := ssz.HashTreeRoot(newJustifiedBlk.Block) + newJustifiedRoot, err := stateutil.BlockRoot(newJustifiedBlk.Block) if err != nil { t.Fatal(err) } @@ -267,12 +268,12 @@ func TestShouldUpdateJustified_ReturnFalse(t *testing.T) { t.Fatal(err) } lastJustifiedBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{ParentRoot: []byte{'G'}}} - lastJustifiedRoot, err := ssz.HashTreeRoot(lastJustifiedBlk.Block) + lastJustifiedRoot, err := stateutil.BlockRoot(lastJustifiedBlk.Block) if err != nil { t.Fatal(err) } newJustifiedBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{ParentRoot: lastJustifiedRoot[:]}} - newJustifiedRoot, err := ssz.HashTreeRoot(newJustifiedBlk.Block) + newJustifiedRoot, err := stateutil.BlockRoot(newJustifiedBlk.Block) if err != nil { t.Fatal(err) } @@ -440,7 +441,7 @@ func TestUpdateJustified_CouldUpdateBest(t *testing.T) { if err := db.SaveBlock(ctx, signedBlock); err != nil { t.Fatal(err) } - r, err := ssz.HashTreeRoot(signedBlock.Block) + r, err := stateutil.BlockRoot(signedBlock.Block) if err != nil { t.Fatal(err) } @@ -487,12 +488,12 @@ func TestFilterBlockRoots_CanFilter(t *testing.T) { } fBlock := ðpb.BeaconBlock{} - fRoot, err := ssz.HashTreeRoot(fBlock) + fRoot, err := stateutil.BlockRoot(fBlock) if err != nil { t.Fatal(err) } hBlock := ðpb.BeaconBlock{Slot: 1} - headRoot, err := ssz.HashTreeRoot(hBlock) + headRoot, err := stateutil.BlockRoot(hBlock) if err != nil { t.Fatal(err) } @@ -587,7 +588,7 @@ func TestFillForkChoiceMissingBlocks_CanSave(t *testing.T) { if err := db.SaveBlock(ctx, genesis); err != nil { t.Error(err) } - validGenesisRoot, err := ssz.HashTreeRoot(genesis.Block) + validGenesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Error(err) } @@ -641,7 +642,7 @@ func TestFillForkChoiceMissingBlocks_FilterFinalized(t *testing.T) { if err := db.SaveBlock(ctx, genesis); err != nil { t.Error(err) } - validGenesisRoot, err := ssz.HashTreeRoot(genesis.Block) + validGenesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Error(err) } @@ -656,7 +657,7 @@ func TestFillForkChoiceMissingBlocks_FilterFinalized(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b63); err != nil { t.Fatal(err) } - r63, err := ssz.HashTreeRoot(b63.Block) + r63, err := stateutil.BlockRoot(b63.Block) if err != nil { t.Fatal(err) } @@ -664,7 +665,7 @@ func TestFillForkChoiceMissingBlocks_FilterFinalized(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b64); err != nil { t.Fatal(err) } - r64, err := ssz.HashTreeRoot(b64.Block) + r64, err := stateutil.BlockRoot(b64.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/blockchain/receive_block.go b/beacon-chain/blockchain/receive_block.go index ccb40234aaa8..79203b1e8475 100644 --- a/beacon-chain/blockchain/receive_block.go +++ b/beacon-chain/blockchain/receive_block.go @@ -7,7 +7,6 @@ import ( "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/epoch/precompute" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" @@ -39,7 +38,7 @@ func (s *Service) ReceiveBlock(ctx context.Context, block *ethpb.SignedBeaconBlo ctx, span := trace.StartSpan(ctx, "beacon-chain.blockchain.ReceiveBlock") defer span.End() - root, err := ssz.HashTreeRoot(block.Block) + root, err := stateutil.BlockRoot(block.Block) if err != nil { return errors.Wrap(err, "could not get signing root on received block") } diff --git a/beacon-chain/blockchain/service.go b/beacon-chain/blockchain/service.go index d14ac5469d78..a072ae03208c 100644 --- a/beacon-chain/blockchain/service.go +++ b/beacon-chain/blockchain/service.go @@ -12,7 +12,6 @@ import ( "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" @@ -33,6 +32,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/powchain" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" @@ -319,7 +319,7 @@ func (s *Service) saveGenesisData(ctx context.Context, genesisState *stateTrie.B return err } genesisBlk := blocks.NewGenesisBlock(stateRoot[:]) - genesisBlkRoot, err := ssz.HashTreeRoot(genesisBlk.Block) + genesisBlkRoot, err := stateutil.BlockRoot(genesisBlk.Block) if err != nil { return errors.Wrap(err, "could not get genesis block root") } @@ -381,7 +381,7 @@ func (s *Service) initializeChainInfo(ctx context.Context) error { if genesisBlock == nil { return errors.New("no genesis block in db") } - genesisBlkRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + genesisBlkRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { return errors.Wrap(err, "could not get signing root of genesis block") } @@ -392,7 +392,7 @@ func (s *Service) initializeChainInfo(ctx context.Context) error { if err != nil { return errors.Wrap(err, "could not retrieve head block") } - headRoot, err := ssz.HashTreeRoot(headBlock.Block) + headRoot, err := stateutil.BlockRoot(headBlock.Block) if err != nil { return errors.Wrap(err, "could not hash head block") } diff --git a/beacon-chain/blockchain/service_test.go b/beacon-chain/blockchain/service_test.go index d7bab663f4e1..ff672562fced 100644 --- a/beacon-chain/blockchain/service_test.go +++ b/beacon-chain/blockchain/service_test.go @@ -28,6 +28,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/powchain" beaconstate "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" protodb "github.com/prysmaticlabs/prysm/proto/beacon/db" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/event" @@ -222,7 +223,7 @@ func TestChainStartStop_Initialized(t *testing.T) { chainService := setupBeaconChain(t, db) genesisBlk := b.NewGenesisBlock([]byte{}) - blkRoot, err := ssz.HashTreeRoot(genesisBlk.Block) + blkRoot, err := stateutil.BlockRoot(genesisBlk.Block) if err != nil { t.Fatal(err) } @@ -319,7 +320,7 @@ func TestChainService_InitializeChainInfo(t *testing.T) { ctx := context.Background() genesis := b.NewGenesisBlock([]byte{}) - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatal(err) } @@ -339,7 +340,7 @@ func TestChainService_InitializeChainInfo(t *testing.T) { if err := headState.SetGenesisValidatorRoot(params.BeaconConfig().ZeroHash[:]); err != nil { t.Fatal(err) } - headRoot, err := ssz.HashTreeRoot(headBlock.Block) + headRoot, err := stateutil.BlockRoot(headBlock.Block) if err != nil { t.Fatal(err) } @@ -436,7 +437,7 @@ func TestChainService_PruneOldStates(t *testing.T) { if err := s.beaconDB.SaveBlock(ctx, ðpb.SignedBeaconBlock{Block: block}); err != nil { t.Fatal(err) } - r, err := ssz.HashTreeRoot(block) + r, err := stateutil.BlockRoot(block) if err != nil { t.Fatal(err) } @@ -480,7 +481,7 @@ func TestHasBlock_ForkChoiceAndDB(t *testing.T) { beaconDB: db, } block := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Body: ðpb.BeaconBlockBody{}}} - r, err := ssz.HashTreeRoot(block.Block) + r, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatal(err) } @@ -512,7 +513,7 @@ func BenchmarkHasBlockDB(b *testing.B) { if err := s.beaconDB.SaveBlock(ctx, block); err != nil { b.Fatal(err) } - r, err := ssz.HashTreeRoot(block.Block) + r, err := stateutil.BlockRoot(block.Block) if err != nil { b.Fatal(err) } @@ -534,7 +535,7 @@ func BenchmarkHasBlockForkChoiceStore(b *testing.B) { beaconDB: db, } block := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Body: ðpb.BeaconBlockBody{}}} - r, err := ssz.HashTreeRoot(block.Block) + r, err := stateutil.BlockRoot(block.Block) if err != nil { b.Fatal(err) } diff --git a/beacon-chain/blockchain/testing/BUILD.bazel b/beacon-chain/blockchain/testing/BUILD.bazel index d6fb2f107248..1e5eb575cab4 100644 --- a/beacon-chain/blockchain/testing/BUILD.bazel +++ b/beacon-chain/blockchain/testing/BUILD.bazel @@ -14,12 +14,12 @@ go_library( "//beacon-chain/core/helpers:go_default_library", "//beacon-chain/db:go_default_library", "//beacon-chain/state:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//shared/event:go_default_library", "//shared/params:go_default_library", "@com_github_pkg_errors//:go_default_library", "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", - "@com_github_prysmaticlabs_go_ssz//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", ], ) diff --git a/beacon-chain/blockchain/testing/mock.go b/beacon-chain/blockchain/testing/mock.go index d8d83e9dadda..a6929997f103 100644 --- a/beacon-chain/blockchain/testing/mock.go +++ b/beacon-chain/blockchain/testing/mock.go @@ -9,7 +9,6 @@ import ( "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/epoch/precompute" blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block" opfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation" @@ -17,6 +16,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/db" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/event" "github.com/prysmaticlabs/prysm/shared/params" @@ -133,7 +133,7 @@ func (ms *ChainService) ReceiveBlockNoPubsubForkchoice(ctx context.Context, bloc return err } ms.BlocksReceived = append(ms.BlocksReceived, block) - signingRoot, err := ssz.HashTreeRoot(block.Block) + signingRoot, err := stateutil.BlockRoot(block.Block) if err != nil { return err } diff --git a/beacon-chain/core/helpers/slot_epoch_test.go b/beacon-chain/core/helpers/slot_epoch_test.go index 84695f50ebb4..024d47827835 100644 --- a/beacon-chain/core/helpers/slot_epoch_test.go +++ b/beacon-chain/core/helpers/slot_epoch_test.go @@ -1,12 +1,13 @@ package helpers import ( - "github.com/prysmaticlabs/prysm/shared/roughtime" "math" "reflect" "testing" "time" + "github.com/prysmaticlabs/prysm/shared/roughtime" + beaconstate "github.com/prysmaticlabs/prysm/beacon-chain/state" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/params" @@ -211,9 +212,9 @@ func TestSlotToTime(t *testing.T) { slot uint64 } tests := []struct { - name string - args args - want time.Time + name string + args args + want time.Time wantErr bool }{ { @@ -222,7 +223,7 @@ func TestSlotToTime(t *testing.T) { genesisTimeSec: 0, slot: 0, }, - want: time.Unix(0, 0), + want: time.Unix(0, 0), wantErr: false, }, { @@ -231,7 +232,7 @@ func TestSlotToTime(t *testing.T) { genesisTimeSec: 0, slot: 1, }, - want: time.Unix(int64(1*params.BeaconConfig().SecondsPerSlot), 0), + want: time.Unix(int64(1*params.BeaconConfig().SecondsPerSlot), 0), wantErr: false, }, { @@ -240,7 +241,7 @@ func TestSlotToTime(t *testing.T) { genesisTimeSec: 500, slot: 12, }, - want: time.Unix(500+int64(12*params.BeaconConfig().SecondsPerSlot), 0), + want: time.Unix(500+int64(12*params.BeaconConfig().SecondsPerSlot), 0), wantErr: false, }, { @@ -254,7 +255,7 @@ func TestSlotToTime(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got, err := SlotToTime(tt.args.genesisTimeSec, tt.args.slot); (err != nil ) != tt.wantErr && !reflect.DeepEqual(got, tt.want) { + if got, err := SlotToTime(tt.args.genesisTimeSec, tt.args.slot); (err != nil) != tt.wantErr && !reflect.DeepEqual(got, tt.want) { t.Errorf("SlotToTime() = %v, want %v", got, tt.want) } }) diff --git a/beacon-chain/core/state/transition_test.go b/beacon-chain/core/state/transition_test.go index e04dace73403..e8079ec9eec4 100644 --- a/beacon-chain/core/state/transition_test.go +++ b/beacon-chain/core/state/transition_test.go @@ -288,7 +288,7 @@ func TestProcessBlock_IncorrectProcessExits(t *testing.T) { exits = append(exits, ðpb.SignedVoluntaryExit{}) } genesisBlock := blocks.NewGenesisBlock([]byte{}) - bodyRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + bodyRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -341,7 +341,7 @@ func TestProcessBlock_IncorrectProcessExits(t *testing.T) { func TestProcessBlock_PassesProcessingConditions(t *testing.T) { beaconState, privKeys := testutil.DeterministicGenesisState(t, 32) genesisBlock := blocks.NewGenesisBlock([]byte{}) - bodyRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + bodyRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/db/kv/BUILD.bazel b/beacon-chain/db/kv/BUILD.bazel index 5c864ad3e016..f7bdff520c02 100644 --- a/beacon-chain/db/kv/BUILD.bazel +++ b/beacon-chain/db/kv/BUILD.bazel @@ -79,6 +79,7 @@ go_test( deps = [ "//beacon-chain/cache:go_default_library", "//beacon-chain/db/filters:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//proto/testing:go_default_library", "//shared/bytesutil:go_default_library", diff --git a/beacon-chain/db/kv/backup_test.go b/beacon-chain/db/kv/backup_test.go index 2153a609af60..a50882263687 100644 --- a/beacon-chain/db/kv/backup_test.go +++ b/beacon-chain/db/kv/backup_test.go @@ -7,7 +7,7 @@ import ( "testing" eth "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/testutil" ) @@ -20,7 +20,7 @@ func TestStore_Backup(t *testing.T) { if err := db.SaveBlock(ctx, head); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(head.Block) + root, err := stateutil.BlockRoot(head.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/db/kv/blocks_test.go b/beacon-chain/db/kv/blocks_test.go index b1b8649bf659..6f5baec755d3 100644 --- a/beacon-chain/db/kv/blocks_test.go +++ b/beacon-chain/db/kv/blocks_test.go @@ -8,8 +8,8 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/db/filters" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/params" ) @@ -62,7 +62,7 @@ func TestStore_BlocksCRUD(t *testing.T) { ParentRoot: []byte{1, 2, 3}, }, } - blockRoot, err := ssz.HashTreeRoot(block.Block) + blockRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatal(err) } @@ -110,7 +110,7 @@ func TestStore_BlocksBatchDelete(t *testing.T) { } if i%2 == 0 { - r, err := ssz.HashTreeRoot(totalBlocks[i].Block) + r, err := stateutil.BlockRoot(totalBlocks[i].Block) if err != nil { t.Fatal(err) } @@ -155,7 +155,7 @@ func TestStore_GenesisBlock(t *testing.T) { ParentRoot: []byte{1, 2, 3}, }, } - blockRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + blockRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -183,7 +183,7 @@ func TestStore_BlocksCRUD_NoCache(t *testing.T) { ParentRoot: []byte{1, 2, 3}, }, } - blockRoot, err := ssz.HashTreeRoot(block.Block) + blockRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatal(err) } @@ -491,7 +491,7 @@ func TestStore_SaveBlock_CanGetHighestAt(t *testing.T) { t.Errorf("Wanted %v, received %v", block3, highestAt) } - r3, err := ssz.HashTreeRoot(block3.Block) + r3, err := stateutil.BlockRoot(block3.Block) if err != nil { t.Fatal(err) } @@ -513,7 +513,7 @@ func TestStore_GenesisBlock_CanGetHighestAt(t *testing.T) { ctx := context.Background() genesisBlock := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - genesisRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + genesisRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -626,7 +626,7 @@ func TestStore_DeleteBlock_CanGetHighest(t *testing.T) { } b51 := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 51}} - r51, err := ssz.HashTreeRoot(b51.Block) + r51, err := stateutil.BlockRoot(b51.Block) if err != nil { t.Fatal(err) } @@ -668,7 +668,7 @@ func TestStore_DeleteBlocks_CanGetHighest(t *testing.T) { Slot: uint64(i), }, } - r[i], err = ssz.HashTreeRoot(b[i].Block) + r[i], err = stateutil.BlockRoot(b[i].Block) if err != nil { t.Error(err) } diff --git a/beacon-chain/db/kv/checkpoint_test.go b/beacon-chain/db/kv/checkpoint_test.go index f61e0a41a5ee..0396751ddd99 100644 --- a/beacon-chain/db/kv/checkpoint_test.go +++ b/beacon-chain/db/kv/checkpoint_test.go @@ -7,7 +7,7 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/testutil" ) @@ -58,7 +58,7 @@ func TestStore_FinalizedCheckpoint_CanSaveRetrieve(t *testing.T) { }, } - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/db/kv/finalized_block_roots_test.go b/beacon-chain/db/kv/finalized_block_roots_test.go index 36019fa726cd..299e477990f3 100644 --- a/beacon-chain/db/kv/finalized_block_roots_test.go +++ b/beacon-chain/db/kv/finalized_block_roots_test.go @@ -5,7 +5,7 @@ import ( "testing" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -27,7 +27,7 @@ func TestStore_IsFinalizedBlock(t *testing.T) { t.Fatal(err) } - root, err := ssz.HashTreeRoot(blks[slotsPerEpoch].Block) + root, err := stateutil.BlockRoot(blks[slotsPerEpoch].Block) if err != nil { t.Fatal(err) } @@ -49,7 +49,7 @@ func TestStore_IsFinalizedBlock(t *testing.T) { // All blocks up to slotsPerEpoch*2 should be in the finalized index. for i := 0; i < slotsPerEpoch*2; i++ { - root, err := ssz.HashTreeRoot(blks[i].Block) + root, err := stateutil.BlockRoot(blks[i].Block) if err != nil { t.Fatal(err) } @@ -58,7 +58,7 @@ func TestStore_IsFinalizedBlock(t *testing.T) { } } for i := slotsPerEpoch * 3; i < len(blks); i++ { - root, err := ssz.HashTreeRoot(blks[i].Block) + root, err := stateutil.BlockRoot(blks[i].Block) if err != nil { t.Fatal(err) } @@ -154,7 +154,7 @@ func TestStore_IsFinalized_ForkEdgeCase(t *testing.T) { } func sszRootOrDie(t *testing.T, block *ethpb.SignedBeaconBlock) []byte { - root, err := ssz.HashTreeRoot(block.Block) + root, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatal(err) } @@ -173,7 +173,7 @@ func makeBlocks(t *testing.T, i, n int, previousRoot [32]byte) []*ethpb.SignedBe }, } var err error - previousRoot, err = ssz.HashTreeRoot(blocks[j-i].Block) + previousRoot, err = stateutil.BlockRoot(blocks[j-i].Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/db/kv/regen_historical_states.go b/beacon-chain/db/kv/regen_historical_states.go index 142b454c3815..27cfcb38c091 100644 --- a/beacon-chain/db/kv/regen_historical_states.go +++ b/beacon-chain/db/kv/regen_historical_states.go @@ -8,11 +8,11 @@ import ( lru "github.com/hashicorp/golang-lru" "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" transition "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/db/filters" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" log "github.com/sirupsen/logrus" @@ -106,7 +106,7 @@ func (kv *Store) regenHistoricalStates(ctx context.Context) error { return errors.Wrap(err, "could not regenerate historical state transition") } - r, err := ssz.HashTreeRoot(blocks[i].Block) + r, err := stateutil.BlockRoot(blocks[i].Block) if err != nil { return err } @@ -225,7 +225,7 @@ func (kv *Store) saveArchivedInfo(ctx context.Context, currentState *stateTrie.BeaconState, blocks []*ethpb.SignedBeaconBlock, archivedIndex uint64) error { - lastBlocksRoot, err := ssz.HashTreeRoot(blocks[len(blocks)-1].Block) + lastBlocksRoot, err := stateutil.BlockRoot(blocks[len(blocks)-1].Block) if err != nil { return nil } diff --git a/beacon-chain/db/kv/state_test.go b/beacon-chain/db/kv/state_test.go index b3f4febbae2a..5cd908f14cad 100644 --- a/beacon-chain/db/kv/state_test.go +++ b/beacon-chain/db/kv/state_test.go @@ -7,7 +7,7 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/testutil" "gopkg.in/d4l3k/messagediff.v1" @@ -138,7 +138,7 @@ func TestStore_StatesBatchDelete(t *testing.T) { ParentRoot: []byte("parent"), }, } - r, err := ssz.HashTreeRoot(totalBlocks[i].Block) + r, err := stateutil.BlockRoot(totalBlocks[i].Block) if err != nil { t.Fatal(err) } @@ -216,7 +216,7 @@ func TestStore_DeleteFinalizedState(t *testing.T) { t.Fatal(err) } - finalizedBlockRoot, err := ssz.HashTreeRoot(blk.Block) + finalizedBlockRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -258,7 +258,7 @@ func TestStore_DeleteHeadState(t *testing.T) { t.Fatal(err) } - headBlockRoot, err := ssz.HashTreeRoot(blk.Block) + headBlockRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -282,7 +282,7 @@ func TestStore_SaveDeleteState_CanGetHighest(t *testing.T) { db := setupDB(t) b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1}} - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -299,7 +299,7 @@ func TestStore_SaveDeleteState_CanGetHighest(t *testing.T) { s0 := st.InnerStateUnsafe() b = ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 999}} - r1, err := ssz.HashTreeRoot(b.Block) + r1, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -324,7 +324,7 @@ func TestStore_SaveDeleteState_CanGetHighest(t *testing.T) { } b = ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1000}} - r2, err := ssz.HashTreeRoot(b.Block) + r2, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -379,7 +379,7 @@ func TestStore_SaveDeleteState_CanGetHighestBelow(t *testing.T) { db := setupDB(t) b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1}} - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -396,7 +396,7 @@ func TestStore_SaveDeleteState_CanGetHighestBelow(t *testing.T) { } b = ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 100}} - r1, err := ssz.HashTreeRoot(b.Block) + r1, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -421,7 +421,7 @@ func TestStore_SaveDeleteState_CanGetHighestBelow(t *testing.T) { } b = ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1000}} - r2, err := ssz.HashTreeRoot(b.Block) + r2, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -476,7 +476,7 @@ func TestStore_GenesisState_CanGetHighestBelow(t *testing.T) { } b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1}} - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/interop-cold-start/BUILD.bazel b/beacon-chain/interop-cold-start/BUILD.bazel index 402fd930311b..e9f78c350747 100644 --- a/beacon-chain/interop-cold-start/BUILD.bazel +++ b/beacon-chain/interop-cold-start/BUILD.bazel @@ -14,6 +14,7 @@ go_library( "//beacon-chain/db:go_default_library", "//beacon-chain/powchain:go_default_library", "//beacon-chain/state:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//shared:go_default_library", "//shared/interop:go_default_library", diff --git a/beacon-chain/interop-cold-start/service.go b/beacon-chain/interop-cold-start/service.go index 9c71e2e98e30..23235e49141d 100644 --- a/beacon-chain/interop-cold-start/service.go +++ b/beacon-chain/interop-cold-start/service.go @@ -16,6 +16,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/powchain" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared" "github.com/prysmaticlabs/prysm/shared/interop" @@ -161,7 +162,7 @@ func (s *Service) saveGenesisState(ctx context.Context, genesisState *stateTrie. return err } genesisBlk := blocks.NewGenesisBlock(stateRoot[:]) - genesisBlkRoot, err := ssz.HashTreeRoot(genesisBlk.Block) + genesisBlkRoot, err := stateutil.BlockRoot(genesisBlk.Block) if err != nil { return errors.Wrap(err, "could not get genesis block root") } diff --git a/beacon-chain/powchain/log_processing_test.go b/beacon-chain/powchain/log_processing_test.go index f33f2a375eec..453664122e4c 100644 --- a/beacon-chain/powchain/log_processing_test.go +++ b/beacon-chain/powchain/log_processing_test.go @@ -346,7 +346,7 @@ func TestProcessETH2GenesisLog_8DuplicatePubkeys(t *testing.T) { } func TestProcessETH2GenesisLog(t *testing.T) { - resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{CustomGenesisDelay:0}) + resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{CustomGenesisDelay: 0}) defer resetCfg() hook := logTest.NewGlobal() testAcc, err := contracts.Setup() diff --git a/beacon-chain/rpc/beacon/BUILD.bazel b/beacon-chain/rpc/beacon/BUILD.bazel index 26310ca6eca7..089c441cab19 100644 --- a/beacon-chain/rpc/beacon/BUILD.bazel +++ b/beacon-chain/rpc/beacon/BUILD.bazel @@ -95,6 +95,7 @@ go_test( "//beacon-chain/rpc/testing:go_default_library", "//beacon-chain/state:go_default_library", "//beacon-chain/state/stategen:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//proto/beacon/rpc/v1:go_default_library", "//shared/attestationutil:go_default_library", diff --git a/beacon-chain/rpc/beacon/assignments_test.go b/beacon-chain/rpc/beacon/assignments_test.go index 7f8617701b9e..f9bb814688b6 100644 --- a/beacon-chain/rpc/beacon/assignments_test.go +++ b/beacon-chain/rpc/beacon/assignments_test.go @@ -18,6 +18,7 @@ import ( dbTest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" "github.com/prysmaticlabs/prysm/beacon-chain/flags" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -59,7 +60,7 @@ func TestServer_ListAssignments_NoResults(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -112,7 +113,7 @@ func TestServer_ListAssignments_Pagination_InputOutOfRange(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/rpc/beacon/attestations_test.go b/beacon-chain/rpc/beacon/attestations_test.go index efc97af1f1b1..571ff40bd6aa 100644 --- a/beacon-chain/rpc/beacon/attestations_test.go +++ b/beacon-chain/rpc/beacon/attestations_test.go @@ -13,9 +13,9 @@ import ( "github.com/gogo/protobuf/proto" ptypes "github.com/gogo/protobuf/types" "github.com/golang/mock/gomock" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/go-bitfield" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" @@ -104,7 +104,7 @@ func TestServer_ListAttestations_Genesis(t *testing.T) { }, }, } - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -1020,7 +1020,7 @@ func TestServer_StreamIndexedAttestations_OK(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/rpc/beacon/blocks.go b/beacon-chain/rpc/beacon/blocks.go index d753981d2c6b..b4d0df19f72f 100644 --- a/beacon-chain/rpc/beacon/blocks.go +++ b/beacon-chain/rpc/beacon/blocks.go @@ -6,7 +6,6 @@ import ( ptypes "github.com/gogo/protobuf/types" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" @@ -58,7 +57,7 @@ func (bs *Server) ListBlocks( returnedBlks := blks[start:end] containers := make([]*ethpb.BeaconBlockContainer, len(returnedBlks)) for i, b := range returnedBlks { - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { return nil, err } @@ -85,7 +84,7 @@ func (bs *Server) ListBlocks( NextPageToken: strconv.Itoa(0), }, nil } - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { return nil, err } @@ -121,7 +120,7 @@ func (bs *Server) ListBlocks( returnedBlks := blks[start:end] containers := make([]*ethpb.BeaconBlockContainer, len(returnedBlks)) for i, b := range returnedBlks { - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { return nil, err } @@ -144,7 +143,7 @@ func (bs *Server) ListBlocks( if genBlk == nil { return nil, status.Error(codes.Internal, "Could not find genesis block") } - root, err := ssz.HashTreeRoot(genBlk.Block) + root, err := stateutil.BlockRoot(genBlk.Block) if err != nil { return nil, err } diff --git a/beacon-chain/rpc/beacon/blocks_test.go b/beacon-chain/rpc/beacon/blocks_test.go index 192441c99825..cbf8de954b97 100644 --- a/beacon-chain/rpc/beacon/blocks_test.go +++ b/beacon-chain/rpc/beacon/blocks_test.go @@ -12,7 +12,6 @@ import ( ptypes "github.com/gogo/protobuf/types" "github.com/golang/mock/gomock" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block" @@ -22,6 +21,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/flags" mockRPC "github.com/prysmaticlabs/prysm/beacon-chain/rpc/testing" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/params" ) @@ -98,7 +98,7 @@ func TestServer_ListBlocks_Genesis(t *testing.T) { ParentRoot: parentRoot[:], }, } - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -146,7 +146,7 @@ func TestServer_ListBlocks_Genesis_MultiBlocks(t *testing.T) { ParentRoot: parentRoot[:], }, } - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -166,7 +166,7 @@ func TestServer_ListBlocks_Genesis_MultiBlocks(t *testing.T) { Slot: i, }, } - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -200,7 +200,7 @@ func TestServer_ListBlocks_Pagination(t *testing.T) { Slot: i, }, } - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -215,7 +215,7 @@ func TestServer_ListBlocks_Pagination(t *testing.T) { BeaconDB: db, } - root6, err := ssz.HashTreeRoot(blks[6].Block) + root6, err := stateutil.BlockRoot(blks[6].Block) if err != nil { t.Fatal(err) } @@ -409,7 +409,7 @@ func TestServer_GetChainHead(t *testing.T) { if err := db.SaveBlock(context.Background(), finalizedBlock); err != nil { t.Fatal(err) } - fRoot, err := ssz.HashTreeRoot(finalizedBlock.Block) + fRoot, err := stateutil.BlockRoot(finalizedBlock.Block) if err != nil { t.Fatal(err) } @@ -417,7 +417,7 @@ func TestServer_GetChainHead(t *testing.T) { if err := db.SaveBlock(context.Background(), justifiedBlock); err != nil { t.Fatal(err) } - jRoot, err := ssz.HashTreeRoot(justifiedBlock.Block) + jRoot, err := stateutil.BlockRoot(justifiedBlock.Block) if err != nil { t.Fatal(err) } @@ -425,7 +425,7 @@ func TestServer_GetChainHead(t *testing.T) { if err := db.SaveBlock(context.Background(), prevJustifiedBlock); err != nil { t.Fatal(err) } - pjRoot, err := ssz.HashTreeRoot(prevJustifiedBlock.Block) + pjRoot, err := stateutil.BlockRoot(prevJustifiedBlock.Block) if err != nil { t.Fatal(err) } @@ -526,7 +526,7 @@ func TestServer_StreamChainHead_OnHeadUpdated(t *testing.T) { if err := db.SaveBlock(context.Background(), finalizedBlock); err != nil { t.Fatal(err) } - fRoot, err := ssz.HashTreeRoot(finalizedBlock.Block) + fRoot, err := stateutil.BlockRoot(finalizedBlock.Block) if err != nil { t.Fatal(err) } @@ -534,7 +534,7 @@ func TestServer_StreamChainHead_OnHeadUpdated(t *testing.T) { if err := db.SaveBlock(context.Background(), justifiedBlock); err != nil { t.Fatal(err) } - jRoot, err := ssz.HashTreeRoot(justifiedBlock.Block) + jRoot, err := stateutil.BlockRoot(justifiedBlock.Block) if err != nil { t.Fatal(err) } @@ -542,7 +542,7 @@ func TestServer_StreamChainHead_OnHeadUpdated(t *testing.T) { if err := db.SaveBlock(context.Background(), prevJustifiedBlock); err != nil { t.Fatal(err) } - pjRoot, err := ssz.HashTreeRoot(prevJustifiedBlock.Block) + pjRoot, err := stateutil.BlockRoot(prevJustifiedBlock.Block) if err != nil { t.Fatal(err) } @@ -558,7 +558,7 @@ func TestServer_StreamChainHead_OnHeadUpdated(t *testing.T) { } b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: s.PreviousJustifiedCheckpoint().Epoch*params.BeaconConfig().SlotsPerEpoch + 1}} - hRoot, err := ssz.HashTreeRoot(b.Block) + hRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/rpc/beacon/committees_test.go b/beacon-chain/rpc/beacon/committees_test.go index 99bb94f2a171..1623013a29c7 100644 --- a/beacon-chain/rpc/beacon/committees_test.go +++ b/beacon-chain/rpc/beacon/committees_test.go @@ -9,7 +9,6 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" @@ -17,6 +16,7 @@ import ( dbTest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/params" @@ -28,7 +28,7 @@ import ( func TestServer_ListBeaconCommittees_CurrentEpoch(t *testing.T) { db := dbTest.SetupDB(t) helpers.ClearCache() - resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{NewStateMgmt:true}) + resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{NewStateMgmt: true}) defer resetCfg() numValidators := 128 @@ -47,7 +47,7 @@ func TestServer_ListBeaconCommittees_CurrentEpoch(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -88,7 +88,7 @@ func TestServer_ListBeaconCommittees_CurrentEpoch(t *testing.T) { } func TestServer_ListBeaconCommittees_PreviousEpoch(t *testing.T) { - resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{NewStateMgmt:false}) + resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{NewStateMgmt: false}) defer resetCfg() db := dbTest.SetupDB(t) @@ -160,7 +160,7 @@ func TestServer_ListBeaconCommittees_PreviousEpoch(t *testing.T) { } func TestServer_ListBeaconCommittees_FromArchive(t *testing.T) { - resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{NewStateMgmt:false}) + resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{NewStateMgmt: false}) defer resetCfg() db := dbTest.SetupDB(t) diff --git a/beacon-chain/rpc/beacon/slashings_test.go b/beacon-chain/rpc/beacon/slashings_test.go index 2217a43a49e6..8ba7f2770219 100644 --- a/beacon-chain/rpc/beacon/slashings_test.go +++ b/beacon-chain/rpc/beacon/slashings_test.go @@ -71,7 +71,7 @@ func TestServer_SubmitProposerSlashing(t *testing.T) { func TestServer_SubmitProposerSlashingBroadcast(t *testing.T) { ctx := context.Background() - resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{BroadcastSlashings:true}) + resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{BroadcastSlashings: true}) defer resetCfg() st, privs := testutil.DeterministicGenesisState(t, 64) @@ -170,7 +170,7 @@ func TestServer_SubmitAttesterSlashing(t *testing.T) { func TestServer_SubmitAttesterSlashingBroadcast(t *testing.T) { ctx := context.Background() - resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{BroadcastSlashings:true}) + resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{BroadcastSlashings: true}) defer resetCfg() // We mark the validators at index 5, 6 as already slashed. st, privs := testutil.DeterministicGenesisState(t, 64) diff --git a/beacon-chain/rpc/beacon/state_test.go b/beacon-chain/rpc/beacon/state_test.go index 28acbc330cc2..6b2e4fdd6afb 100644 --- a/beacon-chain/rpc/beacon/state_test.go +++ b/beacon-chain/rpc/beacon/state_test.go @@ -6,10 +6,10 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" dbTest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pbrpc "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -32,7 +32,7 @@ func TestServer_GetBeaconState(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/rpc/beacon/validators_test.go b/beacon-chain/rpc/beacon/validators_test.go index 30fcd770d200..93364009ebb6 100644 --- a/beacon-chain/rpc/beacon/validators_test.go +++ b/beacon-chain/rpc/beacon/validators_test.go @@ -24,6 +24,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/flags" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" @@ -108,7 +109,7 @@ func TestServer_ListValidatorBalances_NoResults(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -174,7 +175,7 @@ func TestServer_ListValidatorBalances_DefaultResponse_NoArchive(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -214,7 +215,7 @@ func TestServer_ListValidatorBalances_PaginationOutOfRange(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -271,7 +272,7 @@ func TestServer_ListValidatorBalances_Pagination_Default(t *testing.T) { t.Fatal(err) } b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -366,7 +367,7 @@ func TestServer_ListValidatorBalances_Pagination_CustomPageSizes(t *testing.T) { t.Fatal(err) } b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -447,7 +448,7 @@ func TestServer_ListValidatorBalances_OutOfRange(t *testing.T) { t.Fatal(err) } b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -1208,7 +1209,7 @@ func TestServer_GetValidatorActiveSetChanges(t *testing.T) { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -1743,7 +1744,7 @@ func TestServer_GetValidatorParticipation_PrevEpoch(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(b.Block) + bRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -1784,7 +1785,7 @@ func TestServer_GetValidatorParticipation_DoesntExist(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(b.Block) + bRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/rpc/testing/beacon_node_validator_service_mock.go b/beacon-chain/rpc/testing/beacon_node_validator_service_mock.go index 36642b5802d9..a19ffbfae9b8 100644 --- a/beacon-chain/rpc/testing/beacon_node_validator_service_mock.go +++ b/beacon-chain/rpc/testing/beacon_node_validator_service_mock.go @@ -6,10 +6,11 @@ package testing import ( context "context" + reflect "reflect" + gomock "github.com/golang/mock/gomock" eth "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" metadata "google.golang.org/grpc/metadata" - reflect "reflect" ) // MockBeaconNodeValidator_WaitForSyncedServer is a mock of BeaconNodeValidator_WaitForSyncedServer interface. diff --git a/beacon-chain/rpc/validator/BUILD.bazel b/beacon-chain/rpc/validator/BUILD.bazel index 6f80649e3c09..abf6268c3145 100644 --- a/beacon-chain/rpc/validator/BUILD.bazel +++ b/beacon-chain/rpc/validator/BUILD.bazel @@ -33,6 +33,7 @@ go_library( "//beacon-chain/powchain:go_default_library", "//beacon-chain/state:go_default_library", "//beacon-chain/state/stategen:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//beacon-chain/sync:go_default_library", "//proto/beacon/db:go_default_library", "//proto/beacon/p2p/v1:go_default_library", @@ -85,6 +86,7 @@ go_test( "//beacon-chain/rpc/testing:go_default_library", "//beacon-chain/state:go_default_library", "//beacon-chain/state/stategen:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//beacon-chain/sync/initial-sync/testing:go_default_library", "//proto/beacon/db:go_default_library", "//proto/beacon/p2p/v1:go_default_library", diff --git a/beacon-chain/rpc/validator/assignments.go b/beacon-chain/rpc/validator/assignments.go index 9e7e195e17cc..19c372a166e2 100644 --- a/beacon-chain/rpc/validator/assignments.go +++ b/beacon-chain/rpc/validator/assignments.go @@ -89,4 +89,4 @@ func (vs *Server) GetDuties(ctx context.Context, req *ethpb.DutiesRequest) (*eth // StreamDuties -- func (vs *Server) StreamDuties(stream ethpb.BeaconNodeValidator_StreamDutiesServer) error { return status.Error(codes.Unimplemented, "unimplemented") -} \ No newline at end of file +} diff --git a/beacon-chain/rpc/validator/assignments_test.go b/beacon-chain/rpc/validator/assignments_test.go index 3374711da6c6..d39409b85f75 100644 --- a/beacon-chain/rpc/validator/assignments_test.go +++ b/beacon-chain/rpc/validator/assignments_test.go @@ -9,13 +9,13 @@ import ( "time" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" blk "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/state" dbutil "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" mockPOW "github.com/prysmaticlabs/prysm/beacon-chain/powchain/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" @@ -34,7 +34,7 @@ func TestGetDuties_NextEpoch_CantFindValidatorIdx(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 10) genesis := blk.NewGenesisBlock([]byte{}) - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -82,7 +82,7 @@ func TestGetDuties_OK(t *testing.T) { if err != nil { t.Fatalf("Could not setup genesis bs: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -172,7 +172,7 @@ func TestGetDuties_CurrentEpoch_ShouldNotFail(t *testing.T) { t.Fatal(err) } - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -222,7 +222,7 @@ func TestGetDuties_MultipleKeys_OK(t *testing.T) { if err != nil { t.Fatalf("Could not setup genesis bs: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -291,7 +291,7 @@ func BenchmarkCommitteeAssignment(b *testing.B) { if err != nil { b.Fatalf("Could not setup genesis bs: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { b.Fatalf("Could not get signing root %v", err) } diff --git a/beacon-chain/rpc/validator/attester_test.go b/beacon-chain/rpc/validator/attester_test.go index b7078a3b8594..4ba81789be2b 100644 --- a/beacon-chain/rpc/validator/attester_test.go +++ b/beacon-chain/rpc/validator/attester_test.go @@ -18,6 +18,7 @@ import ( mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" beaconstate "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bls" @@ -53,7 +54,7 @@ func TestProposeAttestation_OK(t *testing.T) { if err := db.SaveBlock(ctx, head); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(head.Block) + root, err := stateutil.BlockRoot(head.Block) if err != nil { t.Fatal(err) } @@ -133,15 +134,15 @@ func TestGetAttestationData_OK(t *testing.T) { justifiedBlock := ðpb.BeaconBlock{ Slot: 2 * params.BeaconConfig().SlotsPerEpoch, } - blockRoot, err := ssz.HashTreeRoot(block) + blockRoot, err := stateutil.BlockRoot(block) if err != nil { t.Fatalf("Could not hash beacon block: %v", err) } - justifiedRoot, err := ssz.HashTreeRoot(justifiedBlock) + justifiedRoot, err := stateutil.BlockRoot(justifiedBlock) if err != nil { t.Fatalf("Could not get signing root for justified block: %v", err) } - targetRoot, err := ssz.HashTreeRoot(targetBlock) + targetRoot, err := stateutil.BlockRoot(targetBlock) if err != nil { t.Fatalf("Could not get signing root for target block: %v", err) } @@ -258,15 +259,15 @@ func TestAttestationDataAtSlot_HandlesFarAwayJustifiedEpoch(t *testing.T) { justifiedBlock := ðpb.BeaconBlock{ Slot: helpers.StartSlot(helpers.SlotToEpoch(1500)) - 2, // Imagine two skip block } - blockRoot, err := ssz.HashTreeRoot(block) + blockRoot, err := stateutil.BlockRoot(block) if err != nil { t.Fatalf("Could not hash beacon block: %v", err) } - justifiedBlockRoot, err := ssz.HashTreeRoot(justifiedBlock) + justifiedBlockRoot, err := stateutil.BlockRoot(justifiedBlock) if err != nil { t.Fatalf("Could not hash justified block: %v", err) } - epochBoundaryRoot, err := ssz.HashTreeRoot(epochBoundaryBlock) + epochBoundaryRoot, err := stateutil.BlockRoot(epochBoundaryBlock) if err != nil { t.Fatalf("Could not hash justified block: %v", err) } @@ -439,7 +440,7 @@ func TestServer_GetAttestationData_HeadStateSlotGreaterThanRequestSlot(t *testin justifiedBlock := ðpb.BeaconBlock{ Slot: 2 * params.BeaconConfig().SlotsPerEpoch, } - blockRoot, err := ssz.HashTreeRoot(block) + blockRoot, err := stateutil.BlockRoot(block) if err != nil { t.Fatalf("Could not hash beacon block: %v", err) } @@ -450,11 +451,11 @@ func TestServer_GetAttestationData_HeadStateSlotGreaterThanRequestSlot(t *testin if err := db.SaveBlock(ctx, ðpb.SignedBeaconBlock{Block: block2}); err != nil { t.Fatal(err) } - justifiedRoot, err := ssz.HashTreeRoot(justifiedBlock) + justifiedRoot, err := stateutil.BlockRoot(justifiedBlock) if err != nil { t.Fatalf("Could not get signing root for justified block: %v", err) } - targetRoot, err := ssz.HashTreeRoot(targetBlock) + targetRoot, err := stateutil.BlockRoot(targetBlock) if err != nil { t.Fatalf("Could not get signing root for target block: %v", err) } @@ -560,15 +561,15 @@ func TestGetAttestationData_SucceedsInFirstEpoch(t *testing.T) { justifiedBlock := ðpb.BeaconBlock{ Slot: 0, } - blockRoot, err := ssz.HashTreeRoot(block) + blockRoot, err := stateutil.BlockRoot(block) if err != nil { t.Fatalf("Could not hash beacon block: %v", err) } - justifiedRoot, err := ssz.HashTreeRoot(justifiedBlock) + justifiedRoot, err := stateutil.BlockRoot(justifiedBlock) if err != nil { t.Fatalf("Could not get signing root for justified block: %v", err) } - targetRoot, err := ssz.HashTreeRoot(targetBlock) + targetRoot, err := stateutil.BlockRoot(targetBlock) if err != nil { t.Fatalf("Could not get signing root for target block: %v", err) } diff --git a/beacon-chain/rpc/validator/exit_test.go b/beacon-chain/rpc/validator/exit_test.go index f24a3cc555eb..3b26dc2b5a44 100644 --- a/beacon-chain/rpc/validator/exit_test.go +++ b/beacon-chain/rpc/validator/exit_test.go @@ -6,7 +6,6 @@ import ( "time" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" blk "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" @@ -16,6 +15,7 @@ import ( dbutil "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" "github.com/prysmaticlabs/prysm/beacon-chain/operations/voluntaryexits" mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" @@ -38,7 +38,7 @@ func TestSub(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -127,7 +127,7 @@ func TestProposeExit_NoPanic(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } diff --git a/beacon-chain/rpc/validator/proposer.go b/beacon-chain/rpc/validator/proposer.go index 1f086a0df3fe..fa2367cbed5e 100644 --- a/beacon-chain/rpc/validator/proposer.go +++ b/beacon-chain/rpc/validator/proposer.go @@ -7,6 +7,8 @@ import ( "math/rand" "time" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" + "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/go-ssz" @@ -116,21 +118,26 @@ func (vs *Server) GetBlock(ctx context.Context, req *ethpb.BlockRequest) (*ethpb // ProposeBlock is called by a proposer during its assigned slot to create a block in an attempt // to get it processed by the beacon node as the canonical head. func (vs *Server) ProposeBlock(ctx context.Context, blk *ethpb.SignedBeaconBlock) (*ethpb.ProposeResponse, error) { - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { return nil, status.Errorf(codes.Internal, "Could not tree hash block: %v", err) } - log.WithField("blockRoot", fmt.Sprintf("%#x", bytesutil.Trunc(root[:]))).Debugf( - "Block proposal received via RPC") - vs.BlockNotifier.BlockFeed().Send(&feed.Event{ - Type: blockfeed.ReceivedBlock, - Data: &blockfeed.ReceivedBlockData{SignedBlock: blk}, - }) + + // Do not block proposal critical path with debug logging or block feed updates. + defer func() { + log.WithField("blockRoot", fmt.Sprintf("%#x", bytesutil.Trunc(root[:]))).Debugf( + "Block proposal received via RPC") + vs.BlockNotifier.BlockFeed().Send(&feed.Event{ + Type: blockfeed.ReceivedBlock, + Data: &blockfeed.ReceivedBlockData{SignedBlock: blk}, + }) + }() + if err := vs.BlockReceiver.ReceiveBlock(ctx, blk); err != nil { return nil, status.Errorf(codes.Internal, "Could not process beacon block: %v", err) } - if err := vs.deleteAttsInPool(blk.Block.Body.Attestations); err != nil { + if err := vs.deleteAttsInPool(ctx, blk.Block.Body.Attestations); err != nil { return nil, status.Errorf(codes.Internal, "Could not delete attestations in pool: %v", err) } @@ -402,7 +409,7 @@ func (vs *Server) filterAttestationsForBlockInclusion(ctx context.Context, state validAtts = append(validAtts, att) } - if err := vs.deleteAttsInPool(inValidAtts); err != nil { + if err := vs.deleteAttsInPool(ctx, inValidAtts); err != nil { return nil, err } @@ -411,8 +418,14 @@ func (vs *Server) filterAttestationsForBlockInclusion(ctx context.Context, state // The input attestations are processed and seen by the node, this deletes them from pool // so proposers don't include them in a block for the future. -func (vs *Server) deleteAttsInPool(atts []*ethpb.Attestation) error { +func (vs *Server) deleteAttsInPool(ctx context.Context, atts []*ethpb.Attestation) error { + ctx, span := trace.StartSpan(ctx, "ProposerServer.deleteAttsInPool") + defer span.End() + for _, att := range atts { + if ctx.Err() != nil { + return ctx.Err() + } if helpers.IsAggregated(att) { if err := vs.AttPool.DeleteAggregatedAttestation(att); err != nil { return err diff --git a/beacon-chain/rpc/validator/proposer_test.go b/beacon-chain/rpc/validator/proposer_test.go index 159a3e497f60..f44a03a2484a 100644 --- a/beacon-chain/rpc/validator/proposer_test.go +++ b/beacon-chain/rpc/validator/proposer_test.go @@ -33,6 +33,7 @@ import ( "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/trieutil" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" ) func init() { @@ -59,7 +60,7 @@ func TestGetBlock_OK(t *testing.T) { t.Fatalf("Could not save genesis block: %v", err) } - parentRoot, err := ssz.HashTreeRoot(genesis.Block) + parentRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -166,7 +167,7 @@ func TestGetBlock_AddsUnaggregatedAtts(t *testing.T) { t.Fatalf("Could not save genesis block: %v", err) } - parentRoot, err := ssz.HashTreeRoot(genesis.Block) + parentRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -286,7 +287,7 @@ func TestProposeBlock_OK(t *testing.T) { numDeposits := uint64(64) beaconState, _ := testutil.DeterministicGenesisState(t, numDeposits) - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatal(err) } @@ -337,7 +338,7 @@ func TestComputeStateRoot_OK(t *testing.T) { t.Fatalf("Could not save genesis block: %v", err) } - parentRoot, err := ssz.HashTreeRoot(genesis.Block) + parentRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -1303,7 +1304,7 @@ func TestFilterAttestation_OK(t *testing.T) { t.Error(err) } - genesisRoot, err := ssz.HashTreeRoot(genesis.Block) + genesisRoot, err := stateutil.BlockRoot(genesis.Block) if err != nil { t.Fatal(err) } @@ -1596,7 +1597,7 @@ func TestDeleteAttsInPool_Aggregated(t *testing.T) { if err != nil { t.Error(err) } - if err := s.deleteAttsInPool(append(aa, unaggregatedAtts...)); err != nil { + if err := s.deleteAttsInPool(context.Background(), append(aa, unaggregatedAtts...)); err != nil { t.Fatal(err) } if len(s.AttPool.AggregatedAttestations()) != 0 { diff --git a/beacon-chain/rpc/validator/server_test.go b/beacon-chain/rpc/validator/server_test.go index 8a89abbfee10..e91624fd6627 100644 --- a/beacon-chain/rpc/validator/server_test.go +++ b/beacon-chain/rpc/validator/server_test.go @@ -10,7 +10,6 @@ import ( ptypes "github.com/gogo/protobuf/types" "github.com/golang/mock/gomock" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" blk "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" @@ -22,6 +21,7 @@ import ( internal "github.com/prysmaticlabs/prysm/beacon-chain/rpc/testing" mockRPC "github.com/prysmaticlabs/prysm/beacon-chain/rpc/testing" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bls" @@ -80,7 +80,7 @@ func TestWaitForActivation_ContextClosed(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -142,7 +142,7 @@ func TestWaitForActivation_ValidatorOriginallyExists(t *testing.T) { }, } block := blk.NewGenesisBlock([]byte{}) - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -247,7 +247,7 @@ func TestWaitForActivation_MultipleStatuses(t *testing.T) { }, } block := blk.NewGenesisBlock([]byte{}) - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } diff --git a/beacon-chain/rpc/validator/status_test.go b/beacon-chain/rpc/validator/status_test.go index dfa0716e0c0d..946d16703983 100644 --- a/beacon-chain/rpc/validator/status_test.go +++ b/beacon-chain/rpc/validator/status_test.go @@ -8,7 +8,6 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" blk "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" @@ -16,6 +15,7 @@ import ( dbutil "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" mockPOW "github.com/prysmaticlabs/prysm/beacon-chain/powchain/testing" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -138,7 +138,7 @@ func TestValidatorStatus_Pending(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -238,7 +238,7 @@ func TestValidatorStatus_Active(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -303,7 +303,7 @@ func TestValidatorStatus_Exiting(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -374,7 +374,7 @@ func TestValidatorStatus_Slashing(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -444,7 +444,7 @@ func TestValidatorStatus_Exited(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -565,7 +565,7 @@ func TestMultipleValidatorStatus_OK(t *testing.T) { }, }) block := blk.NewGenesisBlock([]byte{}) - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -645,7 +645,7 @@ func TestValidatorStatus_CorrectActivationQueue(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -785,7 +785,7 @@ func TestDepositBlockSlotAfterGenesisTime(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } @@ -860,7 +860,7 @@ func TestDepositBlockSlotBeforeGenesisTime(t *testing.T) { if err := db.SaveBlock(ctx, block); err != nil { t.Fatalf("Could not save genesis block: %v", err) } - genesisRoot, err := ssz.HashTreeRoot(block.Block) + genesisRoot, err := stateutil.BlockRoot(block.Block) if err != nil { t.Fatalf("Could not get signing root %v", err) } diff --git a/beacon-chain/state/stategen/BUILD.bazel b/beacon-chain/state/stategen/BUILD.bazel index d53513a44cfe..cfa612ce04d6 100644 --- a/beacon-chain/state/stategen/BUILD.bazel +++ b/beacon-chain/state/stategen/BUILD.bazel @@ -22,13 +22,13 @@ go_library( "//beacon-chain/db:go_default_library", "//beacon-chain/db/filters:go_default_library", "//beacon-chain/state:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//shared/bytesutil:go_default_library", "//shared/featureconfig:go_default_library", "//shared/params:go_default_library", "@com_github_pkg_errors//:go_default_library", "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", - "@com_github_prysmaticlabs_go_ssz//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", "@io_opencensus_go//trace:go_default_library", ], @@ -51,6 +51,7 @@ go_test( "//beacon-chain/core/blocks:go_default_library", "//beacon-chain/db:go_default_library", "//beacon-chain/db/testing:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//shared/bytesutil:go_default_library", "//shared/params:go_default_library", diff --git a/beacon-chain/state/stategen/cold_test.go b/beacon-chain/state/stategen/cold_test.go index 16b537050e91..a03b889a8d39 100644 --- a/beacon-chain/state/stategen/cold_test.go +++ b/beacon-chain/state/stategen/cold_test.go @@ -6,9 +6,9 @@ import ( "testing" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/testutil" ) @@ -73,7 +73,7 @@ func TestLoadColdStateByRoot_CanGet(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) blk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - blkRoot, err := ssz.HashTreeRoot(blk.Block) + blkRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -108,7 +108,7 @@ func TestLoadColdStateBySlot_CanGet(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) blk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - blkRoot, err := ssz.HashTreeRoot(blk.Block) + blkRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/state/stategen/getter_test.go b/beacon-chain/state/stategen/getter_test.go index 90aa83036b3d..f771b2feb876 100644 --- a/beacon-chain/state/stategen/getter_test.go +++ b/beacon-chain/state/stategen/getter_test.go @@ -6,9 +6,9 @@ import ( "github.com/gogo/protobuf/proto" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -26,7 +26,7 @@ func TestStateByRoot_ColdState(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(b.Block) + bRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -63,7 +63,7 @@ func TestStateByRoot_HotStateDB(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) blk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - blkRoot, err := ssz.HashTreeRoot(blk.Block) + blkRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -81,7 +81,7 @@ func TestStateByRoot_HotStateDB(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, targetBlock); err != nil { t.Fatal(err) } - targetRoot, err := ssz.HashTreeRoot(targetBlock.Block) + targetRoot, err := stateutil.BlockRoot(targetBlock.Block) if err != nil { t.Fatal(err) } @@ -148,7 +148,7 @@ func TestStateBySlot_ColdState(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(b.Block) + bRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -194,7 +194,7 @@ func TestStateBySlot_HotStateDB(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(b.Block) + bRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/state/stategen/hot_test.go b/beacon-chain/state/stategen/hot_test.go index bc2b91c6a63b..9c6a1ff712a8 100644 --- a/beacon-chain/state/stategen/hot_test.go +++ b/beacon-chain/state/stategen/hot_test.go @@ -9,6 +9,7 @@ import ( "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" //pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" @@ -86,7 +87,7 @@ func TestSaveHotState_NoSaveNotEpochBoundary(t *testing.T) { if err := db.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -135,7 +136,7 @@ func TestLoadHoteStateByRoot_FromDBCanProcess(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) blk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - blkRoot, err := ssz.HashTreeRoot(blk.Block) + blkRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -179,7 +180,7 @@ func TestLoadHoteStateByRoot_FromDBBoundaryCase(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) blk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - blkRoot, err := ssz.HashTreeRoot(blk.Block) + blkRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -218,7 +219,7 @@ func TestLoadHoteStateBySlot_CanAdvanceSlotUsingDB(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(b.Block) + gRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/state/stategen/migrate_test.go b/beacon-chain/state/stategen/migrate_test.go index 43477ffb40ca..d1edc6da8bae 100644 --- a/beacon-chain/state/stategen/migrate_test.go +++ b/beacon-chain/state/stategen/migrate_test.go @@ -5,9 +5,9 @@ import ( "testing" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -60,7 +60,7 @@ func TestMigrateToCold_MigrationCompletes(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(b.Block) + bRoot, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -81,7 +81,7 @@ func TestMigrateToCold_MigrationCompletes(t *testing.T) { if err := service.beaconDB.SaveBlock(ctx, b); err != nil { t.Fatal(err) } - bRoot, err = ssz.HashTreeRoot(b.Block) + bRoot, err = stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/state/stategen/replay.go b/beacon-chain/state/stategen/replay.go index 2c0ee230d880..50f7b09df498 100644 --- a/beacon-chain/state/stategen/replay.go +++ b/beacon-chain/state/stategen/replay.go @@ -6,11 +6,11 @@ import ( "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" transition "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/db/filters" "github.com/prysmaticlabs/prysm/beacon-chain/state" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" "go.opencensus.io/trace" @@ -262,7 +262,7 @@ func (s *State) lastSavedBlock(ctx context.Context, slot uint64) ([32]byte, uint if lastSaved[0] == nil || lastSaved[0].Block == nil { return [32]byte{}, 0, nil } - r, err := ssz.HashTreeRoot(lastSaved[0].Block) + r, err := stateutil.BlockRoot(lastSaved[0].Block) if err != nil { return [32]byte{}, 0, err } @@ -304,5 +304,5 @@ func (s *State) genesisRoot(ctx context.Context) ([32]byte, error) { if err != nil { return [32]byte{}, err } - return ssz.HashTreeRoot(b.Block) + return stateutil.BlockRoot(b.Block) } diff --git a/beacon-chain/state/stategen/replay_test.go b/beacon-chain/state/stategen/replay_test.go index a72e255b8634..838d5874c993 100644 --- a/beacon-chain/state/stategen/replay_test.go +++ b/beacon-chain/state/stategen/replay_test.go @@ -12,6 +12,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/db" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" @@ -25,7 +26,7 @@ func TestComputeStateUpToSlot_GenesisState(t *testing.T) { service := New(db, cache.NewStateSummaryCache()) gBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(gBlk.Block) + gRoot, err := stateutil.BlockRoot(gBlk.Block) if err != nil { t.Fatal(err) } @@ -57,7 +58,7 @@ func TestComputeStateUpToSlot_CanProcessUpTo(t *testing.T) { service := New(db, cache.NewStateSummaryCache()) gBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(gBlk.Block) + gRoot, err := stateutil.BlockRoot(gBlk.Block) if err != nil { t.Fatal(err) } @@ -88,7 +89,7 @@ func TestReplayBlocks_AllSkipSlots(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) genesisBlock := blocks.NewGenesisBlock([]byte{}) - bodyRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + bodyRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -132,7 +133,7 @@ func TestReplayBlocks_SameSlot(t *testing.T) { beaconState, _ := testutil.DeterministicGenesisState(t, 32) genesisBlock := blocks.NewGenesisBlock([]byte{}) - bodyRoot, err := ssz.HashTreeRoot(genesisBlock.Block) + bodyRoot, err := stateutil.BlockRoot(genesisBlock.Block) if err != nil { t.Fatal(err) } @@ -366,7 +367,7 @@ func TestLastSavedBlock_Genesis(t *testing.T) { } gBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(gBlk.Block) + gRoot, err := stateutil.BlockRoot(gBlk.Block) if err != nil { t.Fatal(err) } @@ -417,7 +418,7 @@ func TestLastSavedBlock_CanGet(t *testing.T) { if savedSlot != s.splitInfo.slot+20 { t.Error("Did not save correct slot") } - wantedRoot, err := ssz.HashTreeRoot(b3.Block) + wantedRoot, err := stateutil.BlockRoot(b3.Block) if err != nil { t.Fatal(err) } @@ -452,7 +453,7 @@ func TestLastSavedState_Genesis(t *testing.T) { } gBlk := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - gRoot, err := ssz.HashTreeRoot(gBlk.Block) + gRoot, err := stateutil.BlockRoot(gBlk.Block) if err != nil { t.Fatal(err) } @@ -488,7 +489,7 @@ func TestLastSavedState_CanGet(t *testing.T) { if err := s.beaconDB.SaveBlock(ctx, b2); err != nil { t.Fatal(err) } - b2Root, err := ssz.HashTreeRoot(b2.Block) + b2Root, err := stateutil.BlockRoot(b2.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/state/stateutil/BUILD.bazel b/beacon-chain/state/stateutil/BUILD.bazel index 6d88b7795426..4a265c1adfe3 100644 --- a/beacon-chain/state/stateutil/BUILD.bazel +++ b/beacon-chain/state/stateutil/BUILD.bazel @@ -18,6 +18,7 @@ go_library( "//beacon-chain:__subpackages__", "//proto/testing:__subpackages__", "//shared/testutil:__subpackages__", + "//tools/blocktree:__pkg__", "//tools/pcli:__pkg__", ], deps = [ diff --git a/beacon-chain/state/stateutil/benchmark_test.go b/beacon-chain/state/stateutil/benchmark_test.go index 69763028d8e3..8d0bcbba4223 100644 --- a/beacon-chain/state/stateutil/benchmark_test.go +++ b/beacon-chain/state/stateutil/benchmark_test.go @@ -5,7 +5,6 @@ import ( "github.com/protolambda/zssz/merkle" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/hashutil" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -33,7 +32,7 @@ func BenchmarkBlockHTR(b *testing.B) { b.ResetTimer() b.ReportAllocs() for i := 0; i < b.N; i++ { - if _, err := ssz.HashTreeRoot(blk.Block); err != nil { + if _, err := stateutil.BlockRoot(blk.Block); err != nil { b.Fatal(err) } } diff --git a/beacon-chain/state/stateutil/blocks_test.go b/beacon-chain/state/stateutil/blocks_test.go index 88c9f5aaafde..db63cf0a05b1 100644 --- a/beacon-chain/state/stateutil/blocks_test.go +++ b/beacon-chain/state/stateutil/blocks_test.go @@ -3,7 +3,6 @@ package stateutil_test import ( "testing" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/testutil" @@ -17,7 +16,7 @@ func TestBlockRoot(t *testing.T) { if err != nil { t.Fatal(err) } - expectedRoot, err := ssz.HashTreeRoot(blk.Block) + expectedRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -32,7 +31,7 @@ func TestBlockRoot(t *testing.T) { if err != nil { t.Fatal(err) } - expectedRoot, err = ssz.HashTreeRoot(blk.Block) + expectedRoot, err = stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/initial-sync-old/BUILD.bazel b/beacon-chain/sync/initial-sync-old/BUILD.bazel index 575e758bcf7c..2fe4c9c5185f 100644 --- a/beacon-chain/sync/initial-sync-old/BUILD.bazel +++ b/beacon-chain/sync/initial-sync-old/BUILD.bazel @@ -48,6 +48,7 @@ go_test( "//beacon-chain/db/testing:go_default_library", "//beacon-chain/p2p/peers:go_default_library", "//beacon-chain/p2p/testing:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//beacon-chain/sync:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//shared/hashutil:go_default_library", @@ -59,7 +60,6 @@ go_test( "@com_github_kevinms_leakybucket_go//:go_default_library", "@com_github_libp2p_go_libp2p_core//network:go_default_library", "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", - "@com_github_prysmaticlabs_go_ssz//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", ], ) diff --git a/beacon-chain/sync/initial-sync-old/round_robin_test.go b/beacon-chain/sync/initial-sync-old/round_robin_test.go index e5476ab9a3ae..eb16def92afd 100644 --- a/beacon-chain/sync/initial-sync-old/round_robin_test.go +++ b/beacon-chain/sync/initial-sync-old/round_robin_test.go @@ -12,7 +12,6 @@ import ( "github.com/kevinms/leakybucket-go" "github.com/libp2p/go-libp2p-core/network" eth "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" @@ -26,6 +25,7 @@ import ( "github.com/prysmaticlabs/prysm/shared/sliceutil" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/sirupsen/logrus" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" ) type testCache struct { @@ -228,7 +228,7 @@ func TestRoundRobinSync(t *testing.T) { if err != nil { t.Fatal(err) } - gRoot, err := ssz.HashTreeRoot(gBlock.Block) + gRoot, err := stateutil.BlockRoot(gBlock.Block) if err != nil { t.Fatal(err) } @@ -334,7 +334,7 @@ func connectPeers(t *testing.T, host *p2pt.TestP2P, data []*peerData, peerStatus blk.Block.ParentRoot = newRoot[:] } ret = append(ret, blk) - currRoot, err := ssz.HashTreeRoot(blk.Block) + currRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -402,7 +402,7 @@ func (c *testCache) initializeRootCache(reqSlots []uint64, t *testing.T) { genesisBlock := ð.BeaconBlock{ Slot: 0, } - genesisRoot, err := ssz.HashTreeRoot(genesisBlock) + genesisRoot, err := stateutil.BlockRoot(genesisBlock) if err != nil { t.Fatal(err) } @@ -413,7 +413,7 @@ func (c *testCache) initializeRootCache(reqSlots []uint64, t *testing.T) { Slot: slot, ParentRoot: parentRoot[:], } - parentRoot, err = ssz.HashTreeRoot(currentBlock) + parentRoot, err = stateutil.BlockRoot(currentBlock) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/initial-sync/BUILD.bazel b/beacon-chain/sync/initial-sync/BUILD.bazel index dd5cb236a7ce..7dc5d15ea62c 100644 --- a/beacon-chain/sync/initial-sync/BUILD.bazel +++ b/beacon-chain/sync/initial-sync/BUILD.bazel @@ -60,6 +60,7 @@ go_test( "//beacon-chain/p2p/peers:go_default_library", "//beacon-chain/p2p/testing:go_default_library", "//beacon-chain/state:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//beacon-chain/sync:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//shared/bytesutil:go_default_library", @@ -74,7 +75,6 @@ go_test( "@com_github_libp2p_go_libp2p_core//network:go_default_library", "@com_github_libp2p_go_libp2p_core//peer:go_default_library", "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", - "@com_github_prysmaticlabs_go_ssz//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", "@com_github_sirupsen_logrus//hooks/test:go_default_library", ], diff --git a/beacon-chain/sync/initial-sync/round_robin_test.go b/beacon-chain/sync/initial-sync/round_robin_test.go index eca910a58a67..d551742094b8 100644 --- a/beacon-chain/sync/initial-sync/round_robin_test.go +++ b/beacon-chain/sync/initial-sync/round_robin_test.go @@ -12,13 +12,13 @@ import ( "github.com/kevinms/leakybucket-go" "github.com/libp2p/go-libp2p-core/network" eth "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" p2pt "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" stateTrie "github.com/prysmaticlabs/prysm/beacon-chain/state" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" beaconsync "github.com/prysmaticlabs/prysm/beacon-chain/sync" p2ppb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/hashutil" @@ -377,7 +377,7 @@ func connectPeers(t *testing.T, host *p2pt.TestP2P, data []*peerData, peerStatus blk.Block.ParentRoot = newRoot[:] } ret = append(ret, blk) - currRoot, err := ssz.HashTreeRoot(blk.Block) + currRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } @@ -445,7 +445,7 @@ func (c *testCache) initializeRootCache(reqSlots []uint64, t *testing.T) { genesisBlock := ð.BeaconBlock{ Slot: 0, } - genesisRoot, err := ssz.HashTreeRoot(genesisBlock) + genesisRoot, err := stateutil.BlockRoot(genesisBlock) if err != nil { t.Fatal(err) } @@ -456,7 +456,7 @@ func (c *testCache) initializeRootCache(reqSlots []uint64, t *testing.T) { Slot: slot, ParentRoot: parentRoot[:], } - parentRoot, err = ssz.HashTreeRoot(currentBlock) + parentRoot, err = stateutil.BlockRoot(currentBlock) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/pending_attestations_queue_test.go b/beacon-chain/sync/pending_attestations_queue_test.go index 7056c8f28396..10f1f292f206 100644 --- a/beacon-chain/sync/pending_attestations_queue_test.go +++ b/beacon-chain/sync/pending_attestations_queue_test.go @@ -10,7 +10,6 @@ import ( "github.com/libp2p/go-libp2p-core/network" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/go-bitfield" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" @@ -18,6 +17,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/attestationutil" "github.com/prysmaticlabs/prysm/shared/bls" @@ -83,7 +83,7 @@ func TestProcessPendingAtts_HasBlockSaveUnAggregatedAtt(t *testing.T) { Target: ðpb.Checkpoint{}}}} b := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - r32, err := ssz.HashTreeRoot(b.Block) + r32, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -125,7 +125,7 @@ func TestProcessPendingAtts_HasBlockSaveAggregatedAtt(t *testing.T) { if err := db.SaveBlock(context.Background(), sb); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(sb.Block) + root, err := stateutil.BlockRoot(sb.Block) if err != nil { t.Fatal(err) } @@ -207,7 +207,7 @@ func TestProcessPendingAtts_HasBlockSaveAggregatedAtt(t *testing.T) { } sb = ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{}} - r32, err := ssz.HashTreeRoot(sb.Block) + r32, err := stateutil.BlockRoot(sb.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/pending_blocks_queue.go b/beacon-chain/sync/pending_blocks_queue.go index b10e79e7a59b..1f7e7ba6e06c 100644 --- a/beacon-chain/sync/pending_blocks_queue.go +++ b/beacon-chain/sync/pending_blocks_queue.go @@ -9,8 +9,8 @@ import ( "github.com/pkg/errors" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/runutil" @@ -115,7 +115,7 @@ func (r *Service) processPendingBlocks(ctx context.Context) error { log.WithError(err).Error("Failed to broadcast block") } - blkRoot, err := ssz.HashTreeRoot(b.Block) + blkRoot, err := stateutil.BlockRoot(b.Block) if err != nil { traceutil.AnnotateError(span, err) span.End() @@ -163,7 +163,7 @@ func (r *Service) validatePendingSlots() error { epoch := helpers.SlotToEpoch(s) // remove all descendant blocks of old blocks if oldBlockRoots[bytesutil.ToBytes32(b.Block.ParentRoot)] { - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { return err } @@ -174,7 +174,7 @@ func (r *Service) validatePendingSlots() error { } // don't process old blocks if finalizedEpoch > 0 && epoch <= finalizedEpoch { - blkRoot, err := ssz.HashTreeRoot(b.Block) + blkRoot, err := stateutil.BlockRoot(b.Block) if err != nil { return err } diff --git a/beacon-chain/sync/pending_blocks_queue_test.go b/beacon-chain/sync/pending_blocks_queue_test.go index 98f50cb0a6a7..b49c44080aef 100644 --- a/beacon-chain/sync/pending_blocks_queue_test.go +++ b/beacon-chain/sync/pending_blocks_queue_test.go @@ -14,6 +14,7 @@ import ( dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/sirupsen/logrus" ) @@ -46,7 +47,7 @@ func TestRegularSyncBeaconBlockSubscriber_ProcessPendingBlocks1(t *testing.T) { if err := r.db.SaveBlock(context.Background(), b0); err != nil { t.Fatal(err) } - b0Root, err := ssz.HashTreeRoot(b0.Block) + b0Root, err := stateutil.BlockRoot(b0.Block) if err != nil { t.Fatal(err) } @@ -56,12 +57,12 @@ func TestRegularSyncBeaconBlockSubscriber_ProcessPendingBlocks1(t *testing.T) { } // Incomplete block link b1 := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 1, ParentRoot: b0Root[:]}} - b1Root, err := ssz.HashTreeRoot(b1.Block) + b1Root, err := stateutil.BlockRoot(b1.Block) if err != nil { t.Fatal(err) } b2 := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 2, ParentRoot: b1Root[:]}} - b2Root, err := ssz.HashTreeRoot(b1.Block) + b2Root, err := stateutil.BlockRoot(b1.Block) if err != nil { t.Fatal(err) } @@ -145,7 +146,7 @@ func TestRegularSyncBeaconBlockSubscriber_ProcessPendingBlocks2(t *testing.T) { if err := r.db.SaveBlock(context.Background(), b0); err != nil { t.Fatal(err) } - b0Root, err := ssz.HashTreeRoot(b0.Block) + b0Root, err := stateutil.BlockRoot(b0.Block) if err != nil { t.Fatal(err) } @@ -153,7 +154,7 @@ func TestRegularSyncBeaconBlockSubscriber_ProcessPendingBlocks2(t *testing.T) { if err := r.db.SaveBlock(context.Background(), b1); err != nil { t.Fatal(err) } - b1Root, err := ssz.HashTreeRoot(b1.Block) + b1Root, err := stateutil.BlockRoot(b1.Block) if err != nil { t.Fatal(err) } @@ -257,7 +258,7 @@ func TestRegularSyncBeaconBlockSubscriber_PruneOldPendingBlocks(t *testing.T) { if err := r.db.SaveBlock(context.Background(), b0); err != nil { t.Fatal(err) } - b0Root, err := ssz.HashTreeRoot(b0.Block) + b0Root, err := stateutil.BlockRoot(b0.Block) if err != nil { t.Fatal(err) } @@ -265,7 +266,7 @@ func TestRegularSyncBeaconBlockSubscriber_PruneOldPendingBlocks(t *testing.T) { if err := r.db.SaveBlock(context.Background(), b1); err != nil { t.Fatal(err) } - b1Root, err := ssz.HashTreeRoot(b1.Block) + b1Root, err := stateutil.BlockRoot(b1.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/rpc_beacon_blocks_by_root.go b/beacon-chain/sync/rpc_beacon_blocks_by_root.go index 295e4b3d7010..d7dc019a21da 100644 --- a/beacon-chain/sync/rpc_beacon_blocks_by_root.go +++ b/beacon-chain/sync/rpc_beacon_blocks_by_root.go @@ -8,8 +8,8 @@ import ( libp2pcore "github.com/libp2p/go-libp2p-core" "github.com/libp2p/go-libp2p-core/peer" "github.com/pkg/errors" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/p2p" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" ) // sendRecentBeaconBlocksRequest sends a recent beacon blocks request to a peer to get @@ -32,7 +32,7 @@ func (r *Service) sendRecentBeaconBlocksRequest(ctx context.Context, blockRoots return err } - blkRoot, err := ssz.HashTreeRoot(blk.Block) + blkRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { return err } diff --git a/beacon-chain/sync/rpc_beacon_blocks_by_root_test.go b/beacon-chain/sync/rpc_beacon_blocks_by_root_test.go index 502451ed94d1..d4c483bc393b 100644 --- a/beacon-chain/sync/rpc_beacon_blocks_by_root_test.go +++ b/beacon-chain/sync/rpc_beacon_blocks_by_root_test.go @@ -16,6 +16,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/state" db "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" ) @@ -87,11 +88,11 @@ func TestRecentBeaconBlocks_RPCRequestSent(t *testing.T) { blockA := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 111}} blockB := ðpb.SignedBeaconBlock{Block: ðpb.BeaconBlock{Slot: 40}} // Set up a head state with data we expect. - blockARoot, err := ssz.HashTreeRoot(blockA.Block) + blockARoot, err := stateutil.BlockRoot(blockA.Block) if err != nil { t.Fatal(err) } - blockBRoot, err := ssz.HashTreeRoot(blockB.Block) + blockBRoot, err := stateutil.BlockRoot(blockB.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/subscriber_committee_index_beacon_attestation_test.go b/beacon-chain/sync/subscriber_committee_index_beacon_attestation_test.go index 742ccf274165..a9c23d4e86ea 100644 --- a/beacon-chain/sync/subscriber_committee_index_beacon_attestation_test.go +++ b/beacon-chain/sync/subscriber_committee_index_beacon_attestation_test.go @@ -8,7 +8,6 @@ import ( lru "github.com/hashicorp/golang-lru" eth "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/go-bitfield" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" @@ -19,6 +18,7 @@ import ( mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/testutil" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" ) func TestService_committeeIndexBeaconAttestationSubscriber_ValidMessage(t *testing.T) { @@ -36,7 +36,7 @@ func TestService_committeeIndexBeaconAttestationSubscriber_ValidMessage(t *testi if err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(blk.Block) + root, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/validate_aggregate_proof_test.go b/beacon-chain/sync/validate_aggregate_proof_test.go index b94103d10b5d..a4331497d94f 100644 --- a/beacon-chain/sync/validate_aggregate_proof_test.go +++ b/beacon-chain/sync/validate_aggregate_proof_test.go @@ -13,7 +13,6 @@ import ( pubsubpb "github.com/libp2p/go-libp2p-pubsub/pb" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/go-bitfield" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" @@ -21,6 +20,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" "github.com/prysmaticlabs/prysm/beacon-chain/p2p" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" "github.com/prysmaticlabs/prysm/shared/attestationutil" "github.com/prysmaticlabs/prysm/shared/bls" @@ -178,7 +178,7 @@ func TestValidateAggregateAndProof_NotWithinSlotRange(t *testing.T) { if err := db.SaveBlock(context.Background(), b); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -272,7 +272,7 @@ func TestValidateAggregateAndProof_ExistedInPool(t *testing.T) { if err := db.SaveBlock(context.Background(), b); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -348,7 +348,7 @@ func TestValidateAggregateAndProofWithNewStateMgmt_CanValidate(t *testing.T) { if err := db.SaveBlock(context.Background(), b); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } @@ -475,7 +475,7 @@ func TestVerifyIndexInCommittee_SeenAggregatorEpoch(t *testing.T) { if err := db.SaveBlock(context.Background(), b); err != nil { t.Fatal(err) } - root, err := ssz.HashTreeRoot(b.Block) + root, err := stateutil.BlockRoot(b.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/validate_beacon_blocks.go b/beacon-chain/sync/validate_beacon_blocks.go index 0b3347bad2de..7e35f338fbef 100644 --- a/beacon-chain/sync/validate_beacon_blocks.go +++ b/beacon-chain/sync/validate_beacon_blocks.go @@ -7,9 +7,9 @@ import ( "github.com/libp2p/go-libp2p-core/peer" pubsub "github.com/libp2p/go-libp2p-pubsub" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/roughtime" @@ -59,7 +59,7 @@ func (r *Service) validateBeaconBlockPubSub(ctx context.Context, pid peer.ID, ms return false } - blockRoot, err := ssz.HashTreeRoot(blk.Block) + blockRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { return false } diff --git a/beacon-chain/sync/validate_beacon_blocks_test.go b/beacon-chain/sync/validate_beacon_blocks_test.go index 09befb42e0fc..f19fb82e97b9 100644 --- a/beacon-chain/sync/validate_beacon_blocks_test.go +++ b/beacon-chain/sync/validate_beacon_blocks_test.go @@ -11,7 +11,6 @@ import ( pubsub "github.com/libp2p/go-libp2p-pubsub" pubsubpb "github.com/libp2p/go-libp2p-pubsub/pb" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" - "github.com/prysmaticlabs/go-ssz" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" @@ -20,6 +19,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/bls" @@ -141,7 +141,7 @@ func TestValidateBeaconBlockPubSub_ValidProposerSignature(t *testing.T) { if err := db.SaveBlock(ctx, parentBlock); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(parentBlock.Block) + bRoot, err := stateutil.BlockRoot(parentBlock.Block) if err := db.SaveState(ctx, beaconState, bRoot); err != nil { t.Fatal(err) } @@ -385,7 +385,7 @@ func TestValidateBeaconBlockPubSub_SeenProposerSlot(t *testing.T) { if err := db.SaveBlock(ctx, parentBlock); err != nil { t.Fatal(err) } - bRoot, err := ssz.HashTreeRoot(parentBlock.Block) + bRoot, err := stateutil.BlockRoot(parentBlock.Block) if err := db.SaveState(ctx, beaconState, bRoot); err != nil { t.Fatal(err) } @@ -464,7 +464,7 @@ func TestValidateBeaconBlockPubSub_FilterByFinalizedEpoch(t *testing.T) { if err := db.SaveBlock(context.Background(), parent); err != nil { t.Fatal(err) } - parentRoot, err := ssz.HashTreeRoot(parent.Block) + parentRoot, err := stateutil.BlockRoot(parent.Block) if err != nil { t.Fatal(err) } diff --git a/beacon-chain/sync/validate_committee_index_beacon_attestation_test.go b/beacon-chain/sync/validate_committee_index_beacon_attestation_test.go index 79f719983661..1dbbacfe9a03 100644 --- a/beacon-chain/sync/validate_committee_index_beacon_attestation_test.go +++ b/beacon-chain/sync/validate_committee_index_beacon_attestation_test.go @@ -12,7 +12,6 @@ import ( pubsubpb "github.com/libp2p/go-libp2p-pubsub/pb" ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/go-bitfield" - "github.com/prysmaticlabs/go-ssz" mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/cache" dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" @@ -21,6 +20,7 @@ import ( "github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" ) func TestService_validateCommitteeIndexBeaconAttestation(t *testing.T) { @@ -60,7 +60,7 @@ func TestService_validateCommitteeIndexBeaconAttestation(t *testing.T) { t.Fatal(err) } - validBlockRoot, err := ssz.HashTreeRoot(blk.Block) + validBlockRoot, err := stateutil.BlockRoot(blk.Block) if err != nil { t.Fatal(err) } diff --git a/shared/featureconfig/flags.go b/shared/featureconfig/flags.go index 7790f9497fd3..6d595c50ddf8 100644 --- a/shared/featureconfig/flags.go +++ b/shared/featureconfig/flags.go @@ -410,4 +410,5 @@ var E2EBeaconChainFlags = []string{ "--enable-state-field-trie", "--enable-state-ref-copy", "--enable-new-state-mgmt", + "--enable-custom-block-htr", } diff --git a/tools/analyzers/featureconfig/analyzer.go b/tools/analyzers/featureconfig/analyzer.go index 48db5c7629c3..b75c5032f61d 100644 --- a/tools/analyzers/featureconfig/analyzer.go +++ b/tools/analyzers/featureconfig/analyzer.go @@ -4,6 +4,7 @@ import ( "errors" "go/ast" "go/token" + "golang.org/x/tools/go/analysis" "golang.org/x/tools/go/analysis/passes/inspect" "golang.org/x/tools/go/ast/inspector" @@ -41,7 +42,7 @@ func run(pass *analysis.Pass) (interface{}, error) { } switch stmt := node.(type) { case *ast.ExprStmt: - if call, ok := stmt.X.(*ast.CallExpr); ok&& isPkgDot(call.Fun, "featureconfig", "InitWithReset"){ + if call, ok := stmt.X.(*ast.CallExpr); ok && isPkgDot(call.Fun, "featureconfig", "InitWithReset") { reportUnhandledReset(pass, call.Lparen) } case *ast.GoStmt: @@ -70,13 +71,13 @@ func run(pass *analysis.Pass) (interface{}, error) { } func reportForbiddenUsage(pass *analysis.Pass, pos token.Pos) { - pass.Reportf(pos, "Use of featureconfig.Init is forbidden in test code. Please use " + + pass.Reportf(pos, "Use of featureconfig.Init is forbidden in test code. Please use "+ "featureconfig.InitWithReset and call reset in the same test function.") } func reportUnhandledReset(pass *analysis.Pass, pos token.Pos) { - pass.Reportf(pos, "Unhandled reset featureconfig not found in test " + - "method. Be sure to call the returned reset function from featureconfig.InitWithReset " + + pass.Reportf(pos, "Unhandled reset featureconfig not found in test "+ + "method. Be sure to call the returned reset function from featureconfig.InitWithReset "+ "within this test method.") } diff --git a/tools/blocktree/BUILD.bazel b/tools/blocktree/BUILD.bazel index fb7ad2e7c7f9..a774a743a36d 100644 --- a/tools/blocktree/BUILD.bazel +++ b/tools/blocktree/BUILD.bazel @@ -10,10 +10,10 @@ go_library( "//beacon-chain/core/helpers:go_default_library", "//beacon-chain/db:go_default_library", "//beacon-chain/db/filters:go_default_library", + "//beacon-chain/state/stateutil:go_default_library", "//shared/attestationutil:go_default_library", "//shared/bytesutil:go_default_library", "@com_github_emicklei_dot//:go_default_library", - "@com_github_prysmaticlabs_go_ssz//:go_default_library", ], ) diff --git a/tools/blocktree/main.go b/tools/blocktree/main.go index f5a73a4ff52d..88a61c92cfd0 100644 --- a/tools/blocktree/main.go +++ b/tools/blocktree/main.go @@ -16,11 +16,11 @@ import ( "strconv" "github.com/emicklei/dot" - "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db/filters" + "github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil" "github.com/prysmaticlabs/prysm/shared/attestationutil" "github.com/prysmaticlabs/prysm/shared/bytesutil" ) @@ -62,7 +62,7 @@ func main() { m := make(map[[32]byte]*node) for i := 0; i < len(blks); i++ { b := blks[i] - r, err := ssz.HashTreeRoot(b.Block) + r, err := stateutil.BlockRoot(b.Block) if err != nil { panic(err) } @@ -83,7 +83,7 @@ func main() { if err != nil { panic(err) } - rs, err := ssz.HashTreeRoot(bs[0].Block) + rs, err := stateutil.BlockRoot(bs[0].Block) if err != nil { panic(err) } diff --git a/validator/client/validator_propose_test.go b/validator/client/validator_propose_test.go index e2c00eb8b280..18825d312e22 100644 --- a/validator/client/validator_propose_test.go +++ b/validator/client/validator_propose_test.go @@ -33,11 +33,11 @@ func setup(t *testing.T) (*validator, *mocks, func()) { } validator := &validator{ - db: valDB, - validatorClient: m.validatorClient, - keyManager: testKeyManager, - graffiti: []byte{}, - attLogs: make(map[[32]byte]*attSubmitted), + db: valDB, + validatorClient: m.validatorClient, + keyManager: testKeyManager, + graffiti: []byte{}, + attLogs: make(map[[32]byte]*attSubmitted), aggregatedSlotCommitteeIDCache: aggregatedSlotCommitteeIDCache, } diff --git a/validator/internal/beacon_node_validator_service_mock.go b/validator/internal/beacon_node_validator_service_mock.go index 7d8ac7ac2324..9534bac36380 100644 --- a/validator/internal/beacon_node_validator_service_mock.go +++ b/validator/internal/beacon_node_validator_service_mock.go @@ -6,12 +6,13 @@ package internal import ( context "context" + reflect "reflect" + types "github.com/gogo/protobuf/types" gomock "github.com/golang/mock/gomock" eth "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" grpc "google.golang.org/grpc" metadata "google.golang.org/grpc/metadata" - reflect "reflect" ) // MockBeaconNodeValidatorClient is a mock of BeaconNodeValidatorClient interface