Skip to content

Commit

Permalink
Fix conflicts. Pass build and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
terencechain committed Mar 17, 2023
1 parent 5f32b8f commit 69443da
Show file tree
Hide file tree
Showing 31 changed files with 105 additions and 305 deletions.
11 changes: 0 additions & 11 deletions beacon-chain/blockchain/head_test.go
Expand Up @@ -13,7 +13,6 @@ import (
forkchoicetypes "github.com/prysmaticlabs/prysm/v4/beacon-chain/forkchoice/types"
"github.com/prysmaticlabs/prysm/v4/beacon-chain/operations/blstoexec"
"github.com/prysmaticlabs/prysm/v4/beacon-chain/state/stategen"
"github.com/prysmaticlabs/prysm/v4/config/features"
"github.com/prysmaticlabs/prysm/v4/config/params"
"github.com/prysmaticlabs/prysm/v4/consensus-types/blocks"
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
Expand Down Expand Up @@ -386,11 +385,6 @@ func TestSaveOrphanedAtts_CanFilter(t *testing.T) {
}

func TestSaveOrphanedAtts_DoublyLinkedTrie(t *testing.T) {
resetCfg := features.InitWithReset(&features.Flags{
DisableForkchoiceDoublyLinkedTree: false,
})
defer resetCfg()

ctx := context.Background()
beaconDB := testDB.SetupDB(t)
service := setupBeaconChain(t, beaconDB)
Expand Down Expand Up @@ -456,11 +450,6 @@ func TestSaveOrphanedAtts_DoublyLinkedTrie(t *testing.T) {
}

func TestSaveOrphanedAtts_CanFilter_DoublyLinkedTrie(t *testing.T) {
resetCfg := features.InitWithReset(&features.Flags{
DisableForkchoiceDoublyLinkedTree: false,
})
defer resetCfg()

ctx := context.Background()
beaconDB := testDB.SetupDB(t)
service := setupBeaconChain(t, beaconDB)
Expand Down
1 change: 0 additions & 1 deletion beacon-chain/node/BUILD.bazel
Expand Up @@ -63,7 +63,6 @@ go_library(
"@com_github_ethereum_go_ethereum//common:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_prometheus_client_golang//prometheus:go_default_library",
"@com_github_prysmaticlabs_fastssz//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],
Expand Down
8 changes: 0 additions & 8 deletions beacon-chain/node/config.go
Expand Up @@ -4,10 +4,8 @@ import (
"fmt"

"github.com/ethereum/go-ethereum/common"
fastssz "github.com/prysmaticlabs/fastssz"
"github.com/prysmaticlabs/prysm/v4/cmd"
"github.com/prysmaticlabs/prysm/v4/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/v4/config/features"
"github.com/prysmaticlabs/prysm/v4/config/params"
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
tracing2 "github.com/prysmaticlabs/prysm/v4/monitoring/tracing"
Expand Down Expand Up @@ -191,9 +189,3 @@ func configureExecutionSetting(cliCtx *cli.Context) error {
" Default fee recipient will be used as a fall back", checksumAddress.Hex())
return params.SetActive(c)
}

func configureFastSSZHashingAlgorithm() {
if features.Get().EnableVectorizedHTR {
fastssz.EnableVectorizedHTR = true
}
}
1 change: 0 additions & 1 deletion beacon-chain/node/node.go
Expand Up @@ -148,7 +148,6 @@ func New(cliCtx *cli.Context, opts ...Option) (*BeaconNode, error) {
if err := configureExecutionSetting(cliCtx); err != nil {
return nil, err
}
configureFastSSZHashingAlgorithm()

// Initializes any forks here.
params.BeaconConfig().InitializeForkSchedule()
Expand Down
3 changes: 1 addition & 2 deletions beacon-chain/rpc/eth/beacon/blinded_blocks_test.go
Expand Up @@ -15,7 +15,6 @@ import (
"github.com/prysmaticlabs/prysm/v4/beacon-chain/rpc/prysm/v1alpha1/validator"
"github.com/prysmaticlabs/prysm/v4/config/params"
"github.com/prysmaticlabs/prysm/v4/consensus-types/blocks"
"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/encoding/bytesutil"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
enginev1 "github.com/prysmaticlabs/prysm/v4/proto/engine/v1"
Expand Down Expand Up @@ -1141,7 +1140,7 @@ func TestSubmitBlindedBlock(t *testing.T) {
Amount: 2,
},
}
withdrawalsRoot, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), withdrawals, 16)
withdrawalsRoot, err := ssz.WithdrawalSliceRoot(withdrawals, 16)
require.NoError(t, err)

beaconDB := dbTest.SetupDB(t)
Expand Down
11 changes: 8 additions & 3 deletions beacon-chain/rpc/eth/validator/validator_test.go
Expand Up @@ -39,7 +39,6 @@ import (
"github.com/prysmaticlabs/prysm/v4/consensus-types/blocks"
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
"github.com/prysmaticlabs/prysm/v4/crypto/bls"
"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/encoding/bytesutil"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
enginev1 "github.com/prysmaticlabs/prysm/v4/proto/engine/v1"
Expand Down Expand Up @@ -455,13 +454,16 @@ func TestGetSyncCommitteeDuties(t *testing.T) {
currCommittee := &ethpbalpha.SyncCommittee{}
for i := 0; i < 5; i++ {
currCommittee.Pubkeys = append(currCommittee.Pubkeys, vals[i].PublicKey)
currCommittee.AggregatePubkey = make([]byte, 48)
}
// add one public key twice - this is needed for one of the test cases
currCommittee.Pubkeys = append(currCommittee.Pubkeys, vals[0].PublicKey)
require.NoError(t, st.SetCurrentSyncCommittee(currCommittee))
nextCommittee := &ethpbalpha.SyncCommittee{}
for i := 5; i < 10; i++ {
nextCommittee.Pubkeys = append(nextCommittee.Pubkeys, vals[i].PublicKey)
nextCommittee.AggregatePubkey = make([]byte, 48)

}
require.NoError(t, st.SetNextSyncCommittee(nextCommittee))
db := dbutil.SetupDB(t)
Expand Down Expand Up @@ -590,11 +592,14 @@ func TestGetSyncCommitteeDuties(t *testing.T) {
currCommittee := &ethpbalpha.SyncCommittee{}
for i := 5; i < 10; i++ {
currCommittee.Pubkeys = append(currCommittee.Pubkeys, vals[i].PublicKey)
currCommittee.AggregatePubkey = make([]byte, 48)
}
require.NoError(t, newSyncPeriodSt.SetCurrentSyncCommittee(currCommittee))
nextCommittee := &ethpbalpha.SyncCommittee{}
for i := 0; i < 5; i++ {
nextCommittee.Pubkeys = append(nextCommittee.Pubkeys, vals[i].PublicKey)
nextCommittee.AggregatePubkey = make([]byte, 48)

}
require.NoError(t, newSyncPeriodSt.SetNextSyncCommittee(nextCommittee))

Expand Down Expand Up @@ -1181,7 +1186,7 @@ func TestProduceBlockV2(t *testing.T) {
Amount: 123,
},
}
withdrawalsRoot, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), withdrawals, 2)
withdrawalsRoot, err := ssz.WithdrawalSliceRoot(withdrawals, 2)
require.NoError(t, err)

payloadHeader, err := blocks.WrappedExecutionPayloadHeaderCapella(&enginev1.ExecutionPayloadHeaderCapella{
Expand Down Expand Up @@ -2715,7 +2720,7 @@ func TestProduceBlindedBlock(t *testing.T) {
require.NoError(t, err)
wds, err := beaconState.ExpectedWithdrawals()
require.NoError(t, err)
wr, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), wds, fieldparams.MaxWithdrawalsPerPayload)
wr, err := ssz.WithdrawalSliceRoot(wds, fieldparams.MaxWithdrawalsPerPayload)
require.NoError(t, err)
bid := &ethpbalpha.BuilderBidCapella{
Header: &enginev1.ExecutionPayloadHeaderCapella{
Expand Down
Expand Up @@ -17,7 +17,6 @@ import (
consensusblocks "github.com/prysmaticlabs/prysm/v4/consensus-types/blocks"
"github.com/prysmaticlabs/prysm/v4/consensus-types/interfaces"
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/encoding/bytesutil"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
enginev1 "github.com/prysmaticlabs/prysm/v4/proto/engine/v1"
Expand Down Expand Up @@ -344,7 +343,7 @@ func matchingWithdrawalsRoot(local, builder interfaces.ExecutionData) (bool, err
if err != nil {
return false, errors.Wrap(err, "could not get builder withdrawals root")
}
wr, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), wds, fieldparams.MaxWithdrawalsPerPayload)
wr, err := ssz.WithdrawalSliceRoot(wds, fieldparams.MaxWithdrawalsPerPayload)
if err != nil {
return false, errors.Wrap(err, "could not compute local withdrawals root")
}
Expand Down
Expand Up @@ -22,7 +22,6 @@ import (
"github.com/prysmaticlabs/prysm/v4/consensus-types/interfaces"
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
"github.com/prysmaticlabs/prysm/v4/crypto/bls"
"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/encoding/bytesutil"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
v1 "github.com/prysmaticlabs/prysm/v4/proto/engine/v1"
Expand Down Expand Up @@ -136,7 +135,7 @@ func TestServer_setExecutionData(t *testing.T) {
require.NoError(t, err)
sk, err := bls.RandKey()
require.NoError(t, err)
wr, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), withdrawals, fieldparams.MaxWithdrawalsPerPayload)
wr, err := ssz.WithdrawalSliceRoot(withdrawals, fieldparams.MaxWithdrawalsPerPayload)
require.NoError(t, err)
bid := &ethpb.BuilderBidCapella{
Header: &v1.ExecutionPayloadHeaderCapella{
Expand Down Expand Up @@ -579,7 +578,7 @@ func Test_matchingWithdrawalsRoot(t *testing.T) {
p, err := blocks.WrappedExecutionPayloadCapella(local, big.NewInt(0))
require.NoError(t, err)
header := &v1.ExecutionPayloadHeaderCapella{}
wr, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), wds, fieldparams.MaxWithdrawalsPerPayload)
wr, err := ssz.WithdrawalSliceRoot(wds, fieldparams.MaxWithdrawalsPerPayload)
require.NoError(t, err)
header.WithdrawalsRoot = wr[:]
h, err := blocks.WrappedExecutionPayloadHeaderCapella(header, big.NewInt(0))
Expand Down
Expand Up @@ -9,7 +9,6 @@ import (
fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams"
"github.com/prysmaticlabs/prysm/v4/consensus-types/blocks"
"github.com/prysmaticlabs/prysm/v4/consensus-types/interfaces"
"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
v1 "github.com/prysmaticlabs/prysm/v4/proto/engine/v1"
"github.com/prysmaticlabs/prysm/v4/testing/require"
Expand Down Expand Up @@ -86,7 +85,7 @@ func TestServer_unblindBuilderCapellaBlock(t *testing.T) {
b.Block.ProposerIndex = 2
txRoot, err := ssz.TransactionsRoot(make([][]byte, 0))
require.NoError(t, err)
wdRoot, err := ssz.WithdrawalSliceRoot(hash.CustomSHA256Hasher(), []*v1.Withdrawal{}, fieldparams.MaxWithdrawalsPerPayload)
wdRoot, err := ssz.WithdrawalSliceRoot([]*v1.Withdrawal{}, fieldparams.MaxWithdrawalsPerPayload)
require.NoError(t, err)
b.Block.Body.ExecutionPayloadHeader = &v1.ExecutionPayloadHeaderCapella{
ParentHash: make([]byte, fieldparams.RootLength),
Expand Down
1 change: 1 addition & 0 deletions beacon-chain/state/fieldtrie/BUILD.bazel
Expand Up @@ -12,6 +12,7 @@ go_library(
"//beacon-chain/state/state-native/custom-types:go_default_library",
"//beacon-chain/state/state-native/types:go_default_library",
"//beacon-chain/state/stateutil:go_default_library",
"//crypto/hash:go_default_library",
"//encoding/bytesutil:go_default_library",
"//math:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
Expand Down
6 changes: 2 additions & 4 deletions beacon-chain/state/fieldtrie/field_trie_helpers.go
Expand Up @@ -212,9 +212,8 @@ func handleValidatorSlice(val []*ethpb.Validator, indices []uint64, convertAll b
length = len(val)
}
roots := make([][32]byte, 0, length)
hasher := hash.CustomSHA256Hasher()
rootCreator := func(input *ethpb.Validator) error {
newRoot, err := stateutil.ValidatorRootWithHasher(hasher, input)
newRoot, err := stateutil.ValidatorRootWithHasher(input)
if err != nil {
return err
}
Expand Down Expand Up @@ -290,9 +289,8 @@ func handlePendingAttestationSlice(val []*ethpb.PendingAttestation, indices []ui
length = len(val)
}
roots := make([][32]byte, 0, length)
hasher := hash.CustomSHA256Hasher()
rootCreator := func(input *ethpb.PendingAttestation) error {
newRoot, err := stateutil.PendingAttRootWithHasher(hasher, input)
newRoot, err := stateutil.PendingAttRootWithHasher(input)
if err != nil {
return err
}
Expand Down
6 changes: 3 additions & 3 deletions beacon-chain/state/state-native/hasher.go
Expand Up @@ -186,21 +186,21 @@ func ComputeFieldRootsWithHasher(ctx context.Context, state *BeaconState) ([][]b
fieldRoots[types.JustificationBits.RealPosition()] = justifiedBitsRoot[:]

// PreviousJustifiedCheckpoint data structure root.
prevCheckRoot, err := ssz.CheckpointRoot(hasher, state.previousJustifiedCheckpoint)
prevCheckRoot, err := ssz.CheckpointRoot(state.previousJustifiedCheckpoint)
if err != nil {
return nil, errors.Wrap(err, "could not compute previous justified checkpoint merkleization")
}
fieldRoots[types.PreviousJustifiedCheckpoint.RealPosition()] = prevCheckRoot[:]

// CurrentJustifiedCheckpoint data structure root.
currJustRoot, err := ssz.CheckpointRoot(hasher, state.currentJustifiedCheckpoint)
currJustRoot, err := ssz.CheckpointRoot(state.currentJustifiedCheckpoint)
if err != nil {
return nil, errors.Wrap(err, "could not compute current justified checkpoint merkleization")
}
fieldRoots[types.CurrentJustifiedCheckpoint.RealPosition()] = currJustRoot[:]

// FinalizedCheckpoint data structure root.
finalRoot, err := ssz.CheckpointRoot(hasher, state.finalizedCheckpoint)
finalRoot, err := ssz.CheckpointRoot(state.finalizedCheckpoint)
if err != nil {
return nil, errors.Wrap(err, "could not compute finalized checkpoint merkleization")
}
Expand Down
6 changes: 3 additions & 3 deletions beacon-chain/state/state-native/state_trie.go
Expand Up @@ -817,11 +817,11 @@ func (b *BeaconState) rootSelector(ctx context.Context, field types.FieldIndex)
case types.JustificationBits:
return bytesutil.ToBytes32(b.justificationBits), nil
case types.PreviousJustifiedCheckpoint:
return ssz.CheckpointRoot(hasher, b.previousJustifiedCheckpoint)
return ssz.CheckpointRoot(b.previousJustifiedCheckpoint)
case types.CurrentJustifiedCheckpoint:
return ssz.CheckpointRoot(hasher, b.currentJustifiedCheckpoint)
return ssz.CheckpointRoot(b.currentJustifiedCheckpoint)
case types.FinalizedCheckpoint:
return ssz.CheckpointRoot(hasher, b.finalizedCheckpoint)
return ssz.CheckpointRoot(b.finalizedCheckpoint)
case types.InactivityScores:
return stateutil.Uint64ListRootWithRegistryLimit(b.inactivityScores)
case types.CurrentSyncCommittee:
Expand Down
3 changes: 1 addition & 2 deletions beacon-chain/state/stateutil/block_header_root.go
Expand Up @@ -3,7 +3,6 @@ package stateutil
import (
"encoding/binary"

"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/encoding/bytesutil"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
Expand All @@ -30,5 +29,5 @@ func BlockHeaderRoot(header *ethpb.BeaconBlockHeader) ([32]byte, error) {
bodyRoot := bytesutil.ToBytes32(header.BodyRoot)
fieldRoots[4] = bodyRoot
}
return ssz.BitwiseMerkleize(hash.CustomSHA256Hasher(), fieldRoots, uint64(len(fieldRoots)), uint64(len(fieldRoots)))
return ssz.BitwiseMerkleize(fieldRoots, uint64(len(fieldRoots)), uint64(len(fieldRoots)))
}
3 changes: 1 addition & 2 deletions beacon-chain/state/stateutil/eth1_root.go
Expand Up @@ -33,7 +33,7 @@ func Eth1DataRootWithHasher(hasher ssz.HashFn, eth1Data *ethpb.Eth1Data) ([32]by
if len(eth1Data.BlockHash) > 0 {
fieldRoots[2] = bytesutil.ToBytes32(eth1Data.BlockHash)
}
root, err := ssz.BitwiseMerkleize(hasher, fieldRoots, uint64(len(fieldRoots)), uint64(len(fieldRoots)))
root, err := ssz.BitwiseMerkleize(fieldRoots, uint64(len(fieldRoots)), uint64(len(fieldRoots)))
if err != nil {
return [32]byte{}, err
}
Expand All @@ -53,7 +53,6 @@ func Eth1DatasRoot(eth1Datas []*ethpb.Eth1Data) ([32]byte, error) {
}

eth1VotesRootsRoot, err := ssz.BitwiseMerkleize(
hasher,
eth1VotesRoots,
uint64(len(eth1VotesRoots)),
params.BeaconConfig().Eth1DataVotesLength(),
Expand Down
3 changes: 1 addition & 2 deletions beacon-chain/state/stateutil/field_root_attestation.go
Expand Up @@ -35,7 +35,6 @@ func EpochAttestationsRoot(atts []*ethpb.PendingAttestation) ([32]byte, error) {
}

attsRootsRoot, err := ssz.BitwiseMerkleize(
hasher,
roots,
uint64(len(roots)),
params.BeaconConfig().CurrentEpochAttestationsLength(),
Expand All @@ -58,5 +57,5 @@ func pendingAttestationRoot(hasher ssz.HashFn, att *ethpb.PendingAttestation) ([
if att == nil {
return [32]byte{}, errors.New("nil pending attestation")
}
return PendingAttRootWithHasher(hasher, att)
return PendingAttRootWithHasher(att)
}
43 changes: 5 additions & 38 deletions beacon-chain/state/stateutil/field_root_validator.go
Expand Up @@ -5,9 +5,7 @@ import (
"encoding/binary"

"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/v4/config/features"
fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams"
"github.com/prysmaticlabs/prysm/v4/crypto/hash"
"github.com/prysmaticlabs/prysm/v4/crypto/hash/htr"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
Expand All @@ -32,23 +30,12 @@ func ValidatorRegistryRoot(vals []*ethpb.Validator) ([32]byte, error) {
}

func validatorRegistryRoot(validators []*ethpb.Validator) ([32]byte, error) {
hasher := hash.CustomSHA256Hasher()

var err error
var roots [][32]byte
if features.Get().EnableVectorizedHTR {
roots, err = optimizedValidatorRoots(validators)
if err != nil {
return [32]byte{}, err
}
} else {
roots, err = validatorRoots(hasher, validators)
if err != nil {
return [32]byte{}, err
}
roots, err := optimizedValidatorRoots(validators)
if err != nil {
return [32]byte{}, err
}

validatorsRootsRoot, err := ssz.BitwiseMerkleize(hasher, roots, uint64(len(roots)), fieldparams.ValidatorRegistryLimit)
validatorsRootsRoot, err := ssz.BitwiseMerkleize(roots, uint64(len(roots)), fieldparams.ValidatorRegistryLimit)
if err != nil {
return [32]byte{}, errors.Wrap(err, "could not compute validator registry merkleization")
}
Expand All @@ -64,27 +51,14 @@ func validatorRegistryRoot(validators []*ethpb.Validator) ([32]byte, error) {
return res, nil
}

func validatorRoots(hasher func([]byte) [32]byte, validators []*ethpb.Validator) ([][32]byte, error) {
roots := make([][32]byte, len(validators))
for i := 0; i < len(validators); i++ {
val, err := validatorRoot(hasher, validators[i])
if err != nil {
return [][32]byte{}, errors.Wrap(err, "could not compute validators merkleization")
}
roots[i] = val
}
return roots, nil
}

func optimizedValidatorRoots(validators []*ethpb.Validator) ([][32]byte, error) {
// Exit early if no validators are provided.
if len(validators) == 0 {
return [][32]byte{}, nil
}
roots := make([][32]byte, 0, len(validators)*validatorFieldRoots)
hasher := hash.CustomSHA256Hasher()
for i := 0; i < len(validators); i++ {
fRoots, err := ValidatorFieldRoots(hasher, validators[i])
fRoots, err := ValidatorFieldRoots(validators[i])
if err != nil {
return [][32]byte{}, errors.Wrap(err, "could not compute validators merkleization")
}
Expand All @@ -103,10 +77,3 @@ func optimizedValidatorRoots(validators []*ethpb.Validator) ([][32]byte, error)
}
return roots, nil
}

func validatorRoot(hasher ssz.HashFn, validator *ethpb.Validator) ([32]byte, error) {
if validator == nil {
return [32]byte{}, errors.New("nil validator")
}
return ValidatorRootWithHasher(hasher, validator)
}

0 comments on commit 69443da

Please sign in to comment.