Create config package for Shared/featureconfig (#9593)

* add config/features

* Gazelle

* Gazelle

* Fix build

* Go mod tidy

* active cache

Co-authored-by: rauljordan <raul@prysmaticlabs.com>
This commit is contained in:
terence tsao
2021-09-14 18:18:39 -07:00
committed by GitHub
parent 3e71997290
commit 31a78ab22a
136 changed files with 347 additions and 346 deletions

View File

@@ -46,6 +46,7 @@ go_library(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/stategen:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
@@ -53,7 +54,6 @@ go_library(
"//shared/attestationutil:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/mputil:go_default_library",
"//shared/params:go_default_library",
"//shared/version:go_default_library",

View File

@@ -13,10 +13,10 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/time/slots"
"github.com/sirupsen/logrus"
@@ -371,7 +371,7 @@ func (s *Service) notifyNewHeadEvent(
// attestation pool. It also filters out the attestations that is one epoch older as a
// defense so invalid attestations don't flow into the attestation pool.
func (s *Service) saveOrphanedAtts(ctx context.Context, orphanedRoot [32]byte) error {
if !featureconfig.Get().CorrectlyInsertOrphanedAtts {
if !features.Get().CorrectlyInsertOrphanedAtts {
return nil
}

View File

@@ -10,10 +10,10 @@ import (
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core"
testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/config/features"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
@@ -215,7 +215,7 @@ func Test_notifyNewHeadEvent(t *testing.T) {
}
func TestSaveOrphanedAtts(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
CorrectlyInsertOrphanedAtts: true,
})
defer resetCfg()
@@ -241,7 +241,7 @@ func TestSaveOrphanedAtts(t *testing.T) {
}
func TestSaveOrphanedAtts_CanFilter(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
CorrectlyInsertOrphanedAtts: true,
})
defer resetCfg()

View File

@@ -11,9 +11,9 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/mputil"
"github.com/prysmaticlabs/prysm/shared/params"
)
@@ -44,7 +44,7 @@ func (s *Service) getAttPreState(ctx context.Context, c *ethpb.Checkpoint) (stat
return nil, err
}
if epochStartSlot > baseState.Slot() {
if featureconfig.Get().EnableNextSlotStateCache {
if features.Get().EnableNextSlotStateCache {
baseState, err = transition.ProcessSlotsUsingNextSlotCache(ctx, baseState, c.Root, epochStartSlot)
if err != nil {
return nil, errors.Wrapf(err, "could not process slots up to epoch %d", c.Epoch)

View File

@@ -12,13 +12,13 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/attestationutil"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"go.opencensus.io/trace"
)
@@ -107,7 +107,7 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b
}
// Updating next slot state cache can happen in the background. It shouldn't block rest of the process.
if featureconfig.Get().EnableNextSlotStateCache {
if features.Get().EnableNextSlotStateCache {
go func() {
// Use a custom deadline here, since this method runs asynchronously.
// We ignore the parent method's context and instead create a new one
@@ -128,7 +128,7 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b
}
newFinalized := postState.FinalizedCheckpointEpoch() > s.finalizedCheckpt.Epoch
if featureconfig.Get().UpdateHeadTimely {
if features.Get().UpdateHeadTimely {
if newFinalized {
if err := s.finalizedImpliesNewJustified(ctx, postState); err != nil {
return errors.Wrap(err, "could not save new justified")
@@ -166,7 +166,7 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b
if err := s.cfg.ForkChoiceStore.Prune(ctx, fRoot); err != nil {
return errors.Wrap(err, "could not prune proto array fork choice nodes")
}
if !featureconfig.Get().UpdateHeadTimely {
if !features.Get().UpdateHeadTimely {
if err := s.finalizedImpliesNewJustified(ctx, postState); err != nil {
return errors.Wrap(err, "could not save new justified")
}
@@ -309,7 +309,7 @@ func (s *Service) handleBlockAfterBatchVerify(ctx context.Context, signed block.
if err := s.updateFinalized(ctx, fCheckpoint); err != nil {
return err
}
if featureconfig.Get().UpdateHeadTimely {
if features.Get().UpdateHeadTimely {
s.prevFinalizedCheckpt = s.finalizedCheckpt
s.finalizedCheckpt = fCheckpoint
}
@@ -422,7 +422,7 @@ func (s *Service) savePostStateInfo(ctx context.Context, r [32]byte, b block.Sig
// This removes the attestations from the mem pool. It will only remove the attestations if input root `r` is canonical,
// meaning the block `b` is part of the canonical chain.
func (s *Service) pruneCanonicalAttsFromPool(ctx context.Context, r [32]byte, b block.SignedBeaconBlock) error {
if !featureconfig.Get().CorrectlyPruneCanonicalAtts {
if !features.Get().CorrectlyPruneCanonicalAtts {
return nil
}

View File

@@ -10,12 +10,12 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/tracing"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/attestationutil"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"go.opencensus.io/trace"
)
@@ -243,7 +243,7 @@ func (s *Service) updateFinalized(ctx context.Context, cp *ethpb.Checkpoint) err
if err := s.cfg.BeaconDB.SaveFinalizedCheckpoint(ctx, cp); err != nil {
return err
}
if !featureconfig.Get().UpdateHeadTimely {
if !features.Get().UpdateHeadTimely {
s.prevFinalizedCheckpt = s.finalizedCheckpt
s.finalizedCheckpt = cp
}

View File

@@ -20,12 +20,12 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stategen"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/attestationutil"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
@@ -1003,7 +1003,7 @@ func TestInsertFinalizedDeposits(t *testing.T) {
}
func TestRemoveBlockAttestationsInPool_Canonical(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
CorrectlyPruneCanonicalAtts: true,
})
defer resetCfg()
@@ -1027,7 +1027,7 @@ func TestRemoveBlockAttestationsInPool_Canonical(t *testing.T) {
}
func TestRemoveBlockAttestationsInPool_NonCanonical(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
CorrectlyPruneCanonicalAtts: true,
})
defer resetCfg()

View File

@@ -8,9 +8,9 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/tracing"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/time"
"go.opencensus.io/trace"
)
@@ -44,7 +44,7 @@ func (s *Service) ReceiveBlock(ctx context.Context, block block.SignedBeaconBloc
}
// Update and save head block after fork choice.
if !featureconfig.Get().UpdateHeadTimely {
if !features.Get().UpdateHeadTimely {
if err := s.updateHead(ctx, s.getJustifiedBalances()); err != nil {
log.WithError(err).Warn("Could not update head")
}

View File

@@ -14,11 +14,11 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/voluntaryexits"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stategen"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
@@ -287,7 +287,7 @@ func TestService_ReceiveBlockBatch(t *testing.T) {
func TestService_ReceiveBlockBatch_UpdateFinalizedCheckpoint(t *testing.T) {
// Must enable head timely feature flag to test this.
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
UpdateHeadTimely: true,
})
defer resetCfg()

View File

@@ -40,9 +40,9 @@ go_library(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/v2:go_default_library",
"//cache/lru:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/mathutil:go_default_library",
"//shared/params:go_default_library",
@@ -81,9 +81,9 @@ go_test(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/v2:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/params:go_default_library",
"//shared/testutil:go_default_library",
"//shared/testutil/assert:go_default_library",

View File

@@ -13,7 +13,7 @@ import (
ethTypes "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
lruwrpr "github.com/prysmaticlabs/prysm/cache/lru"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/params"
)
@@ -48,7 +48,7 @@ func NewEffectiveBalanceCache() *BalanceCache {
// AddTotalEffectiveBalance adds a new total effective balance entry for current balance for state `st` into the cache.
func (c *BalanceCache) AddTotalEffectiveBalance(st state.ReadOnlyBeaconState, balance uint64) error {
if !featureconfig.Get().EnableActiveBalanceCache {
if !features.Get().EnableActiveBalanceCache {
return nil
}
key, err := balanceCacheKey(st)
@@ -65,7 +65,7 @@ func (c *BalanceCache) AddTotalEffectiveBalance(st state.ReadOnlyBeaconState, ba
// Get returns the current epoch's effective balance for state `st` in cache.
func (c *BalanceCache) Get(st state.ReadOnlyBeaconState) (uint64, error) {
if !featureconfig.Get().EnableActiveBalanceCache {
if !features.Get().EnableActiveBalanceCache {
return 0, ErrNotFound
}
key, err := balanceCacheKey(st)

View File

@@ -7,14 +7,14 @@ import (
types "github.com/prysmaticlabs/eth2-types"
state "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)
func TestBalanceCache_AddGetBalance(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableActiveBalanceCache: true,
})
defer resetCfg()

View File

@@ -13,9 +13,9 @@ go_library(
"//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/validators:go_default_library",
"//beacon-chain/state:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/attestationutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/mathutil:go_default_library",
"//shared/params:go_default_library",
"@com_github_pkg_errors//:go_default_library",

View File

@@ -14,9 +14,9 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/validators"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/attestationutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/mathutil"
"github.com/prysmaticlabs/prysm/shared/params"
)
@@ -267,7 +267,7 @@ func ProcessEffectiveBalanceUpdates(state state.BeaconState) (state.BeaconState,
return false, val, nil
}
if featureconfig.Get().EnableOptimizedBalanceUpdate {
if features.Get().EnableOptimizedBalanceUpdate {
validatorFunc = func(idx int, val *ethpb.Validator) (bool, *ethpb.Validator, error) {
if val == nil {
return false, nil, fmt.Errorf("validator %d is nil in state", idx)

View File

@@ -78,10 +78,10 @@ go_test(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/v2:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/params:go_default_library",
"//shared/sliceutil:go_default_library",

View File

@@ -6,8 +6,8 @@ import (
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
@@ -75,7 +75,7 @@ func TestTotalActiveBalance(t *testing.T) {
}
func TestTotalActiveBalance_WithCache(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableActiveBalanceCache: true,
})
defer resetCfg()

View File

@@ -36,12 +36,12 @@ go_library(
"//beacon-chain/core/validators:go_default_library",
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//config/features:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/mathutil:go_default_library",
"//shared/params:go_default_library",

View File

@@ -14,8 +14,8 @@ go_library(
],
deps = [
"//beacon-chain/state:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/fileutil:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
],

View File

@@ -5,14 +5,14 @@ import (
"os"
"path"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/fileutil"
)
// WriteBlockToDisk as a block ssz. Writes to temp directory. Debug!
func WriteBlockToDisk(block block.SignedBeaconBlock, failed bool) {
if !featureconfig.Get().WriteSSZStateTransitions {
if !features.Get().WriteSSZStateTransitions {
return
}

View File

@@ -6,13 +6,13 @@ import (
"path"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/fileutil"
)
// WriteStateToDisk as a state ssz. Writes to temp directory. Debug!
func WriteStateToDisk(state state.ReadOnlyBeaconState) {
if !featureconfig.Get().WriteSSZStateTransitions {
if !features.Get().WriteSSZStateTransitions {
return
}
fp := path.Join(os.TempDir(), fmt.Sprintf("beacon_state_%d.ssz", state.Slot()))

View File

@@ -12,10 +12,10 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
v "github.com/prysmaticlabs/prysm/beacon-chain/core/validators"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/tracing"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/version"
"go.opencensus.io/trace"
)
@@ -60,7 +60,7 @@ func ExecuteStateTransitionNoVerifyAnySig(
interop.WriteBlockToDisk(signed, false /* Has the block failed */)
interop.WriteStateToDisk(state)
if featureconfig.Get().EnableNextSlotStateCache {
if features.Get().EnableNextSlotStateCache {
state, err = ProcessSlotsUsingNextSlotCache(ctx, state, signed.Block().ParentRoot(), signed.Block().Slot())
if err != nil {
return nil, nil, errors.Wrap(err, "could not process slots")
@@ -135,7 +135,7 @@ func CalculateStateRoot(
// Execute per slots transition.
var err error
if featureconfig.Get().EnableNextSlotStateCache {
if features.Get().EnableNextSlotStateCache {
state, err = ProcessSlotsUsingNextSlotCache(ctx, state, signed.Block().ParentRoot(), signed.Block().Slot())
if err != nil {
return [32]byte{}, errors.Wrap(err, "could not process slots")

View File

@@ -43,13 +43,13 @@ go_library(
"//beacon-chain/state/genesis:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/v2:go_default_library",
"//config/features:go_default_library",
"//monitoring/progress:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/params:go_default_library",
"//shared/sliceutil:go_default_library",
@@ -103,12 +103,12 @@ go_test(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/v2:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//proto/testing:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/params:go_default_library",
"//shared/testutil:go_default_library",
"//shared/testutil/assert:go_default_library",

View File

@@ -8,9 +8,9 @@ import (
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/golang/snappy"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/progress"
v1alpha1 "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
bolt "go.etcd.io/bbolt"
)
@@ -25,7 +25,7 @@ func migrateStateValidators(ctx context.Context, db *bolt.DB) error {
// feature flag is not enabled
// - migration is complete, don't migrate the DB but warn that this will work as if the flag is enabled.
// - migration is not complete, don't migrate the DB.
if !featureconfig.Get().EnableHistoricalSpaceRepresentation {
if !features.Get().EnableHistoricalSpaceRepresentation {
b := mb.Get(migrationStateValidatorsKey)
if bytes.Equal(b, migrationCompleted) {
log.Warning("migration of historical states already completed. The node will work as if --enable-historical-state-representation=true.")

View File

@@ -8,8 +8,8 @@ import (
"github.com/golang/snappy"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
v2 "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
"github.com/prysmaticlabs/prysm/config/features"
v1alpha1 "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
@@ -60,7 +60,7 @@ func Test_migrateStateValidators(t *testing.T) {
},
eval: func(t *testing.T, dbStore *Store, state *v1.BeaconState, vals []*v1alpha1.Validator) {
// disable the flag and see if the code mandates that flag.
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: false,
})
defer resetCfg()
@@ -194,7 +194,7 @@ func Test_migrateStateValidators(t *testing.T) {
assert.NoError(t, err)
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()
@@ -295,7 +295,7 @@ func Test_migrateAltairStateValidators(t *testing.T) {
assert.NoError(t, dbStore.SaveState(context.Background(), st, blockRoot))
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()

View File

@@ -13,11 +13,11 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/state/genesis"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
v2 "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/tracing"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
bolt "go.etcd.io/bbolt"
"go.opencensus.io/trace"
@@ -710,7 +710,7 @@ func (s *Store) CleanUpDirtyStates(ctx context.Context, slotsPerArchivedPoint ty
func (s *Store) isStateValidatorMigrationOver() (bool, error) {
// if flag is enabled, then always follow the new code path.
if featureconfig.Get().EnableHistoricalSpaceRepresentation {
if features.Get().EnableHistoricalSpaceRepresentation {
return true, nil
}

View File

@@ -9,12 +9,12 @@ import (
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
v1alpha "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
@@ -50,7 +50,7 @@ func TestState_CanSaveRetrieveValidatorEntries(t *testing.T) {
db := setupDB(t)
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()
@@ -103,7 +103,7 @@ func TestStateAltair_CanSaveRetrieveValidatorEntries(t *testing.T) {
db := setupDB(t)
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()
@@ -155,7 +155,7 @@ func TestState_CanSaveRetrieveValidatorEntriesFromCache(t *testing.T) {
db := setupDB(t)
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()
@@ -211,7 +211,7 @@ func TestState_CanSaveRetrieveValidatorEntriesWithoutCache(t *testing.T) {
db := setupDB(t)
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()
@@ -266,7 +266,7 @@ func TestState_DeleteState(t *testing.T) {
db := setupDB(t)
// enable historical state representation flag to test this
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnableHistoricalSpaceRepresentation: true,
})
defer resetCfg()

View File

@@ -36,6 +36,7 @@ go_library(
"//beacon-chain/sync:go_default_library",
"//beacon-chain/sync/initial-sync:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//monitoring/backup:go_default_library",
"//monitoring/prometheus:go_default_library",
"//monitoring/tracing:go_default_library",
@@ -43,7 +44,6 @@ go_library(
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/gateway:go_default_library",
"//shared/params:go_default_library",
"//shared/prereq:go_default_library",

View File

@@ -38,13 +38,13 @@ import (
regularsync "github.com/prysmaticlabs/prysm/beacon-chain/sync"
initialsync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/backup"
"github.com/prysmaticlabs/prysm/monitoring/prometheus"
"github.com/prysmaticlabs/prysm/shared"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/event"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/gateway"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/prereq"
@@ -87,7 +87,7 @@ func New(cliCtx *cli.Context) (*BeaconNode, error) {
return nil, err
}
prereq.WarnIfPlatformNotSupported(cliCtx.Context)
featureconfig.ConfigureBeaconChain(cliCtx)
features.ConfigureBeaconChain(cliCtx)
cmd.ConfigureBeaconChain(cliCtx)
flags.ConfigureGlobalFlags(cliCtx)
configureChainConfig(cliCtx)

View File

@@ -53,13 +53,13 @@ go_library(
"//beacon-chain/p2p/peers/scorers:go_default_library",
"//beacon-chain/p2p/types:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/metadata:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//shared:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/iputils:go_default_library",

View File

@@ -36,10 +36,10 @@ go_test(
"//beacon-chain/p2p/peers/peerdata:go_default_library",
"//beacon-chain/p2p/peers/scorers:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/params:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",

View File

@@ -5,7 +5,7 @@ import (
"testing"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/sirupsen/logrus"
)
@@ -13,7 +13,7 @@ func TestMain(m *testing.M) {
logrus.SetLevel(logrus.DebugLevel)
logrus.SetOutput(ioutil.Discard)
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnablePeerScorer: true,
})
defer resetCfg()

View File

@@ -15,8 +15,8 @@ go_library(
"//beacon-chain/p2p/peers/peerdata:go_default_library",
"//beacon-chain/p2p/types:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/rand:go_default_library",
"//time:go_default_library",
"@com_github_libp2p_go_libp2p_core//peer:go_default_library",
@@ -40,8 +40,8 @@ go_test(
"//beacon-chain/p2p/peers/peerdata:go_default_library",
"//beacon-chain/p2p/types:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/rand:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",

View File

@@ -9,7 +9,7 @@ import (
"github.com/libp2p/go-libp2p-core/peer"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/peerdata"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/rand"
prysmTime "github.com/prysmaticlabs/prysm/time"
)
@@ -291,7 +291,7 @@ func (s *BlockProviderScorer) mapScoresAndPeers(
func (s *BlockProviderScorer) FormatScorePretty(pid peer.ID) string {
s.store.RLock()
defer s.store.RUnlock()
if !featureconfig.Get().EnablePeerScorer {
if !features.Get().EnablePeerScorer {
return "disabled"
}
score := s.score(pid)

View File

@@ -11,7 +11,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/rand"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/time"
@@ -462,7 +462,7 @@ func TestScorers_BlockProvider_FormatScorePretty(t *testing.T) {
}
t.Run("peer scorer disabled", func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnablePeerScorer: false,
})
defer resetCfg()

View File

@@ -7,7 +7,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/sirupsen/logrus"
)
@@ -15,7 +15,7 @@ func TestMain(m *testing.M) {
logrus.SetLevel(logrus.DebugLevel)
logrus.SetOutput(ioutil.Discard)
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnablePeerScorer: true,
})
defer resetCfg()

View File

@@ -10,9 +10,9 @@ import (
pubsub "github.com/libp2p/go-libp2p-pubsub"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/config/features"
pbrpc "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
)
const (
@@ -139,7 +139,7 @@ func pubsubGossipParam() pubsub.GossipSubParams {
// messages have a longer time to be propagated. This
// comes with the tradeoff of larger memory usage and
// size of the seen message cache.
if featureconfig.Get().EnableLargerGossipHistory {
if features.Get().EnableLargerGossipHistory {
gParams.HistoryLength = 12
gParams.HistoryGossip = 5
}

View File

@@ -34,10 +34,10 @@ go_library(
"//beacon-chain/rpc/statefetcher:go_default_library",
"//beacon-chain/state/stategen:go_default_library",
"//beacon-chain/sync:go_default_library",
"//config/features:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/eth/service:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/logutil:go_default_library",
"//shared/params:go_default_library",
"@com_github_grpc_ecosystem_go_grpc_middleware//:go_default_library",

View File

@@ -35,6 +35,7 @@ go_library(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/stategen:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//config/features:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/eth/v2:go_default_library",
"//proto/migration:go_default_library",
@@ -43,7 +44,6 @@ go_library(
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/grpcutils:go_default_library",
"//shared/p2putils:go_default_library",
"//shared/params:go_default_library",

View File

@@ -9,11 +9,11 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation"
corehelpers "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/rpc/eth/helpers"
"github.com/prysmaticlabs/prysm/config/features"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
"github.com/prysmaticlabs/prysm/proto/migration"
ethpbalpha "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/grpcutils"
"go.opencensus.io/trace"
"google.golang.org/grpc/codes"
@@ -175,7 +175,7 @@ func (bs *Server) SubmitAttesterSlashing(ctx context.Context, req *ethpbv1.Attes
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not insert attester slashing into pool: %v", err)
}
if !featureconfig.Get().DisableBroadcastSlashings {
if !features.Get().DisableBroadcastSlashings {
if err := bs.Broadcaster.Broadcast(ctx, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not broadcast slashing object: %v", err)
}
@@ -227,7 +227,7 @@ func (bs *Server) SubmitProposerSlashing(ctx context.Context, req *ethpbv1.Propo
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not insert proposer slashing into pool: %v", err)
}
if !featureconfig.Get().DisableBroadcastSlashings {
if !features.Get().DisableBroadcastSlashings {
if err := bs.Broadcaster.Broadcast(ctx, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not broadcast slashing object: %v", err)
}

View File

@@ -39,6 +39,7 @@ go_library(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/stategen:go_default_library",
"//beacon-chain/sync:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//shared/aggregation/attestations:go_default_library",
@@ -46,7 +47,6 @@ go_library(
"//shared/bytesutil:go_default_library",
"//shared/cmd:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/pagination:go_default_library",
"//shared/params:go_default_library",
"//shared/sliceutil:go_default_library",
@@ -98,6 +98,7 @@ go_test(
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/sync/initial-sync/testing:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
@@ -105,7 +106,6 @@ go_test(
"//shared/attestationutil:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/cmd:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/mock:go_default_library",
"//shared/params:go_default_library",
"//shared/testutil:go_default_library",

View File

@@ -4,8 +4,8 @@ import (
"context"
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/sliceutil"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
@@ -25,7 +25,7 @@ func (bs *Server) SubmitProposerSlashing(
if err := bs.SlashingsPool.InsertProposerSlashing(ctx, beaconState, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not insert proposer slashing into pool: %v", err)
}
if !featureconfig.Get().DisableBroadcastSlashings {
if !features.Get().DisableBroadcastSlashings {
if err := bs.Broadcaster.Broadcast(ctx, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not broadcast slashing object: %v", err)
}
@@ -50,7 +50,7 @@ func (bs *Server) SubmitAttesterSlashing(
if err := bs.SlashingsPool.InsertAttesterSlashing(ctx, beaconState, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not insert attester slashing into pool: %v", err)
}
if !featureconfig.Get().DisableBroadcastSlashings {
if !features.Get().DisableBroadcastSlashings {
if err := bs.Broadcaster.Broadcast(ctx, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not broadcast slashing object: %v", err)
}

View File

@@ -5,8 +5,8 @@ import (
"testing"
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"google.golang.org/protobuf/proto"
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
@@ -78,7 +78,7 @@ func TestServer_SubmitAttesterSlashing(t *testing.T) {
}
func TestServer_SubmitProposerSlashing_DontBroadcast(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{DisableBroadcastSlashings: true})
resetCfg := features.InitWithReset(&features.Flags{DisableBroadcastSlashings: true})
defer resetCfg()
ctx := context.Background()
st, privs := testutil.DeterministicGenesisState(t, 64)
@@ -123,7 +123,7 @@ func TestServer_SubmitProposerSlashing_DontBroadcast(t *testing.T) {
}
func TestServer_SubmitAttesterSlashing_DontBroadcast(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{DisableBroadcastSlashings: true})
resetCfg := features.InitWithReset(&features.Flags{DisableBroadcastSlashings: true})
defer resetCfg()
ctx := context.Background()
// We mark the validators at index 5, 6 as already slashed.

View File

@@ -41,6 +41,7 @@ go_library(
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/stategen:go_default_library",
"//beacon-chain/sync:go_default_library",
"//config/features:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
@@ -53,7 +54,6 @@ go_library(
"//shared/bytesutil:go_default_library",
"//shared/depositutil:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/p2putils:go_default_library",
"//shared/params:go_default_library",
@@ -118,6 +118,7 @@ go_test(
"//beacon-chain/state/stategen:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/sync/initial-sync/testing:go_default_library",
"//config/features:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
@@ -126,7 +127,6 @@ go_test(
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/mock:go_default_library",
"//shared/params:go_default_library",
"//shared/testutil:go_default_library",

View File

@@ -12,10 +12,10 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"go.opencensus.io/trace"
"google.golang.org/grpc/codes"
@@ -96,7 +96,7 @@ func (vs *Server) GetAttestationData(ctx context.Context, req *ethpb.Attestation
}
if core.CurrentEpoch(headState) < core.SlotToEpoch(req.Slot) {
if featureconfig.Get().EnableNextSlotStateCache {
if features.Get().EnableNextSlotStateCache {
headState, err = transition.ProcessSlotsUsingNextSlotCache(ctx, headState, headRoot, req.Slot)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", req.Slot, err)

View File

@@ -20,6 +20,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
dbpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
@@ -28,7 +29,6 @@ import (
synccontribution "github.com/prysmaticlabs/prysm/shared/aggregation/sync_contribution"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/rand"
@@ -213,7 +213,7 @@ func (vs *Server) buildPhase0BlockData(ctx context.Context, req *ethpb.BlockRequ
return nil, fmt.Errorf("could not get head state %v", err)
}
if featureconfig.Get().EnableNextSlotStateCache {
if features.Get().EnableNextSlotStateCache {
head, err = transition.ProcessSlotsUsingNextSlotCache(ctx, head, parentRoot, req.Slot)
if err != nil {
return nil, fmt.Errorf("could not advance slots to calculate proposer index: %v", err)

View File

@@ -10,9 +10,9 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/aggregation"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/version"
)
@@ -58,7 +58,7 @@ func (a proposerAtts) sortByProfitability() (proposerAtts, error) {
if len(a) < 2 {
return a, nil
}
if featureconfig.Get().ProposerAttsSelectionUsingMaxCover {
if features.Get().ProposerAttsSelectionUsingMaxCover {
return a.sortByProfitabilityUsingMaxCover()
}
sort.Slice(a, func(i, j int) bool {

View File

@@ -7,8 +7,8 @@ import (
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/go-bitfield"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
@@ -39,7 +39,7 @@ func TestProposer_ProposerAtts_sortByProfitability(t *testing.T) {
}
func TestProposer_ProposerAtts_sortByProfitabilityUsingMaxCover(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
ProposerAttsSelectionUsingMaxCover: true,
})
defer resetCfg()
@@ -121,7 +121,7 @@ func TestProposer_ProposerAtts_sortByProfitabilityUsingMaxCover(t *testing.T) {
// The max-cover based approach will select 0b00001100 instead, despite lower bit count
// (since it has two new/unknown bits).
t.Run("naive", func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
ProposerAttsSelectionUsingMaxCover: false,
})
defer resetCfg()
@@ -143,7 +143,7 @@ func TestProposer_ProposerAtts_sortByProfitabilityUsingMaxCover(t *testing.T) {
require.DeepEqual(t, want, atts)
})
t.Run("max-cover", func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
ProposerAttsSelectionUsingMaxCover: true,
})
defer resetCfg()

View File

@@ -5,9 +5,9 @@ import (
"testing"
"github.com/prysmaticlabs/go-bitfield"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
aggtesting "github.com/prysmaticlabs/prysm/shared/aggregation/testing"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
)
@@ -55,7 +55,7 @@ func BenchmarkProposerAtts_sortByProfitability(b *testing.B) {
for _, tt := range tests {
b.Run(fmt.Sprintf("naive_%s", tt.name), func(b *testing.B) {
b.StopTimer()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
ProposerAttsSelectionUsingMaxCover: false,
})
defer resetCfg()
@@ -67,7 +67,7 @@ func BenchmarkProposerAtts_sortByProfitability(b *testing.B) {
})
b.Run(fmt.Sprintf("max-cover_%s", tt.name), func(b *testing.B) {
b.StopTimer()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
ProposerAttsSelectionUsingMaxCover: true,
})
defer resetCfg()

View File

@@ -38,10 +38,10 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/rpc/statefetcher"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stategen"
chainSync "github.com/prysmaticlabs/prysm/beacon-chain/sync"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/tracing"
ethpbservice "github.com/prysmaticlabs/prysm/proto/eth/service"
ethpbv1alpha1 "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/logutil"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/sirupsen/logrus"
@@ -369,7 +369,7 @@ func (s *Service) validatorUnaryConnectionInterceptor(
}
func (s *Service) logNewClientConnection(ctx context.Context) {
if featureconfig.Get().DisableGRPCConnectionLogs {
if features.Get().DisableGRPCConnectionLogs {
return
}
if clientInfo, ok := peer.FromContext(ctx); ok {

View File

@@ -51,9 +51,9 @@ go_test(
embed = [":go_default_library"],
deps = [
"//beacon-chain/state/v1:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/htrutils:go_default_library",
"//shared/interop:go_default_library",

View File

@@ -3,11 +3,11 @@ package stateutil_test
import (
"testing"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
)
func TestMain(m *testing.M) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{EnableSSZCache: true})
resetCfg := features.InitWithReset(&features.Flags{EnableSSZCache: true})
defer resetCfg()
m.Run()
}

View File

@@ -47,10 +47,10 @@ go_library(
"//beacon-chain/state/fieldtrie:go_default_library",
"//beacon-chain/state/stateutil:go_default_library",
"//beacon-chain/state/types:go_default_library",
"//config/features:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/htrutils:go_default_library",
"//shared/params:go_default_library",

View File

@@ -8,9 +8,9 @@ import (
"github.com/dgraph-io/ristretto"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/htrutils"
"github.com/prysmaticlabs/prysm/shared/params"
@@ -50,7 +50,7 @@ type stateRootHasher struct {
// computeFieldRoots returns the hash tree root computations of every field in
// the beacon state as a list of 32 byte roots.
func computeFieldRoots(ctx context.Context, state *ethpb.BeaconState) ([][]byte, error) {
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
return cachedHasher.computeFieldRootsWithHasher(ctx, state)
}
return nocachedHasher.computeFieldRootsWithHasher(ctx, state)

View File

@@ -3,8 +3,8 @@ package v1
import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/htrutils"
)
@@ -103,7 +103,7 @@ func eth1Root(hasher htrutils.HashFn, eth1Data *ethpb.Eth1Data) ([32]byte, error
}
enc := stateutil.Eth1DataEncKey(eth1Data)
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
if found, ok := cachedHasher.rootsCache.Get(string(enc)); ok && found != nil {
return found.([32]byte), nil
}
@@ -114,7 +114,7 @@ func eth1Root(hasher htrutils.HashFn, eth1Data *ethpb.Eth1Data) ([32]byte, error
return [32]byte{}, err
}
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
cachedHasher.rootsCache.Set(string(enc), root, 32)
}
return root, nil
@@ -129,7 +129,7 @@ func eth1DataVotesRoot(eth1DataVotes []*ethpb.Eth1Data) ([32]byte, error) {
return [32]byte{}, err
}
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
if found, ok := cachedHasher.rootsCache.Get(string(hashKey[:])); ok && found != nil {
return found.([32]byte), nil
}
@@ -138,7 +138,7 @@ func eth1DataVotesRoot(eth1DataVotes []*ethpb.Eth1Data) ([32]byte, error) {
if err != nil {
return [32]byte{}, err
}
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
cachedHasher.rootsCache.Set(string(hashKey[:]), root, 32)
}
return root, nil

View File

@@ -4,9 +4,9 @@ import (
"github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/htrutils"
"github.com/prysmaticlabs/prysm/shared/params"
@@ -170,7 +170,7 @@ func (b *BeaconState) balancesLength() int {
// RootsArrayHashTreeRoot computes the Merkle root of arrays of 32-byte hashes, such as [64][32]byte
// according to the Simple Serialize specification of Ethereum.
func RootsArrayHashTreeRoot(vals [][]byte, length uint64, fieldName string) ([32]byte, error) {
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
return cachedHasher.arraysRoot(vals, length, fieldName)
}
return nocachedHasher.arraysRoot(vals, length, fieldName)

View File

@@ -9,9 +9,9 @@ import (
types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/htrutils"
"github.com/prysmaticlabs/prysm/shared/params"
@@ -372,7 +372,7 @@ func (h *stateRootHasher) validatorRoot(hasher htrutils.HashFn, validator *ethpb
// a list of validator structs according to the Ethereum
// Simple Serialize specification.
func ValidatorRegistryRoot(vals []*ethpb.Validator) ([32]byte, error) {
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
return cachedHasher.validatorRegistryRoot(vals)
}
return nocachedHasher.validatorRegistryRoot(vals)

View File

@@ -29,10 +29,10 @@ go_library(
"//beacon-chain/state/stateutil:go_default_library",
"//beacon-chain/state/types:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//config/features:go_default_library",
"//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/htrutils:go_default_library",
"//shared/params:go_default_library",

View File

@@ -3,8 +3,8 @@ package v2
import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/htrutils"
)
@@ -17,7 +17,7 @@ func eth1Root(hasher htrutils.HashFn, eth1Data *ethpb.Eth1Data) ([32]byte, error
}
enc := stateutil.Eth1DataEncKey(eth1Data)
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
if found, ok := cachedHasher.rootsCache.Get(string(enc)); ok && found != nil {
return found.([32]byte), nil
}
@@ -28,7 +28,7 @@ func eth1Root(hasher htrutils.HashFn, eth1Data *ethpb.Eth1Data) ([32]byte, error
return [32]byte{}, err
}
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
cachedHasher.rootsCache.Set(string(enc), root, 32)
}
return root, nil
@@ -43,7 +43,7 @@ func eth1DataVotesRoot(eth1DataVotes []*ethpb.Eth1Data) ([32]byte, error) {
return [32]byte{}, err
}
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
if found, ok := cachedHasher.rootsCache.Get(string(hashKey[:])); ok && found != nil {
return found.([32]byte), nil
}
@@ -52,7 +52,7 @@ func eth1DataVotesRoot(eth1DataVotes []*ethpb.Eth1Data) ([32]byte, error) {
if err != nil {
return [32]byte{}, err
}
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
cachedHasher.rootsCache.Set(string(hashKey[:]), root, 32)
}
return root, nil

View File

@@ -6,8 +6,8 @@ import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/htrutils"
"github.com/prysmaticlabs/prysm/shared/params"
@@ -82,7 +82,7 @@ func (h *stateRootHasher) validatorRoot(hasher htrutils.HashFn, validator *ethpb
// a list of validator structs according to the eth2
// Simple Serialize specification.
func ValidatorRegistryRoot(vals []*ethpb.Validator) ([32]byte, error) {
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
return cachedHasher.validatorRegistryRoot(vals)
}
return nocachedHasher.validatorRegistryRoot(vals)

View File

@@ -7,9 +7,9 @@ import (
"github.com/dgraph-io/ristretto"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateutil"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/htrutils"
"github.com/prysmaticlabs/prysm/shared/params"
@@ -48,7 +48,7 @@ type stateRootHasher struct {
// computeFieldRoots returns the hash tree root computations of every field in
// the beacon state as a list of 32 byte roots.
func computeFieldRoots(state *ethpb.BeaconStateAltair) ([][]byte, error) {
if featureconfig.Get().EnableSSZCache {
if features.Get().EnableSSZCache {
return cachedHasher.computeFieldRootsWithHasher(state)
}
return nocachedHasher.computeFieldRootsWithHasher(state)

View File

@@ -75,6 +75,7 @@ go_library(
"//beacon-chain/state/stategen:go_default_library",
"//cache/lru:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//monitoring/tracing:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
@@ -84,7 +85,6 @@ go_library(
"//shared/abool:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/messagehandler:go_default_library",
"//shared/mputil:go_default_library",
"//shared/p2putils:go_default_library",

View File

@@ -72,10 +72,10 @@ go_test(
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/sync:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/params:go_default_library",
"//shared/sliceutil:go_default_library",
@@ -120,13 +120,13 @@ go_test(
"//beacon-chain/p2p/types:go_default_library",
"//beacon-chain/sync:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/block:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library",
"//shared/abool:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/params:go_default_library",
"//shared/sliceutil:go_default_library",

View File

@@ -21,11 +21,11 @@ import (
p2pTypes "github.com/prysmaticlabs/prysm/beacon-chain/p2p/types"
beaconsync "github.com/prysmaticlabs/prysm/beacon-chain/sync"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/config/features"
eth "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
p2ppb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/sliceutil"
@@ -56,7 +56,7 @@ func TestMain(m *testing.M) {
logrus.SetLevel(logrus.DebugLevel)
logrus.SetOutput(ioutil.Discard)
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
EnablePeerScorer: true,
})
defer resetCfg()

View File

@@ -6,11 +6,11 @@ import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
wrapperv2 "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"google.golang.org/protobuf/proto"
)
@@ -39,7 +39,7 @@ func (s *Service) beaconBlockSubscriber(ctx context.Context, msg proto.Message)
return err
}
if !featureconfig.Get().CorrectlyPruneCanonicalAtts {
if !features.Get().CorrectlyPruneCanonicalAtts {
// Delete attestations from the block in the pool to avoid inclusion in future block.
if err := s.deleteAttsInPool(block.Body().Attestations()); err != nil {
log.Debugf("Could not delete attestations in pool: %v", err)

View File

@@ -18,10 +18,10 @@ go_library(
"//beacon-chain/node:go_default_library",
"//cmd/beacon-chain/db:go_default_library",
"//cmd/beacon-chain/flags:go_default_library",
"//config/features:go_default_library",
"//monitoring/journald:go_default_library",
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/logutil:go_default_library",
"//shared/maxprocs:go_default_library",
@@ -143,7 +143,7 @@ go_test(
embed = [":go_default_library"],
visibility = ["//beacon-chain:__pkg__"],
deps = [
"//shared/featureconfig:go_default_library",
"//config/features:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],
)

View File

@@ -14,10 +14,10 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/node"
dbcommands "github.com/prysmaticlabs/prysm/cmd/beacon-chain/db"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/journald"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/logutil"
_ "github.com/prysmaticlabs/prysm/shared/maxprocs"
@@ -114,7 +114,7 @@ var appFlags = []cli.Flag{
}
func init() {
appFlags = cmd.WrapFlags(append(appFlags, featureconfig.BeaconChainFlags...))
appFlags = cmd.WrapFlags(append(appFlags, features.BeaconChainFlags...))
}
func main() {

View File

@@ -6,9 +6,9 @@ import (
"sort"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/urfave/cli/v2"
)
@@ -148,7 +148,7 @@ var appHelpFlagGroups = []flagGroup{
},
{
Name: "features",
Flags: featureconfig.ActiveFlags(featureconfig.BeaconChainFlags),
Flags: features.ActiveFlags(features.BeaconChainFlags),
},
{
Name: "interop",

View File

@@ -3,7 +3,7 @@ package main
import (
"testing"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/urfave/cli/v2"
)
@@ -16,8 +16,8 @@ func TestAllFlagsExistInHelp(t *testing.T) {
for _, group := range appHelpFlagGroups {
helpFlags = append(helpFlags, group.Flags...)
}
helpFlags = featureconfig.ActiveFlags(helpFlags)
appFlags = featureconfig.ActiveFlags(appFlags)
helpFlags = features.ActiveFlags(helpFlags)
appFlags = features.ActiveFlags(appFlags)
for _, flag := range appFlags {
if !doesFlagExist(flag, helpFlags) {

View File

@@ -15,10 +15,10 @@ go_library(
visibility = ["//slasher:__subpackages__"],
deps = [
"//cmd/slasher/flags:go_default_library",
"//config/features:go_default_library",
"//monitoring/journald:go_default_library",
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/logutil:go_default_library",
"//shared/tos:go_default_library",
"//shared/version:go_default_library",
@@ -38,7 +38,7 @@ go_test(
embed = [":go_default_library"],
visibility = ["//slasher:__pkg__"],
deps = [
"//shared/featureconfig:go_default_library",
"//config/features:go_default_library",
"//shared/testutil/assert:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],

View File

@@ -10,10 +10,10 @@ import (
joonix "github.com/joonix/log"
"github.com/prysmaticlabs/prysm/cmd/slasher/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/journald"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/logutil"
"github.com/prysmaticlabs/prysm/shared/tos"
"github.com/prysmaticlabs/prysm/shared/version"
@@ -83,7 +83,7 @@ var appFlags = []cli.Flag{
}
func init() {
appFlags = cmd.WrapFlags(append(appFlags, featureconfig.SlasherFlags...))
appFlags = cmd.WrapFlags(append(appFlags, features.SlasherFlags...))
}
func main() {

View File

@@ -6,9 +6,9 @@ import (
"sort"
"github.com/prysmaticlabs/prysm/cmd/slasher/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/urfave/cli/v2"
)
@@ -93,7 +93,7 @@ var appHelpFlagGroups = []flagGroup{
},
{
Name: "features",
Flags: featureconfig.ActiveFlags(featureconfig.SlasherFlags),
Flags: features.ActiveFlags(features.SlasherFlags),
},
}

View File

@@ -3,7 +3,7 @@ package main
import (
"testing"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/urfave/cli/v2"
)
@@ -17,8 +17,8 @@ func TestAllFlagsExistInHelp(t *testing.T) {
for _, group := range appHelpFlagGroups {
helpFlags = append(helpFlags, group.Flags...)
}
helpFlags = featureconfig.ActiveFlags(helpFlags)
appFlags = featureconfig.ActiveFlags(appFlags)
helpFlags = features.ActiveFlags(helpFlags)
appFlags = features.ActiveFlags(appFlags)
for _, flag := range appFlags {
assert.Equal(t, true, doesFlagExist(flag, helpFlags), "Flag %s does not exist in help/usage flags.", flag.Names()[0])

View File

@@ -20,10 +20,10 @@ go_library(
"//cmd/validator/flags:go_default_library",
"//cmd/validator/slashing-protection:go_default_library",
"//cmd/validator/wallet:go_default_library",
"//config/features:go_default_library",
"//monitoring/journald:go_default_library",
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/logutil:go_default_library",
"//shared/maxprocs:go_default_library",
@@ -144,7 +144,7 @@ go_test(
embed = [":go_default_library"],
visibility = ["//validator:__pkg__"],
deps = [
"//shared/featureconfig:go_default_library",
"//config/features:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],
)

View File

@@ -7,8 +7,8 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//cmd/validator/flags:go_default_library",
"//config/features:go_default_library",
"//shared/cmd:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/tos:go_default_library",
"//validator/accounts:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",

View File

@@ -4,8 +4,8 @@ import (
"os"
"github.com/prysmaticlabs/prysm/cmd/validator/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/tos"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/sirupsen/logrus"
@@ -27,9 +27,9 @@ var Commands = &cli.Command{
flags.WalletDirFlag,
flags.WalletPasswordFileFlag,
flags.DeletePublicKeysFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -39,7 +39,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.DeleteAccountCli(cliCtx); err != nil {
log.Fatalf("Could not delete account: %v", err)
}
@@ -61,9 +61,9 @@ var Commands = &cli.Command{
flags.GrpcHeadersFlag,
flags.GrpcRetriesFlag,
flags.GrpcRetryDelayFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -73,7 +73,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.ListAccountsCli(cliCtx); err != nil {
log.Fatalf("Could not list accounts: %v", err)
}
@@ -92,9 +92,9 @@ var Commands = &cli.Command{
flags.BackupDirFlag,
flags.BackupPublicKeysFlag,
flags.BackupPasswordFile,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -104,7 +104,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.BackupAccountsCli(cliCtx); err != nil {
log.Fatalf("Could not backup accounts: %v", err)
}
@@ -120,9 +120,9 @@ var Commands = &cli.Command{
flags.WalletPasswordFileFlag,
flags.AccountPasswordFileFlag,
flags.ImportPrivateKeyFileFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -132,7 +132,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.ImportAccountsCli(cliCtx); err != nil {
log.Fatalf("Could not import accounts: %v", err)
}
@@ -154,9 +154,9 @@ var Commands = &cli.Command{
flags.GrpcRetriesFlag,
flags.GrpcRetryDelayFlag,
flags.ExitAllFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -166,7 +166,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.ExitAccountsCli(cliCtx, os.Stdin); err != nil {
log.Fatalf("Could not perform voluntary exit: %v", err)
}

View File

@@ -16,10 +16,10 @@ import (
"github.com/prysmaticlabs/prysm/cmd/validator/flags"
slashingprotectioncommands "github.com/prysmaticlabs/prysm/cmd/validator/slashing-protection"
walletcommands "github.com/prysmaticlabs/prysm/cmd/validator/wallet"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/monitoring/journald"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/logutil"
_ "github.com/prysmaticlabs/prysm/shared/maxprocs"
@@ -103,7 +103,7 @@ var appFlags = []cli.Flag{
}
func init() {
appFlags = cmd.WrapFlags(append(appFlags, featureconfig.ValidatorFlags...))
appFlags = cmd.WrapFlags(append(appFlags, features.ValidatorFlags...))
}
func main() {

View File

@@ -7,8 +7,8 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//cmd/validator/flags:go_default_library",
"//config/features:go_default_library",
"//shared/cmd:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/tos:go_default_library",
"//validator/slashing-protection:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",

View File

@@ -2,8 +2,8 @@ package slashing_protection
import (
"github.com/prysmaticlabs/prysm/cmd/validator/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/tos"
slashingprotection "github.com/prysmaticlabs/prysm/validator/slashing-protection"
"github.com/sirupsen/logrus"
@@ -30,7 +30,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := slashingprotection.ExportSlashingProtectionJSONCli(cliCtx); err != nil {
logrus.Fatalf("Could not export slashing protection file: %v", err)
}
@@ -43,9 +43,9 @@ var Commands = &cli.Command{
Flags: cmd.WrapFlags([]cli.Flag{
cmd.DataDirFlag,
flags.SlashingProtectionJSONFileFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -55,7 +55,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
err := slashingprotection.ImportSlashingProtectionCLI(cliCtx)
if err != nil {
logrus.Fatalf("Could not import slashing protection cli: %v", err)

View File

@@ -6,9 +6,9 @@ import (
"sort"
"github.com/prysmaticlabs/prysm/cmd/validator/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/debug"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/urfave/cli/v2"
)
@@ -110,7 +110,7 @@ var appHelpFlagGroups = []flagGroup{
},
{
Name: "features",
Flags: featureconfig.ActiveFlags(featureconfig.ValidatorFlags),
Flags: features.ActiveFlags(features.ValidatorFlags),
},
{
Name: "interop",

View File

@@ -3,7 +3,7 @@ package main
import (
"testing"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/urfave/cli/v2"
)
@@ -16,8 +16,8 @@ func TestAllFlagsExistInHelp(t *testing.T) {
for _, group := range appHelpFlagGroups {
helpFlags = append(helpFlags, group.Flags...)
}
helpFlags = featureconfig.ActiveFlags(helpFlags)
appFlags = featureconfig.ActiveFlags(appFlags)
helpFlags = features.ActiveFlags(helpFlags)
appFlags = features.ActiveFlags(appFlags)
for _, flag := range appFlags {
if !doesFlagExist(flag, helpFlags) {

View File

@@ -7,8 +7,8 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//cmd/validator/flags:go_default_library",
"//config/features:go_default_library",
"//shared/cmd:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/tos:go_default_library",
"//validator/accounts:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",

View File

@@ -2,8 +2,8 @@ package wallet
import (
"github.com/prysmaticlabs/prysm/cmd/validator/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/tos"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/sirupsen/logrus"
@@ -33,9 +33,9 @@ var Commands = &cli.Command{
flags.WalletPasswordFileFlag,
flags.Mnemonic25thWordFileFlag,
flags.SkipMnemonic25thWordCheckFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -45,7 +45,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if _, err := accounts.CreateAndSaveWalletCli(cliCtx); err != nil {
log.Fatalf("Could not create a wallet: %v", err)
}
@@ -63,9 +63,9 @@ var Commands = &cli.Command{
flags.RemoteSignerCertPathFlag,
flags.RemoteSignerKeyPathFlag,
flags.RemoteSignerCACertPathFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -75,7 +75,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.EditWalletConfigurationCli(cliCtx); err != nil {
log.Fatalf("Could not edit wallet configuration: %v", err)
}
@@ -92,9 +92,9 @@ var Commands = &cli.Command{
flags.NumAccountsFlag,
flags.Mnemonic25thWordFileFlag,
flags.SkipMnemonic25thWordCheckFlag,
featureconfig.Mainnet,
featureconfig.PyrmontTestnet,
featureconfig.PraterTestnet,
features.Mainnet,
features.PyrmontTestnet,
features.PraterTestnet,
cmd.AcceptTosFlag,
}),
Before: func(cliCtx *cli.Context) error {
@@ -104,7 +104,7 @@ var Commands = &cli.Command{
return tos.VerifyTosAcceptedOrPrompt(cliCtx)
},
Action: func(cliCtx *cli.Context) error {
featureconfig.ConfigureValidator(cliCtx)
features.ConfigureValidator(cliCtx)
if err := accounts.RecoverWalletCli(cliCtx); err != nil {
log.Fatalf("Could not recover wallet: %v", err)
}

View File

@@ -8,7 +8,7 @@ go_library(
"filter_flags.go",
"flags.go",
],
importpath = "github.com/prysmaticlabs/prysm/shared/featureconfig",
importpath = "github.com/prysmaticlabs/prysm/config/features",
visibility = ["//visibility:public"],
deps = [
"//shared/params:go_default_library",

View File

@@ -17,7 +17,7 @@ The process for implementing new features using this package is as follows:
6. Add the string for the flags that should be running within E2E to E2EValidatorFlags
and E2EBeaconChainFlags.
*/
package featureconfig
package features
import (
"sync"
@@ -64,12 +64,7 @@ type Flags struct {
EnableActiveBalanceCache bool // EnableActiveBalanceCache enables active balance cache.
// Bug fixes related flags.
AttestTimely bool // AttestTimely fixes #8185. It is gated behind a flag to ensure beacon node's fix can safely roll out first. We'll invert this in v1.1.0.
AttestationAggregationStrategy string // AttestationAggregationStrategy defines aggregation strategy to be used when aggregating.
// KeystoreImportDebounceInterval specifies the time duration the validator waits to reload new keys if they have
// changed on disk. This feature is for advanced use cases only.
KeystoreImportDebounceInterval time.Duration
AttestTimely bool // AttestTimely fixes #8185. It is gated behind a flag to ensure beacon node's fix can safely roll out first. We'll invert this in v1.1.0.
// EnableSlashingProtectionPruning for the validator client.
EnableSlashingProtectionPruning bool
@@ -77,6 +72,12 @@ type Flags struct {
// Bug fixes related flags.
CorrectlyInsertOrphanedAtts bool
CorrectlyPruneCanonicalAtts bool
// KeystoreImportDebounceInterval specifies the time duration the validator waits to reload new keys if they have
// changed on disk. This feature is for advanced use cases only.
KeystoreImportDebounceInterval time.Duration
AttestationAggregationStrategy string // AttestationAggregationStrategy defines aggregation strategy to be used when aggregating.
}
var featureConfig *Flags

View File

@@ -1,4 +1,4 @@
package featureconfig
package features
import (
"flag"

View File

@@ -1,4 +1,4 @@
package featureconfig
package features
import "github.com/urfave/cli/v2"

View File

@@ -1,4 +1,4 @@
package featureconfig
package features
import (
"reflect"

View File

@@ -1,4 +1,4 @@
package featureconfig
package features
import (
"reflect"

View File

@@ -1,4 +1,4 @@
package featureconfig
package features
import (
"time"

View File

@@ -17,13 +17,13 @@ go_library(
deps = [
"//cmd/beacon-chain/flags:go_default_library",
"//cmd/validator/flags:go_default_library",
"//config/features:go_default_library",
"//contracts/deposit-contract:go_default_library",
"//endtoend/helpers:go_default_library",
"//endtoend/params:go_default_library",
"//endtoend/types:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/cmd:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/params:go_default_library",
"//shared/testutil:go_default_library",
"@com_github_ethereum_go_ethereum//accounts/abi/bind:go_default_library",

View File

@@ -13,11 +13,11 @@ import (
"github.com/bazelbuild/rules_go/go/tools/bazel"
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
"github.com/prysmaticlabs/prysm/config/features"
"github.com/prysmaticlabs/prysm/endtoend/helpers"
e2e "github.com/prysmaticlabs/prysm/endtoend/params"
e2etypes "github.com/prysmaticlabs/prysm/endtoend/types"
cmdshared "github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
)
@@ -126,7 +126,7 @@ func (node *BeaconNode) Start(ctx context.Context) error {
if config.UsePprof {
args = append(args, "--pprof", fmt.Sprintf("--pprofport=%d", e2e.TestParams.BeaconNodeRPCPort+index+50))
}
args = append(args, featureconfig.E2EBeaconChainFlags...)
args = append(args, features.E2EBeaconChainFlags...)
args = append(args, config.BeaconFlags...)
cmd := exec.CommandContext(ctx, binaryPath, args...) /* #nosec G204 */

View File

@@ -18,13 +18,13 @@ import (
"github.com/ethereum/go-ethereum/rpc"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/cmd/validator/flags"
"github.com/prysmaticlabs/prysm/config/features"
contracts "github.com/prysmaticlabs/prysm/contracts/deposit-contract"
"github.com/prysmaticlabs/prysm/endtoend/helpers"
e2e "github.com/prysmaticlabs/prysm/endtoend/params"
e2etypes "github.com/prysmaticlabs/prysm/endtoend/types"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
cmdshared "github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil"
)
@@ -146,7 +146,7 @@ func (v *ValidatorNode) Start(ctx context.Context) error {
}
// Only apply e2e flags to the current branch. New flags may not exist in previous release.
if !v.config.UsePrysmShValidator {
args = append(args, featureconfig.E2EValidatorFlags...)
args = append(args, features.E2EValidatorFlags...)
}
args = append(args, config.ValidatorFlags...)

View File

@@ -27,7 +27,7 @@ IMPORT_PATH = "github.com/prysmaticlabs/prysm/fuzz"
COMMON_DEPS = [
"//beacon-chain/state/v1:go_default_library",
"//shared/featureconfig:go_default_library",
"//config/features:go_default_library",
] + SSZ_DEPS
COMMON_SRCS = [
@@ -187,7 +187,7 @@ go_library(
"//beacon-chain/sync/initial-sync/testing:go_default_library",
"//fuzz/testing:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/featureconfig:go_default_library",
"//config/features:go_default_library",
"//shared/params:go_default_library",
"//shared/rand:go_default_library",
"//shared/testutil:go_default_library",

View File

@@ -3,7 +3,7 @@ package fuzz
import (
"os"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/config/features"
)
// EnvBls defines an environment variable name to check whether BLS is enabled or not.
@@ -14,7 +14,7 @@ func init() {
if value, exists := os.LookupEnv(EnvBls); exists {
blsEnabled = value == "1"
}
featureconfig.Init(&featureconfig.Flags{
features.Init(&features.Flags{
SkipBLSVerify: !blsEnabled,
})
}

View File

@@ -7,13 +7,13 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core"
stateutil "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
)
func init() {
featureconfig.Init(&featureconfig.Flags{
features.Init(&features.Flags{
EnableSSZCache: false,
})
}

View File

@@ -10,10 +10,10 @@ go_library(
importpath = "github.com/prysmaticlabs/prysm/shared/aggregation/attestations",
visibility = ["//visibility:public"],
deps = [
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/aggregation:go_default_library",
"//shared/bls:go_default_library",
"//shared/featureconfig:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_prysmaticlabs_go_bitfield//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
@@ -29,11 +29,11 @@ go_test(
],
embed = [":go_default_library"],
deps = [
"//config/features:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"//shared/aggregation:go_default_library",
"//shared/aggregation/testing:go_default_library",
"//shared/bls:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/params:go_default_library",
"//shared/sszutil:go_default_library",
"//shared/testutil/assert:go_default_library",

View File

@@ -2,10 +2,10 @@ package attestations
import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/aggregation"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/sirupsen/logrus"
)
@@ -50,7 +50,7 @@ var ErrInvalidAttestationCount = errors.New("invalid number of attestations")
// }
// aggregatedAtts, err := attaggregation.Aggregate(clonedAtts)
func Aggregate(atts []*ethpb.Attestation) ([]*ethpb.Attestation, error) {
strategy := AttestationAggregationStrategy(featureconfig.Get().AttestationAggregationStrategy)
strategy := AttestationAggregationStrategy(features.Get().AttestationAggregationStrategy)
switch strategy {
case "", NaiveAggregation:
return NaiveAttestationAggregation(atts)

View File

@@ -5,10 +5,10 @@ import (
"testing"
"github.com/prysmaticlabs/go-bitfield"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
aggtesting "github.com/prysmaticlabs/prysm/shared/aggregation/testing"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)
@@ -63,7 +63,7 @@ func BenchmarkAggregateAttestations_Aggregate(b *testing.B) {
for _, tt := range tests {
b.Run(fmt.Sprintf("naive_%s", tt.name), func(b *testing.B) {
b.StopTimer()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(NaiveAggregation),
})
atts := aggtesting.MakeAttestationsFromBitlists(tt.inputs)
@@ -75,7 +75,7 @@ func BenchmarkAggregateAttestations_Aggregate(b *testing.B) {
})
b.Run(fmt.Sprintf("max-cover_%s", tt.name), func(b *testing.B) {
b.StopTimer()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(MaxCoverAggregation),
})
atts := aggtesting.MakeAttestationsFromBitlists(tt.inputs)
@@ -87,7 +87,7 @@ func BenchmarkAggregateAttestations_Aggregate(b *testing.B) {
})
b.Run(fmt.Sprintf("opt-max-cover_%s", tt.name), func(b *testing.B) {
b.StopTimer()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(OptMaxCoverAggregation),
})
atts := aggtesting.MakeAttestationsFromBitlists(tt.inputs)

View File

@@ -7,11 +7,11 @@ import (
"testing"
"github.com/prysmaticlabs/go-bitfield"
"github.com/prysmaticlabs/prysm/config/features"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/aggregation"
aggtesting "github.com/prysmaticlabs/prysm/shared/aggregation/testing"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/featureconfig"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/sszutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
@@ -22,7 +22,7 @@ import (
func TestMain(m *testing.M) {
logrus.SetLevel(logrus.DebugLevel)
logrus.SetOutput(ioutil.Discard)
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(OptMaxCoverAggregation),
})
defer resetCfg()
@@ -233,21 +233,21 @@ func TestAggregateAttestations_Aggregate(t *testing.T) {
}
}
t.Run(fmt.Sprintf("%s/%s", tt.name, NaiveAggregation), func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(NaiveAggregation),
})
defer resetCfg()
runner()
})
t.Run(fmt.Sprintf("%s/%s", tt.name, MaxCoverAggregation), func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(MaxCoverAggregation),
})
defer resetCfg()
runner()
})
t.Run(fmt.Sprintf("%s/%s", tt.name, OptMaxCoverAggregation), func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(OptMaxCoverAggregation),
})
defer resetCfg()
@@ -256,7 +256,7 @@ func TestAggregateAttestations_Aggregate(t *testing.T) {
}
t.Run("invalid strategy", func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: "foobar",
})
defer resetCfg()
@@ -267,7 +267,7 @@ func TestAggregateAttestations_Aggregate(t *testing.T) {
t.Run("broken attestation bitset", func(t *testing.T) {
wantErr := "bitlist cannot be nil or empty: invalid max_cover problem"
t.Run(string(MaxCoverAggregation), func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(MaxCoverAggregation),
})
defer resetCfg()
@@ -279,7 +279,7 @@ func TestAggregateAttestations_Aggregate(t *testing.T) {
assert.ErrorContains(t, wantErr, err)
})
t.Run(string(OptMaxCoverAggregation), func(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(OptMaxCoverAggregation),
})
defer resetCfg()
@@ -296,7 +296,7 @@ func TestAggregateAttestations_Aggregate(t *testing.T) {
// The first item cannot be aggregated, and should be pushed down the list,
// by two swaps with aggregated items (aggregation is done in-place, so the very same
// underlying array is used for storing both aggregated and non-aggregated items).
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{
resetCfg := features.InitWithReset(&features.Flags{
AttestationAggregationStrategy: string(OptMaxCoverAggregation),
})
defer resetCfg()

Some files were not shown because too many files have changed in this diff Show More