Rename beacon-chain/core/state to beacon-chain/core/transition pkg (#9530)

* Move, refactor, fix

* @rkapka PR feedback: revert irrelevant changes

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
Preston Van Loon
2021-09-08 06:41:47 -04:00
committed by GitHub
parent bc551b7e30
commit b586d3784b
99 changed files with 368 additions and 368 deletions

View File

@@ -33,7 +33,7 @@ go_library(
"//beacon-chain/core/feed:go_default_library", "//beacon-chain/core/feed:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/filters:go_default_library", "//beacon-chain/db/filters:go_default_library",
"//beacon-chain/forkchoice:go_default_library", "//beacon-chain/forkchoice:go_default_library",
@@ -104,7 +104,7 @@ go_test(
"//beacon-chain/cache/depositcache:go_default_library", "//beacon-chain/cache/depositcache:go_default_library",
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/testing:go_default_library", "//beacon-chain/db/testing:go_default_library",
"//beacon-chain/p2p:go_default_library", "//beacon-chain/p2p:go_default_library",
@@ -155,7 +155,7 @@ go_test(
"//beacon-chain/cache/depositcache:go_default_library", "//beacon-chain/cache/depositcache:go_default_library",
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/testing:go_default_library", "//beacon-chain/db/testing:go_default_library",
"//beacon-chain/p2p:go_default_library", "//beacon-chain/p2p:go_default_library",

View File

@@ -6,10 +6,10 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/cache"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/params"
@@ -77,11 +77,11 @@ func (s *Service) HeadSyncCommitteePubKeys(ctx context.Context, slot types.Slot,
return nil, err return nil, err
} }
nextSlotEpoch := core2.SlotToEpoch(headState.Slot() + 1) nextSlotEpoch := core.SlotToEpoch(headState.Slot() + 1)
currEpoch := core2.SlotToEpoch(headState.Slot()) currEpoch := core.SlotToEpoch(headState.Slot())
var syncCommittee *ethpb.SyncCommittee var syncCommittee *ethpb.SyncCommittee
if currEpoch == nextSlotEpoch || core2.SyncCommitteePeriod(currEpoch) == core2.SyncCommitteePeriod(nextSlotEpoch) { if currEpoch == nextSlotEpoch || core.SyncCommitteePeriod(currEpoch) == core.SyncCommitteePeriod(nextSlotEpoch) {
syncCommittee, err = headState.CurrentSyncCommittee() syncCommittee, err = headState.CurrentSyncCommittee()
if err != nil { if err != nil {
return nil, err return nil, err
@@ -102,7 +102,7 @@ func (s *Service) domainWithHeadState(ctx context.Context, slot types.Slot, doma
if err != nil { if err != nil {
return nil, err return nil, err
} }
return helpers.Domain(headState.Fork(), core2.SlotToEpoch(headState.Slot()), domain, headState.GenesisValidatorRoot()) return helpers.Domain(headState.Fork(), core.SlotToEpoch(headState.Slot()), domain, headState.GenesisValidatorRoot())
} }
// returns the head state that is advanced up to `slot`. It utilizes the cache `syncCommitteeHeadState` by retrieving using `slot` as key. // returns the head state that is advanced up to `slot`. It utilizes the cache `syncCommitteeHeadState` by retrieving using `slot` as key.
@@ -127,7 +127,7 @@ func (s *Service) getSyncCommitteeHeadState(ctx context.Context, slot types.Slot
return nil, errors.New("nil state") return nil, errors.New("nil state")
} }
if slot > headState.Slot() { if slot > headState.Slot() {
headState, err = core.ProcessSlots(ctx, headState, slot) headState, err = transition.ProcessSlots(ctx, headState, slot)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -7,9 +7,9 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/bytesutil"
@@ -39,18 +39,18 @@ func (s *Service) getAttPreState(ctx context.Context, c *ethpb.Checkpoint) (stat
return nil, errors.Wrapf(err, "could not get pre state for epoch %d", c.Epoch) return nil, errors.Wrapf(err, "could not get pre state for epoch %d", c.Epoch)
} }
epochStartSlot, err := core2.StartSlot(c.Epoch) epochStartSlot, err := core.StartSlot(c.Epoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if epochStartSlot > baseState.Slot() { if epochStartSlot > baseState.Slot() {
if featureconfig.Get().EnableNextSlotStateCache { if featureconfig.Get().EnableNextSlotStateCache {
baseState, err = core.ProcessSlotsUsingNextSlotCache(ctx, baseState, c.Root, epochStartSlot) baseState, err = transition.ProcessSlotsUsingNextSlotCache(ctx, baseState, c.Root, epochStartSlot)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "could not process slots up to epoch %d", c.Epoch) return nil, errors.Wrapf(err, "could not process slots up to epoch %d", c.Epoch)
} }
} else { } else {
baseState, err = core.ProcessSlots(ctx, baseState, epochStartSlot) baseState, err = transition.ProcessSlots(ctx, baseState, epochStartSlot)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "could not process slots up to epoch %d", c.Epoch) return nil, errors.Wrapf(err, "could not process slots up to epoch %d", c.Epoch)
} }
@@ -70,7 +70,7 @@ func (s *Service) getAttPreState(ctx context.Context, c *ethpb.Checkpoint) (stat
// verifyAttTargetEpoch validates attestation is from the current or previous epoch. // verifyAttTargetEpoch validates attestation is from the current or previous epoch.
func (s *Service) verifyAttTargetEpoch(_ context.Context, genesisTime, nowTime uint64, c *ethpb.Checkpoint) error { func (s *Service) verifyAttTargetEpoch(_ context.Context, genesisTime, nowTime uint64, c *ethpb.Checkpoint) error {
currentSlot := types.Slot((nowTime - genesisTime) / params.BeaconConfig().SecondsPerSlot) currentSlot := types.Slot((nowTime - genesisTime) / params.BeaconConfig().SecondsPerSlot)
currentEpoch := core2.SlotToEpoch(currentSlot) currentEpoch := core.SlotToEpoch(currentSlot)
var prevEpoch types.Epoch var prevEpoch types.Epoch
// Prevents previous epoch under flow // Prevents previous epoch under flow
if currentEpoch > 1 { if currentEpoch > 1 {

View File

@@ -6,7 +6,7 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
"github.com/prysmaticlabs/prysm/beacon-chain/state/stategen" "github.com/prysmaticlabs/prysm/beacon-chain/state/stategen"
@@ -144,7 +144,7 @@ func TestStore_OnAttestation_Ok(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
tRoot := bytesutil.ToBytes32(att[0].Data.Target.Root) tRoot := bytesutil.ToBytes32(att[0].Data.Target.Root)
copied := genesisState.Copy() copied := genesisState.Copy()
copied, err = state.ProcessSlots(ctx, copied, 1) copied, err = transition.ProcessSlots(ctx, copied, 1)
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, service.cfg.BeaconDB.SaveState(ctx, copied, tRoot)) require.NoError(t, service.cfg.BeaconDB.SaveState(ctx, copied, tRoot))
require.NoError(t, service.cfg.ForkChoiceStore.ProcessBlock(ctx, 0, tRoot, tRoot, tRoot, 1, 1)) require.NoError(t, service.cfg.ForkChoiceStore.ProcessBlock(ctx, 0, tRoot, tRoot, tRoot, 1, 1))
@@ -253,7 +253,7 @@ func TestStore_UpdateCheckpointState(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
s, err := core.StartSlot(newCheckpoint.Epoch) s, err := core.StartSlot(newCheckpoint.Epoch)
require.NoError(t, err) require.NoError(t, err)
baseState, err = state.ProcessSlots(ctx, baseState, s) baseState, err = transition.ProcessSlots(ctx, baseState, s)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, returned.Slot(), baseState.Slot(), "Incorrectly returned base state") assert.Equal(t, returned.Slot(), baseState.Slot(), "Incorrectly returned base state")

View File

@@ -6,11 +6,11 @@ import (
"time" "time"
"github.com/pkg/errors" "github.com/pkg/errors"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1" ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -97,7 +97,7 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b
return err return err
} }
postState, err := core.ExecuteStateTransition(ctx, preState, signed) postState, err := transition.ExecuteStateTransition(ctx, preState, signed)
if err != nil { if err != nil {
return err return err
} }
@@ -114,7 +114,7 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b
// with a custom deadline, therefore using the background context instead. // with a custom deadline, therefore using the background context instead.
slotCtx, cancel := context.WithTimeout(context.Background(), slotDeadline) slotCtx, cancel := context.WithTimeout(context.Background(), slotDeadline)
defer cancel() defer cancel()
if err := core.UpdateNextSlotCache(slotCtx, blockRoot[:], postState); err != nil { if err := transition.UpdateNextSlotCache(slotCtx, blockRoot[:], postState); err != nil {
log.WithError(err).Debug("could not update next slot state cache") log.WithError(err).Debug("could not update next slot state cache")
} }
}() }()
@@ -234,12 +234,12 @@ func (s *Service) onBlockBatch(ctx context.Context, blks []block.SignedBeaconBlo
var set *bls.SignatureSet var set *bls.SignatureSet
boundaries := make(map[[32]byte]state.BeaconState) boundaries := make(map[[32]byte]state.BeaconState)
for i, b := range blks { for i, b := range blks {
set, preState, err = core.ExecuteStateTransitionNoVerifyAnySig(ctx, preState, b) set, preState, err = transition.ExecuteStateTransitionNoVerifyAnySig(ctx, preState, b)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
// Save potential boundary states. // Save potential boundary states.
if core2.IsEpochStart(preState.Slot()) { if core.IsEpochStart(preState.Slot()) {
boundaries[blockRoots[i]] = preState.Copy() boundaries[blockRoots[i]] = preState.Copy()
if err := s.handleEpochBoundary(ctx, preState); err != nil { if err := s.handleEpochBoundary(ctx, preState); err != nil {
return nil, nil, errors.Wrap(err, "could not handle epoch boundary state") return nil, nil, errors.Wrap(err, "could not handle epoch boundary state")
@@ -324,11 +324,11 @@ func (s *Service) handleEpochBoundary(ctx context.Context, postState state.Beaco
if postState.Slot()+1 == s.nextEpochBoundarySlot { if postState.Slot()+1 == s.nextEpochBoundarySlot {
// Update caches for the next epoch at epoch boundary slot - 1. // Update caches for the next epoch at epoch boundary slot - 1.
if err := helpers.UpdateCommitteeCache(postState, core2.NextEpoch(postState)); err != nil { if err := helpers.UpdateCommitteeCache(postState, core.NextEpoch(postState)); err != nil {
return err return err
} }
copied := postState.Copy() copied := postState.Copy()
copied, err := core.ProcessSlots(ctx, copied, copied.Slot()+1) copied, err := transition.ProcessSlots(ctx, copied, copied.Slot()+1)
if err != nil { if err != nil {
return err return err
} }
@@ -340,14 +340,14 @@ func (s *Service) handleEpochBoundary(ctx context.Context, postState state.Beaco
return err return err
} }
var err error var err error
s.nextEpochBoundarySlot, err = core2.StartSlot(core2.NextEpoch(postState)) s.nextEpochBoundarySlot, err = core.StartSlot(core.NextEpoch(postState))
if err != nil { if err != nil {
return err return err
} }
// Update caches at epoch boundary slot. // Update caches at epoch boundary slot.
// The following updates have short cut to return nil cheaply if fulfilled during boundary slot - 1. // The following updates have short cut to return nil cheaply if fulfilled during boundary slot - 1.
if err := helpers.UpdateCommitteeCache(postState, core2.CurrentEpoch(postState)); err != nil { if err := helpers.UpdateCommitteeCache(postState, core.CurrentEpoch(postState)); err != nil {
return err return err
} }
if err := helpers.UpdateProposerIndicesInCache(postState); err != nil { if err := helpers.UpdateProposerIndicesInCache(postState); err != nil {

View File

@@ -13,7 +13,7 @@ import (
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache"
"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
@@ -161,7 +161,7 @@ func TestStore_OnBlockBatch(t *testing.T) {
for i := 1; i < 10; i++ { for i := 1; i < 10; i++ {
b, err := testutil.GenerateFullBlock(bState, keys, testutil.DefaultBlockGenConfig(), types.Slot(i)) b, err := testutil.GenerateFullBlock(bState, keys, testutil.DefaultBlockGenConfig(), types.Slot(i))
require.NoError(t, err) require.NoError(t, err)
bState, err = core.ExecuteStateTransition(ctx, bState, wrapper.WrappedPhase0SignedBeaconBlock(b)) bState, err = transition.ExecuteStateTransition(ctx, bState, wrapper.WrappedPhase0SignedBeaconBlock(b))
require.NoError(t, err) require.NoError(t, err)
if i == 1 { if i == 1 {
firstState = bState.Copy() firstState = bState.Copy()

View File

@@ -8,7 +8,7 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations"
@@ -112,7 +112,7 @@ func TestProcessAttestations_Ok(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
tRoot := bytesutil.ToBytes32(atts[0].Data.Target.Root) tRoot := bytesutil.ToBytes32(atts[0].Data.Target.Root)
copied := genesisState.Copy() copied := genesisState.Copy()
copied, err = state.ProcessSlots(ctx, copied, 1) copied, err = transition.ProcessSlots(ctx, copied, 1)
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, service.cfg.BeaconDB.SaveState(ctx, copied, tRoot)) require.NoError(t, service.cfg.BeaconDB.SaveState(ctx, copied, tRoot))
require.NoError(t, service.cfg.ForkChoiceStore.ProcessBlock(ctx, 0, tRoot, tRoot, tRoot, 1, 1)) require.NoError(t, service.cfg.ForkChoiceStore.ProcessBlock(ctx, 0, tRoot, tRoot, tRoot, 1, 1))

View File

@@ -8,7 +8,7 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
blockchainTesting "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" blockchainTesting "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations"
@@ -302,7 +302,7 @@ func TestService_ReceiveBlockBatch_UpdateFinalizedCheckpoint(t *testing.T) {
for i := types.Slot(1); i < params.BeaconConfig().SlotsPerEpoch*5; i++ { for i := types.Slot(1); i < params.BeaconConfig().SlotsPerEpoch*5; i++ {
b, err := testutil.GenerateFullBlock(copied, keys, testutil.DefaultBlockGenConfig(), i) b, err := testutil.GenerateFullBlock(copied, keys, testutil.DefaultBlockGenConfig(), i)
assert.NoError(t, err) assert.NoError(t, err)
copied, err = state.ExecuteStateTransition(context.Background(), copied, wrapper.WrappedPhase0SignedBeaconBlock(b)) copied, err = transition.ExecuteStateTransition(context.Background(), copied, wrapper.WrappedPhase0SignedBeaconBlock(b))
assert.NoError(t, err) assert.NoError(t, err)
r, err := b.Block.HashTreeRoot() r, err := b.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)

View File

@@ -13,11 +13,11 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/cache"
"github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
f "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice" f "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
@@ -174,7 +174,7 @@ func (s *Service) Start() {
s.prevFinalizedCheckpt = ethpb.CopyCheckpoint(finalizedCheckpoint) s.prevFinalizedCheckpt = ethpb.CopyCheckpoint(finalizedCheckpoint)
s.resumeForkChoice(justifiedCheckpoint, finalizedCheckpoint) s.resumeForkChoice(justifiedCheckpoint, finalizedCheckpoint)
ss, err := core2.StartSlot(s.finalizedCheckpt.Epoch) ss, err := core.StartSlot(s.finalizedCheckpt.Epoch)
if err != nil { if err != nil {
log.Fatalf("Could not get start slot of finalized epoch: %v", err) log.Fatalf("Could not get start slot of finalized epoch: %v", err)
} }
@@ -278,7 +278,7 @@ func (s *Service) initializeBeaconChain(
s.genesisTime = genesisTime s.genesisTime = genesisTime
unixTime := uint64(genesisTime.Unix()) unixTime := uint64(genesisTime.Unix())
genesisState, err := core.OptimizedGenesisBeaconState(unixTime, preGenesisState, eth1data) genesisState, err := transition.OptimizedGenesisBeaconState(unixTime, preGenesisState, eth1data)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "could not initialize genesis state") return nil, errors.Wrap(err, "could not initialize genesis state")
} }
@@ -411,7 +411,7 @@ func (s *Service) initializeChainInfo(ctx context.Context) error {
if err != nil { if err != nil {
return errors.Wrap(err, "could not retrieve head block") return errors.Wrap(err, "could not retrieve head block")
} }
headEpoch := core2.SlotToEpoch(headBlock.Block().Slot()) headEpoch := core.SlotToEpoch(headBlock.Block().Slot())
var epochsSinceFinality types.Epoch var epochsSinceFinality types.Epoch
if headEpoch > finalized.Epoch { if headEpoch > finalized.Epoch {
epochsSinceFinality = headEpoch - finalized.Epoch epochsSinceFinality = headEpoch - finalized.Epoch

View File

@@ -14,7 +14,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
@@ -202,7 +202,7 @@ func TestChainService_InitializeBeaconChain(t *testing.T) {
trie, _, err := testutil.DepositTrieFromDeposits(deposits) trie, _, err := testutil.DepositTrieFromDeposits(deposits)
require.NoError(t, err) require.NoError(t, err)
hashTreeRoot := trie.HashTreeRoot() hashTreeRoot := trie.HashTreeRoot()
genState, err := state.EmptyGenesisState() genState, err := transition.EmptyGenesisState()
require.NoError(t, err) require.NoError(t, err)
err = genState.SetEth1Data(&ethpb.Eth1Data{ err = genState.SetEth1Data(&ethpb.Eth1Data{
DepositRoot: hashTreeRoot[:], DepositRoot: hashTreeRoot[:],

View File

@@ -26,7 +26,7 @@ var (
}) })
) )
// SkipSlotCache is used to store the cached results of processing skip slots in state.ProcessSlots. // SkipSlotCache is used to store the cached results of processing skip slots in transition.ProcessSlots.
type SkipSlotCache struct { type SkipSlotCache struct {
cache *lru.Cache cache *lru.Cache
lock sync.RWMutex lock sync.RWMutex

View File

@@ -12,7 +12,7 @@ go_library(
"transition.go", "transition.go",
"transition_no_verify_sig.go", "transition_no_verify_sig.go",
], ],
importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/state", importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/transition",
visibility = [ visibility = [
"//beacon-chain:__subpackages__", "//beacon-chain:__subpackages__",
"//endtoend:__pkg__", "//endtoend:__pkg__",
@@ -32,7 +32,7 @@ go_library(
"//beacon-chain/core/epoch:go_default_library", "//beacon-chain/core/epoch:go_default_library",
"//beacon-chain/core/epoch/precompute:go_default_library", "//beacon-chain/core/epoch/precompute:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state/interop:go_default_library", "//beacon-chain/core/transition/interop:go_default_library",
"//beacon-chain/core/validators:go_default_library", "//beacon-chain/core/validators:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
@@ -119,7 +119,7 @@ go_test(
deps = [ deps = [
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//shared/benchutil:go_default_library", "//shared/benchutil:go_default_library",

View File

@@ -1,14 +1,14 @@
package state_test package transition_test
import ( import (
"context" "context"
"testing" "testing"
"github.com/prysmaticlabs/go-bitfield" "github.com/prysmaticlabs/go-bitfield"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
p2pType "github.com/prysmaticlabs/prysm/beacon-chain/p2p/types" p2pType "github.com/prysmaticlabs/prysm/beacon-chain/p2p/types"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -43,12 +43,12 @@ func TestExecuteAltairStateTransitionNoVerify_FullProcess(t *testing.T) {
require.NoError(t, beaconState.SetEth1DataVotes([]*ethpb.Eth1Data{eth1Data})) require.NoError(t, beaconState.SetEth1DataVotes([]*ethpb.Eth1Data{eth1Data}))
require.NoError(t, beaconState.SetSlot(beaconState.Slot()+1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()+1))
epoch := core2.CurrentEpoch(beaconState) epoch := core.CurrentEpoch(beaconState)
randaoReveal, err := testutil.RandaoReveal(beaconState, epoch, privKeys) randaoReveal, err := testutil.RandaoReveal(beaconState, epoch, privKeys)
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1))
nextSlotState, err := core.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1) nextSlotState, err := transition.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1)
require.NoError(t, err) require.NoError(t, err)
parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot() parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
@@ -76,7 +76,7 @@ func TestExecuteAltairStateTransitionNoVerify_FullProcess(t *testing.T) {
syncSigs := make([]bls.Signature, len(indices)) syncSigs := make([]bls.Signature, len(indices))
for i, indice := range indices { for i, indice := range indices {
b := p2pType.SSZBytes(pbr[:]) b := p2pType.SSZBytes(pbr[:])
sb, err := helpers.ComputeDomainAndSign(beaconState, core2.CurrentEpoch(beaconState), &b, params.BeaconConfig().DomainSyncCommittee, privKeys[indice]) sb, err := helpers.ComputeDomainAndSign(beaconState, core.CurrentEpoch(beaconState), &b, params.BeaconConfig().DomainSyncCommittee, privKeys[indice])
require.NoError(t, err) require.NoError(t, err)
sig, err := bls.SignatureFromBytes(sb) sig, err := bls.SignatureFromBytes(sb)
require.NoError(t, err) require.NoError(t, err)
@@ -90,7 +90,7 @@ func TestExecuteAltairStateTransitionNoVerify_FullProcess(t *testing.T) {
block.Block.Body.SyncAggregate = syncAggregate block.Block.Body.SyncAggregate = syncAggregate
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
stateRoot, err := core.CalculateStateRoot(context.Background(), beaconState, wsb) stateRoot, err := transition.CalculateStateRoot(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
block.Block.StateRoot = stateRoot[:] block.Block.StateRoot = stateRoot[:]
@@ -101,7 +101,7 @@ func TestExecuteAltairStateTransitionNoVerify_FullProcess(t *testing.T) {
wsb, err = wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err = wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
set, _, err := core.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wsb) set, _, err := transition.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
verified, err := set.Verify() verified, err := set.Verify()
require.NoError(t, err) require.NoError(t, err)
@@ -130,12 +130,12 @@ func TestExecuteAltairStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t
require.NoError(t, beaconState.SetEth1DataVotes([]*ethpb.Eth1Data{eth1Data})) require.NoError(t, beaconState.SetEth1DataVotes([]*ethpb.Eth1Data{eth1Data}))
require.NoError(t, beaconState.SetSlot(beaconState.Slot()+1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()+1))
epoch := core2.CurrentEpoch(beaconState) epoch := core.CurrentEpoch(beaconState)
randaoReveal, err := testutil.RandaoReveal(beaconState, epoch, privKeys) randaoReveal, err := testutil.RandaoReveal(beaconState, epoch, privKeys)
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1))
nextSlotState, err := core.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1) nextSlotState, err := transition.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1)
require.NoError(t, err) require.NoError(t, err)
parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot() parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
@@ -163,7 +163,7 @@ func TestExecuteAltairStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t
syncSigs := make([]bls.Signature, len(indices)) syncSigs := make([]bls.Signature, len(indices))
for i, indice := range indices { for i, indice := range indices {
b := p2pType.SSZBytes(pbr[:]) b := p2pType.SSZBytes(pbr[:])
sb, err := helpers.ComputeDomainAndSign(beaconState, core2.CurrentEpoch(beaconState), &b, params.BeaconConfig().DomainSyncCommittee, privKeys[indice]) sb, err := helpers.ComputeDomainAndSign(beaconState, core.CurrentEpoch(beaconState), &b, params.BeaconConfig().DomainSyncCommittee, privKeys[indice])
require.NoError(t, err) require.NoError(t, err)
sig, err := bls.SignatureFromBytes(sb) sig, err := bls.SignatureFromBytes(sb)
require.NoError(t, err) require.NoError(t, err)
@@ -178,7 +178,7 @@ func TestExecuteAltairStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
stateRoot, err := core.CalculateStateRoot(context.Background(), beaconState, wsb) stateRoot, err := transition.CalculateStateRoot(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
block.Block.StateRoot = stateRoot[:] block.Block.StateRoot = stateRoot[:]
@@ -190,7 +190,7 @@ func TestExecuteAltairStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t
block.Block.StateRoot = bytesutil.PadTo([]byte{'a'}, 32) block.Block.StateRoot = bytesutil.PadTo([]byte{'a'}, 32)
wsb, err = wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err = wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
_, _, err = core.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wsb) _, _, err = transition.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wsb)
require.ErrorContains(t, "could not validate state root", err) require.ErrorContains(t, "could not validate state root", err)
} }
@@ -198,7 +198,7 @@ func TestExecuteStateTransitionNoVerifyAnySig_PassesProcessingConditions(t *test
beaconState, block := createFullAltairBlockWithOperations(t) beaconState, block := createFullAltairBlockWithOperations(t)
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
set, _, err := core.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wsb) set, _, err := transition.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
// Test Signature set verifies. // Test Signature set verifies.
verified, err := set.Verify() verified, err := set.Verify()

View File

@@ -1,4 +1,4 @@
package state_test package transition_test
import ( import (
"context" "context"
@@ -6,7 +6,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
coreState "github.com/prysmaticlabs/prysm/beacon-chain/core/state" coreState "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"

View File

@@ -7,7 +7,7 @@ go_library(
"write_block_to_disk.go", "write_block_to_disk.go",
"write_state_to_disk.go", "write_state_to_disk.go",
], ],
importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/state/interop", importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop",
visibility = [ visibility = [
"//beacon-chain:__subpackages__", "//beacon-chain:__subpackages__",
"//tools:__subpackages__", "//tools:__subpackages__",

View File

@@ -1,4 +1,4 @@
package state package transition
import "github.com/sirupsen/logrus" import "github.com/sirupsen/logrus"

View File

@@ -1,4 +1,4 @@
package state package transition
import ( import (
"context" "context"

View File

@@ -1,11 +1,11 @@
package state_test package transition_test
import ( import (
"context" "context"
"sync" "sync"
"testing" "testing"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
@@ -16,8 +16,8 @@ import (
) )
func TestSkipSlotCache_OK(t *testing.T) { func TestSkipSlotCache_OK(t *testing.T) {
core.SkipSlotCache.Enable() transition.SkipSlotCache.Enable()
defer core.SkipSlotCache.Disable() defer transition.SkipSlotCache.Disable()
bState, privs := testutil.DeterministicGenesisState(t, params.MinimalSpecConfig().MinGenesisActiveValidatorCount) bState, privs := testutil.DeterministicGenesisState(t, params.MinimalSpecConfig().MinGenesisActiveValidatorCount)
pbState, err := v1.ProtobufBeaconState(bState.CloneInnerState()) pbState, err := v1.ProtobufBeaconState(bState.CloneInnerState())
require.NoError(t, err) require.NoError(t, err)
@@ -31,11 +31,11 @@ func TestSkipSlotCache_OK(t *testing.T) {
// with the state // with the state
blk, err := testutil.GenerateFullBlock(bState, privs, blkCfg, originalState.Slot()+10) blk, err := testutil.GenerateFullBlock(bState, privs, blkCfg, originalState.Slot()+10)
require.NoError(t, err) require.NoError(t, err)
executedState, err := core.ExecuteStateTransition(context.Background(), originalState, wrapper.WrappedPhase0SignedBeaconBlock(blk)) executedState, err := transition.ExecuteStateTransition(context.Background(), originalState, wrapper.WrappedPhase0SignedBeaconBlock(blk))
require.NoError(t, err, "Could not run state transition") require.NoError(t, err, "Could not run state transition")
originalState, ok := executedState.(*v1.BeaconState) originalState, ok := executedState.(*v1.BeaconState)
require.Equal(t, true, ok) require.Equal(t, true, ok)
bState, err = core.ExecuteStateTransition(context.Background(), bState, wrapper.WrappedPhase0SignedBeaconBlock(blk)) bState, err = transition.ExecuteStateTransition(context.Background(), bState, wrapper.WrappedPhase0SignedBeaconBlock(blk))
require.NoError(t, err, "Could not process state transition") require.NoError(t, err, "Could not process state transition")
assert.DeepEqual(t, originalState.CloneInnerState(), bState.CloneInnerState(), "Skipped slots cache leads to different states") assert.DeepEqual(t, originalState.CloneInnerState(), bState.CloneInnerState(), "Skipped slots cache leads to different states")
@@ -51,13 +51,13 @@ func TestSkipSlotCache_ConcurrentMixup(t *testing.T) {
blkCfg := testutil.DefaultBlockGenConfig() blkCfg := testutil.DefaultBlockGenConfig()
blkCfg.NumAttestations = 1 blkCfg.NumAttestations = 1
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
// First transition will be with an empty cache, so the cache becomes populated // First transition will be with an empty cache, so the cache becomes populated
// with the state // with the state
blk, err := testutil.GenerateFullBlock(bState, privs, blkCfg, originalState.Slot()+10) blk, err := testutil.GenerateFullBlock(bState, privs, blkCfg, originalState.Slot()+10)
require.NoError(t, err) require.NoError(t, err)
executedState, err := core.ExecuteStateTransition(context.Background(), originalState, wrapper.WrappedPhase0SignedBeaconBlock(blk)) executedState, err := transition.ExecuteStateTransition(context.Background(), originalState, wrapper.WrappedPhase0SignedBeaconBlock(blk))
require.NoError(t, err, "Could not run state transition") require.NoError(t, err, "Could not run state transition")
originalState, ok := executedState.(*v1.BeaconState) originalState, ok := executedState.(*v1.BeaconState)
require.Equal(t, true, ok) require.Equal(t, true, ok)
@@ -71,7 +71,7 @@ func TestSkipSlotCache_ConcurrentMixup(t *testing.T) {
signature, err := testutil.BlockSignature(originalState, blk.Block, privs) signature, err := testutil.BlockSignature(originalState, blk.Block, privs)
require.NoError(t, err) require.NoError(t, err)
blk.Signature = signature.Marshal() blk.Signature = signature.Marshal()
s1, err = core.ExecuteStateTransition(context.Background(), originalState.Copy(), wrapper.WrappedPhase0SignedBeaconBlock(blk)) s1, err = transition.ExecuteStateTransition(context.Background(), originalState.Copy(), wrapper.WrappedPhase0SignedBeaconBlock(blk))
require.NoError(t, err, "Could not run state transition") require.NoError(t, err, "Could not run state transition")
} }
@@ -82,7 +82,7 @@ func TestSkipSlotCache_ConcurrentMixup(t *testing.T) {
signature, err := testutil.BlockSignature(originalState, blk.Block, privs) signature, err := testutil.BlockSignature(originalState, blk.Block, privs)
require.NoError(t, err) require.NoError(t, err)
blk.Signature = signature.Marshal() blk.Signature = signature.Marshal()
s0, err = core.ExecuteStateTransition(context.Background(), originalState.Copy(), wrapper.WrappedPhase0SignedBeaconBlock(blk)) s0, err = transition.ExecuteStateTransition(context.Background(), originalState.Copy(), wrapper.WrappedPhase0SignedBeaconBlock(blk))
require.NoError(t, err, "Could not run state transition") require.NoError(t, err, "Could not run state transition")
} }
@@ -111,24 +111,24 @@ func TestSkipSlotCache_ConcurrentMixup(t *testing.T) {
} }
problemSlot := s1.Slot() + 2 problemSlot := s1.Slot() + 2
expected1, err := core.ProcessSlots(context.Background(), s1.Copy(), problemSlot) expected1, err := transition.ProcessSlots(context.Background(), s1.Copy(), problemSlot)
require.NoError(t, err) require.NoError(t, err)
expectedRoot1, err := expected1.HashTreeRoot(context.Background()) expectedRoot1, err := expected1.HashTreeRoot(context.Background())
require.NoError(t, err) require.NoError(t, err)
t.Logf("chain 1 (even i) expected root %x at slot %d", expectedRoot1[:], problemSlot) t.Logf("chain 1 (even i) expected root %x at slot %d", expectedRoot1[:], problemSlot)
tmp1, err := core.ProcessSlots(context.Background(), expected1.Copy(), problemSlot+1) tmp1, err := transition.ProcessSlots(context.Background(), expected1.Copy(), problemSlot+1)
require.NoError(t, err) require.NoError(t, err)
gotRoot := tmp1.StateRoots()[problemSlot] gotRoot := tmp1.StateRoots()[problemSlot]
require.DeepEqual(t, expectedRoot1[:], gotRoot, "State roots for chain 1 are bad, expected root doesn't match") require.DeepEqual(t, expectedRoot1[:], gotRoot, "State roots for chain 1 are bad, expected root doesn't match")
expected2, err := core.ProcessSlots(context.Background(), s0.Copy(), problemSlot) expected2, err := transition.ProcessSlots(context.Background(), s0.Copy(), problemSlot)
require.NoError(t, err) require.NoError(t, err)
expectedRoot2, err := expected2.HashTreeRoot(context.Background()) expectedRoot2, err := expected2.HashTreeRoot(context.Background())
require.NoError(t, err) require.NoError(t, err)
t.Logf("chain 2 (odd i) expected root %x at slot %d", expectedRoot2[:], problemSlot) t.Logf("chain 2 (odd i) expected root %x at slot %d", expectedRoot2[:], problemSlot)
tmp2, err := core.ProcessSlots(context.Background(), expected2.Copy(), problemSlot+1) tmp2, err := transition.ProcessSlots(context.Background(), expected2.Copy(), problemSlot+1)
require.NoError(t, err) require.NoError(t, err)
gotRoot = tmp2.StateRoots()[problemSlot] gotRoot = tmp2.StateRoots()[problemSlot]
require.DeepEqual(t, expectedRoot2[:], gotRoot, "State roots for chain 2 are bad, expected root doesn't match") require.DeepEqual(t, expectedRoot2[:], gotRoot, "State roots for chain 2 are bad, expected root doesn't match")
@@ -138,7 +138,7 @@ func TestSkipSlotCache_ConcurrentMixup(t *testing.T) {
step := func(i int, setup state.BeaconState) { step := func(i int, setup state.BeaconState) {
// go at least 1 past problemSlot, to ensure problem slot state root is available // go at least 1 past problemSlot, to ensure problem slot state root is available
outState, err := core.ProcessSlots(context.Background(), setup, problemSlot.Add(1+uint64(i))) // keep increasing, to hit and extend the cache outState, err := transition.ProcessSlots(context.Background(), setup, problemSlot.Add(1+uint64(i))) // keep increasing, to hit and extend the cache
require.NoError(t, err, "Could not process state transition") require.NoError(t, err, "Could not process state transition")
roots := outState.StateRoots() roots := outState.StateRoots()
gotRoot := roots[problemSlot] gotRoot := roots[problemSlot]
@@ -150,7 +150,7 @@ func TestSkipSlotCache_ConcurrentMixup(t *testing.T) {
wg.Done() wg.Done()
} }
core.SkipSlotCache.Enable() transition.SkipSlotCache.Enable()
// now concurrently apply the blocks (alternating between states, and increasing skip slots) // now concurrently apply the blocks (alternating between states, and increasing skip slots)
for i, setup := range setups { for i, setup := range setups {
go step(i, setup) go step(i, setup)

View File

@@ -1,7 +1,7 @@
// Package state implements the whole state transition // Package state implements the whole state transition
// function which consists of per slot, per-epoch transitions, and // function which consists of per slot, per-epoch transitions, and
// bootstrapping the genesis state according to the Ethereum Beacon chain spec. // bootstrapping the genesis state according to the Ethereum Beacon chain spec.
package state package transition
import ( import (
"context" "context"

View File

@@ -1,4 +1,4 @@
package state package transition
import ( import (
"context" "context"

View File

@@ -1,11 +1,11 @@
package state_test package transition_test
import ( import (
"context" "context"
"testing" "testing"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/hashutil" "github.com/prysmaticlabs/prysm/shared/hashutil"
@@ -36,7 +36,7 @@ func TestGenesisBeaconState_OK(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
newState, err := state.GenesisBeaconState(context.Background(), deposits, genesisTime, eth1Data) newState, err := transition.GenesisBeaconState(context.Background(), deposits, genesisTime, eth1Data)
require.NoError(t, err, "Could not execute GenesisBeaconState") require.NoError(t, err, "Could not execute GenesisBeaconState")
// Misc fields checks. // Misc fields checks.
@@ -93,9 +93,9 @@ func TestGenesisBeaconState_OK(t *testing.T) {
func TestGenesisState_HashEquality(t *testing.T) { func TestGenesisState_HashEquality(t *testing.T) {
deposits, _, err := testutil.DeterministicDepositsAndKeys(100) deposits, _, err := testutil.DeterministicDepositsAndKeys(100)
require.NoError(t, err) require.NoError(t, err)
state1, err := state.GenesisBeaconState(context.Background(), deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)}) state1, err := transition.GenesisBeaconState(context.Background(), deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
require.NoError(t, err) require.NoError(t, err)
state, err := state.GenesisBeaconState(context.Background(), deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)}) state, err := transition.GenesisBeaconState(context.Background(), deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
require.NoError(t, err) require.NoError(t, err)
pbState1, err := v1.ProtobufBeaconState(state1.CloneInnerState()) pbState1, err := v1.ProtobufBeaconState(state1.CloneInnerState())
@@ -113,7 +113,7 @@ func TestGenesisState_HashEquality(t *testing.T) {
} }
func TestGenesisState_InitializesLatestBlockHashes(t *testing.T) { func TestGenesisState_InitializesLatestBlockHashes(t *testing.T) {
s, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) s, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
got, want := uint64(len(s.BlockRoots())), uint64(params.BeaconConfig().SlotsPerHistoricalRoot) got, want := uint64(len(s.BlockRoots())), uint64(params.BeaconConfig().SlotsPerHistoricalRoot)
assert.Equal(t, want, got, "Wrong number of recent block hashes") assert.Equal(t, want, got, "Wrong number of recent block hashes")
@@ -127,6 +127,6 @@ func TestGenesisState_InitializesLatestBlockHashes(t *testing.T) {
} }
func TestGenesisState_FailsWithoutEth1data(t *testing.T) { func TestGenesisState_FailsWithoutEth1data(t *testing.T) {
_, err := state.GenesisBeaconState(context.Background(), nil, 0, nil) _, err := transition.GenesisBeaconState(context.Background(), nil, 0, nil)
assert.ErrorContains(t, "no eth1data provided for genesis state", err) assert.ErrorContains(t, "no eth1data provided for genesis state", err)
} }

View File

@@ -3,7 +3,7 @@ load("@prysm//tools/go:def.bzl", "go_library", "go_test")
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = ["validator_index_map.go"], srcs = ["validator_index_map.go"],
importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/state/stateutils", importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/stateutils",
visibility = [ visibility = [
"//beacon-chain:__subpackages__", "//beacon-chain:__subpackages__",
"//shared/testutil:__pkg__", "//shared/testutil:__pkg__",

View File

@@ -4,7 +4,7 @@ import (
"testing" "testing"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state/stateutils" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/stateutils"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/bytesutil"

View File

@@ -1,4 +1,4 @@
package state package transition
import ( import (
"bytes" "bytes"

View File

@@ -1,11 +1,11 @@
package state_test package transition_test
import ( import (
"context" "context"
"testing" "testing"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/require" "github.com/prysmaticlabs/prysm/shared/testutil/require"
) )
@@ -13,18 +13,18 @@ import (
func TestTrailingSlotState_RoundTrip(t *testing.T) { func TestTrailingSlotState_RoundTrip(t *testing.T) {
ctx := context.Background() ctx := context.Background()
r := []byte{'a'} r := []byte{'a'}
s, err := state.NextSlotState(ctx, r) s, err := transition.NextSlotState(ctx, r)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, nil, s) require.Equal(t, nil, s)
s, _ = testutil.DeterministicGenesisState(t, 1) s, _ = testutil.DeterministicGenesisState(t, 1)
require.NoError(t, state.UpdateNextSlotCache(ctx, r, s)) require.NoError(t, transition.UpdateNextSlotCache(ctx, r, s))
s, err = state.NextSlotState(ctx, r) s, err = transition.NextSlotState(ctx, r)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, types.Slot(1), s.Slot()) require.Equal(t, types.Slot(1), s.Slot())
require.NoError(t, state.UpdateNextSlotCache(ctx, r, s)) require.NoError(t, transition.UpdateNextSlotCache(ctx, r, s))
s, err = state.NextSlotState(ctx, r) s, err = transition.NextSlotState(ctx, r)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, types.Slot(2), s.Slot()) require.Equal(t, types.Slot(2), s.Slot())
} }

View File

@@ -1,7 +1,7 @@
// Package state implements the whole state transition // Package state implements the whole state transition
// function which consists of per slot, per-epoch transitions. // function which consists of per slot, per-epoch transitions.
// It also bootstraps the genesis beacon state for slot 0. // It also bootstraps the genesis beacon state for slot 0.
package state package transition
import ( import (
"bytes" "bytes"

View File

@@ -1,4 +1,4 @@
package state package transition
import ( import (
"context" "context"

View File

@@ -1,4 +1,4 @@
package state package transition
import ( import (
"bytes" "bytes"
@@ -9,7 +9,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
b "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" b "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state/interop" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
v "github.com/prysmaticlabs/prysm/beacon-chain/core/validators" v "github.com/prysmaticlabs/prysm/beacon-chain/core/validators"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"

View File

@@ -1,4 +1,4 @@
package state_test package transition_test
import ( import (
"context" "context"
@@ -6,7 +6,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/bytesutil"
@@ -39,7 +39,7 @@ func TestExecuteStateTransitionNoVerify_FullProcess(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1))
nextSlotState, err := state.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1) nextSlotState, err := transition.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1)
require.NoError(t, err) require.NoError(t, err)
parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot() parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
@@ -52,7 +52,7 @@ func TestExecuteStateTransitionNoVerify_FullProcess(t *testing.T) {
block.Block.Body.RandaoReveal = randaoReveal block.Block.Body.RandaoReveal = randaoReveal
block.Block.Body.Eth1Data = eth1Data block.Block.Body.Eth1Data = eth1Data
stateRoot, err := state.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) stateRoot, err := transition.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
block.Block.StateRoot = stateRoot[:] block.Block.StateRoot = stateRoot[:]
@@ -61,7 +61,7 @@ func TestExecuteStateTransitionNoVerify_FullProcess(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
block.Signature = sig.Marshal() block.Signature = sig.Marshal()
set, _, err := state.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) set, _, err := transition.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
assert.NoError(t, err) assert.NoError(t, err)
verified, err := set.Verify() verified, err := set.Verify()
assert.NoError(t, err) assert.NoError(t, err)
@@ -91,7 +91,7 @@ func TestExecuteStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t *test
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1))
nextSlotState, err := state.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1) nextSlotState, err := transition.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1)
require.NoError(t, err) require.NoError(t, err)
parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot() parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
@@ -104,7 +104,7 @@ func TestExecuteStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t *test
block.Block.Body.RandaoReveal = randaoReveal block.Block.Body.RandaoReveal = randaoReveal
block.Block.Body.Eth1Data = eth1Data block.Block.Body.Eth1Data = eth1Data
stateRoot, err := state.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) stateRoot, err := transition.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
block.Block.StateRoot = stateRoot[:] block.Block.StateRoot = stateRoot[:]
@@ -114,13 +114,13 @@ func TestExecuteStateTransitionNoVerifySignature_CouldNotVerifyStateRoot(t *test
block.Signature = sig.Marshal() block.Signature = sig.Marshal()
block.Block.StateRoot = bytesutil.PadTo([]byte{'a'}, 32) block.Block.StateRoot = bytesutil.PadTo([]byte{'a'}, 32)
_, _, err = state.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) _, _, err = transition.ExecuteStateTransitionNoVerifyAnySig(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.ErrorContains(t, "could not validate state root", err) require.ErrorContains(t, "could not validate state root", err)
} }
func TestProcessBlockNoVerify_PassesProcessingConditions(t *testing.T) { func TestProcessBlockNoVerify_PassesProcessingConditions(t *testing.T) {
beaconState, block, _, _, _ := createFullBlockWithOperations(t) beaconState, block, _, _, _ := createFullBlockWithOperations(t)
set, _, err := state.ProcessBlockNoVerifyAnySig(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) set, _, err := transition.ProcessBlockNoVerifyAnySig(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
// Test Signature set verifies. // Test Signature set verifies.
verified, err := set.Verify() verified, err := set.Verify()
@@ -132,9 +132,9 @@ func TestProcessBlockNoVerifyAnySigAltair_OK(t *testing.T) {
beaconState, block := createFullAltairBlockWithOperations(t) beaconState, block := createFullAltairBlockWithOperations(t)
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ProcessSlots(context.Background(), beaconState, wsb.Block().Slot()) beaconState, err = transition.ProcessSlots(context.Background(), beaconState, wsb.Block().Slot())
require.NoError(t, err) require.NoError(t, err)
set, _, err := state.ProcessBlockNoVerifyAnySig(context.Background(), beaconState, wsb) set, _, err := transition.ProcessBlockNoVerifyAnySig(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
verified, err := set.Verify() verified, err := set.Verify()
require.NoError(t, err) require.NoError(t, err)
@@ -145,9 +145,9 @@ func TestProcessOperationsNoVerifyAttsSigs_OK(t *testing.T) {
beaconState, block := createFullAltairBlockWithOperations(t) beaconState, block := createFullAltairBlockWithOperations(t)
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ProcessSlots(context.Background(), beaconState, wsb.Block().Slot()) beaconState, err = transition.ProcessSlots(context.Background(), beaconState, wsb.Block().Slot())
require.NoError(t, err) require.NoError(t, err)
_, err = state.ProcessOperationsNoVerifyAttsSigs(context.Background(), beaconState, wsb) _, err = transition.ProcessOperationsNoVerifyAttsSigs(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
} }
@@ -155,7 +155,7 @@ func TestCalculateStateRootAltair_OK(t *testing.T) {
beaconState, block := createFullAltairBlockWithOperations(t) beaconState, block := createFullAltairBlockWithOperations(t)
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
r, err := state.CalculateStateRoot(context.Background(), beaconState, wsb) r, err := transition.CalculateStateRoot(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
require.DeepNotEqual(t, params.BeaconConfig().ZeroHash, r) require.DeepNotEqual(t, params.BeaconConfig().ZeroHash, r)
} }

View File

@@ -1,4 +1,4 @@
package state_test package transition_test
import ( import (
"context" "context"
@@ -7,10 +7,10 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/go-bitfield" "github.com/prysmaticlabs/go-bitfield"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -26,7 +26,7 @@ import (
) )
func init() { func init() {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
func TestExecuteStateTransition_IncorrectSlot(t *testing.T) { func TestExecuteStateTransition_IncorrectSlot(t *testing.T) {
@@ -42,7 +42,7 @@ func TestExecuteStateTransition_IncorrectSlot(t *testing.T) {
}, },
} }
want := "expected state.slot" want := "expected state.slot"
_, err = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) _, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
assert.ErrorContains(t, want, err) assert.ErrorContains(t, want, err)
} }
@@ -67,12 +67,12 @@ func TestExecuteStateTransition_FullProcess(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, beaconState.SetSlot(beaconState.Slot()+1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()+1))
epoch := core2.CurrentEpoch(beaconState) epoch := core.CurrentEpoch(beaconState)
randaoReveal, err := testutil.RandaoReveal(beaconState, epoch, privKeys) randaoReveal, err := testutil.RandaoReveal(beaconState, epoch, privKeys)
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1)) require.NoError(t, beaconState.SetSlot(beaconState.Slot()-1))
nextSlotState, err := core.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1) nextSlotState, err := transition.ProcessSlots(context.Background(), beaconState.Copy(), beaconState.Slot()+1)
require.NoError(t, err) require.NoError(t, err)
parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot() parentRoot, err := nextSlotState.LatestBlockHeader().HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
@@ -85,7 +85,7 @@ func TestExecuteStateTransition_FullProcess(t *testing.T) {
block.Block.Body.RandaoReveal = randaoReveal block.Block.Body.RandaoReveal = randaoReveal
block.Block.Body.Eth1Data = eth1Data block.Block.Body.Eth1Data = eth1Data
stateRoot, err := core.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) stateRoot, err := transition.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
block.Block.StateRoot = stateRoot[:] block.Block.StateRoot = stateRoot[:]
@@ -94,7 +94,7 @@ func TestExecuteStateTransition_FullProcess(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
block.Signature = sig.Marshal() block.Signature = sig.Marshal()
beaconState, err = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, params.BeaconConfig().SlotsPerEpoch, beaconState.Slot(), "Unexpected Slot number") assert.Equal(t, params.BeaconConfig().SlotsPerEpoch, beaconState.Slot(), "Unexpected Slot number")
@@ -181,7 +181,7 @@ func TestProcessBlock_IncorrectProcessExits(t *testing.T) {
cp.Root = []byte("hello-world") cp.Root = []byte("hello-world")
require.NoError(t, beaconState.SetCurrentJustifiedCheckpoint(cp)) require.NoError(t, beaconState.SetCurrentJustifiedCheckpoint(cp))
require.NoError(t, beaconState.AppendCurrentEpochAttestations(&ethpb.PendingAttestation{})) require.NoError(t, beaconState.AppendCurrentEpochAttestations(&ethpb.PendingAttestation{}))
_, err = core.VerifyOperationLengths(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) _, err = transition.VerifyOperationLengths(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
wanted := "number of voluntary exits (17) in block body exceeds allowed threshold of 16" wanted := "number of voluntary exits (17) in block body exceeds allowed threshold of 16"
assert.ErrorContains(t, wanted, err) assert.ErrorContains(t, wanted, err)
} }
@@ -213,7 +213,7 @@ func createFullBlockWithOperations(t *testing.T) (state.BeaconState,
err = beaconState.SetSlot(slotsPerEpoch.Mul(uint64(params.BeaconConfig().ShardCommitteePeriod)) + params.BeaconConfig().MinAttestationInclusionDelay) err = beaconState.SetSlot(slotsPerEpoch.Mul(uint64(params.BeaconConfig().ShardCommitteePeriod)) + params.BeaconConfig().MinAttestationInclusionDelay)
require.NoError(t, err) require.NoError(t, err)
currentEpoch := core2.CurrentEpoch(beaconState) currentEpoch := core.CurrentEpoch(beaconState)
header1 := testutil.HydrateSignedBeaconHeader(&ethpb.SignedBeaconBlockHeader{ header1 := testutil.HydrateSignedBeaconHeader(&ethpb.SignedBeaconBlockHeader{
Header: &ethpb.BeaconBlockHeader{ Header: &ethpb.BeaconBlockHeader{
ProposerIndex: proposerSlashIdx, ProposerIndex: proposerSlashIdx,
@@ -231,7 +231,7 @@ func createFullBlockWithOperations(t *testing.T) (state.BeaconState,
StateRoot: bytesutil.PadTo([]byte("B"), 32), StateRoot: bytesutil.PadTo([]byte("B"), 32),
}, },
}) })
header2.Signature, err = helpers.ComputeDomainAndSign(beaconState, core2.CurrentEpoch(beaconState), header2.Header, params.BeaconConfig().DomainBeaconProposer, privKeys[proposerSlashIdx]) header2.Signature, err = helpers.ComputeDomainAndSign(beaconState, core.CurrentEpoch(beaconState), header2.Header, params.BeaconConfig().DomainBeaconProposer, privKeys[proposerSlashIdx])
require.NoError(t, err) require.NoError(t, err)
proposerSlashings := []*ethpb.ProposerSlashing{ proposerSlashings := []*ethpb.ProposerSlashing{
@@ -294,7 +294,7 @@ func createFullBlockWithOperations(t *testing.T) (state.BeaconState,
blockAtt := testutil.HydrateAttestation(&ethpb.Attestation{ blockAtt := testutil.HydrateAttestation(&ethpb.Attestation{
Data: &ethpb.AttestationData{ Data: &ethpb.AttestationData{
Slot: beaconState.Slot(), Slot: beaconState.Slot(),
Target: &ethpb.Checkpoint{Epoch: core2.CurrentEpoch(beaconState)}, Target: &ethpb.Checkpoint{Epoch: core.CurrentEpoch(beaconState)},
Source: &ethpb.Checkpoint{Root: mockRoot[:]}}, Source: &ethpb.Checkpoint{Root: mockRoot[:]}},
AggregationBits: aggBits, AggregationBits: aggBits,
}) })
@@ -376,7 +376,7 @@ func TestProcessEpochPrecompute_CanProcess(t *testing.T) {
s, err := v1.InitializeFromProto(base) s, err := v1.InitializeFromProto(base)
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, s.SetValidators([]*ethpb.Validator{})) require.NoError(t, s.SetValidators([]*ethpb.Validator{}))
newState, err := core.ProcessEpochPrecompute(context.Background(), s) newState, err := transition.ProcessEpochPrecompute(context.Background(), s)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, uint64(0), newState.Slashings()[2], "Unexpected slashed balance") assert.Equal(t, uint64(0), newState.Slashings()[2], "Unexpected slashed balance")
} }
@@ -409,7 +409,7 @@ func TestCanProcessEpoch_TrueOnEpochs(t *testing.T) {
b := &ethpb.BeaconState{Slot: tt.slot} b := &ethpb.BeaconState{Slot: tt.slot}
s, err := v1.InitializeFromProto(b) s, err := v1.InitializeFromProto(b)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tt.canProcessEpoch, core.CanProcessEpoch(s), "CanProcessEpoch(%d)", tt.slot) assert.Equal(t, tt.canProcessEpoch, transition.CanProcessEpoch(s), "CanProcessEpoch(%d)", tt.slot)
} }
} }
@@ -424,7 +424,7 @@ func TestProcessBlock_OverMaxProposerSlashings(t *testing.T) {
} }
want := fmt.Sprintf("number of proposer slashings (%d) in block body exceeds allowed threshold of %d", want := fmt.Sprintf("number of proposer slashings (%d) in block body exceeds allowed threshold of %d",
len(b.Block.Body.ProposerSlashings), params.BeaconConfig().MaxProposerSlashings) len(b.Block.Body.ProposerSlashings), params.BeaconConfig().MaxProposerSlashings)
_, err := core.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b)) _, err := transition.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b))
assert.ErrorContains(t, want, err) assert.ErrorContains(t, want, err)
} }
@@ -439,7 +439,7 @@ func TestProcessBlock_OverMaxAttesterSlashings(t *testing.T) {
} }
want := fmt.Sprintf("number of attester slashings (%d) in block body exceeds allowed threshold of %d", want := fmt.Sprintf("number of attester slashings (%d) in block body exceeds allowed threshold of %d",
len(b.Block.Body.AttesterSlashings), params.BeaconConfig().MaxAttesterSlashings) len(b.Block.Body.AttesterSlashings), params.BeaconConfig().MaxAttesterSlashings)
_, err := core.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b)) _, err := transition.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b))
assert.ErrorContains(t, want, err) assert.ErrorContains(t, want, err)
} }
@@ -453,7 +453,7 @@ func TestProcessBlock_OverMaxAttestations(t *testing.T) {
} }
want := fmt.Sprintf("number of attestations (%d) in block body exceeds allowed threshold of %d", want := fmt.Sprintf("number of attestations (%d) in block body exceeds allowed threshold of %d",
len(b.Block.Body.Attestations), params.BeaconConfig().MaxAttestations) len(b.Block.Body.Attestations), params.BeaconConfig().MaxAttestations)
_, err := core.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b)) _, err := transition.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b))
assert.ErrorContains(t, want, err) assert.ErrorContains(t, want, err)
} }
@@ -468,7 +468,7 @@ func TestProcessBlock_OverMaxVoluntaryExits(t *testing.T) {
} }
want := fmt.Sprintf("number of voluntary exits (%d) in block body exceeds allowed threshold of %d", want := fmt.Sprintf("number of voluntary exits (%d) in block body exceeds allowed threshold of %d",
len(b.Block.Body.VoluntaryExits), maxExits) len(b.Block.Body.VoluntaryExits), maxExits)
_, err := core.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b)) _, err := transition.VerifyOperationLengths(context.Background(), &v1.BeaconState{}, wrapper.WrappedPhase0SignedBeaconBlock(b))
assert.ErrorContains(t, want, err) assert.ErrorContains(t, want, err)
} }
@@ -488,7 +488,7 @@ func TestProcessBlock_IncorrectDeposits(t *testing.T) {
} }
want := fmt.Sprintf("incorrect outstanding deposits in block body, wanted: %d, got: %d", want := fmt.Sprintf("incorrect outstanding deposits in block body, wanted: %d, got: %d",
s.Eth1Data().DepositCount-s.Eth1DepositIndex(), len(b.Block.Body.Deposits)) s.Eth1Data().DepositCount-s.Eth1DepositIndex(), len(b.Block.Body.Deposits))
_, err = core.VerifyOperationLengths(context.Background(), s, wrapper.WrappedPhase0SignedBeaconBlock(b)) _, err = transition.VerifyOperationLengths(context.Background(), s, wrapper.WrappedPhase0SignedBeaconBlock(b))
assert.ErrorContains(t, want, err) assert.ErrorContains(t, want, err)
} }
@@ -497,7 +497,7 @@ func TestProcessSlots_SameSlotAsParentState(t *testing.T) {
parentState, err := v1.InitializeFromProto(&ethpb.BeaconState{Slot: slot}) parentState, err := v1.InitializeFromProto(&ethpb.BeaconState{Slot: slot})
require.NoError(t, err) require.NoError(t, err)
_, err = core.ProcessSlots(context.Background(), parentState, slot) _, err = transition.ProcessSlots(context.Background(), parentState, slot)
assert.ErrorContains(t, "expected state.slot 2 < slot 2", err) assert.ErrorContains(t, "expected state.slot 2 < slot 2", err)
} }
@@ -506,19 +506,19 @@ func TestProcessSlots_LowerSlotAsParentState(t *testing.T) {
parentState, err := v1.InitializeFromProto(&ethpb.BeaconState{Slot: slot}) parentState, err := v1.InitializeFromProto(&ethpb.BeaconState{Slot: slot})
require.NoError(t, err) require.NoError(t, err)
_, err = core.ProcessSlots(context.Background(), parentState, slot-1) _, err = transition.ProcessSlots(context.Background(), parentState, slot-1)
assert.ErrorContains(t, "expected state.slot 2 < slot 1", err) assert.ErrorContains(t, "expected state.slot 2 < slot 1", err)
} }
func TestProcessSlots_ThroughAltairEpoch(t *testing.T) { func TestProcessSlots_ThroughAltairEpoch(t *testing.T) {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
conf := params.BeaconConfig() conf := params.BeaconConfig()
conf.AltairForkEpoch = 5 conf.AltairForkEpoch = 5
params.OverrideBeaconConfig(conf) params.OverrideBeaconConfig(conf)
defer params.UseMainnetConfig() defer params.UseMainnetConfig()
st, _ := testutil.DeterministicGenesisState(t, params.BeaconConfig().MaxValidatorsPerCommittee) st, _ := testutil.DeterministicGenesisState(t, params.BeaconConfig().MaxValidatorsPerCommittee)
st, err := core.ProcessSlots(context.Background(), st, params.BeaconConfig().SlotsPerEpoch*10) st, err := transition.ProcessSlots(context.Background(), st, params.BeaconConfig().SlotsPerEpoch*10)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, version.Altair, st.Version()) require.Equal(t, version.Altair, st.Version())
@@ -546,7 +546,7 @@ func TestProcessSlots_ThroughAltairEpoch(t *testing.T) {
} }
func TestProcessSlots_OnlyAltairEpoch(t *testing.T) { func TestProcessSlots_OnlyAltairEpoch(t *testing.T) {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
conf := params.BeaconConfig() conf := params.BeaconConfig()
conf.AltairForkEpoch = 5 conf.AltairForkEpoch = 5
params.OverrideBeaconConfig(conf) params.OverrideBeaconConfig(conf)
@@ -554,7 +554,7 @@ func TestProcessSlots_OnlyAltairEpoch(t *testing.T) {
st, _ := testutil.DeterministicGenesisStateAltair(t, params.BeaconConfig().MaxValidatorsPerCommittee) st, _ := testutil.DeterministicGenesisStateAltair(t, params.BeaconConfig().MaxValidatorsPerCommittee)
require.NoError(t, st.SetSlot(params.BeaconConfig().SlotsPerEpoch*6)) require.NoError(t, st.SetSlot(params.BeaconConfig().SlotsPerEpoch*6))
st, err := core.ProcessSlots(context.Background(), st, params.BeaconConfig().SlotsPerEpoch*10) st, err := transition.ProcessSlots(context.Background(), st, params.BeaconConfig().SlotsPerEpoch*10)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, version.Altair, st.Version()) require.Equal(t, version.Altair, st.Version())
@@ -585,7 +585,7 @@ func TestProcessSlotsUsingNextSlotCache(t *testing.T) {
ctx := context.Background() ctx := context.Background()
s, _ := testutil.DeterministicGenesisState(t, 1) s, _ := testutil.DeterministicGenesisState(t, 1)
r := []byte{'a'} r := []byte{'a'}
s, err := core.ProcessSlotsUsingNextSlotCache(ctx, s, r, 5) s, err := transition.ProcessSlotsUsingNextSlotCache(ctx, s, r, 5)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, types.Slot(5), s.Slot()) require.Equal(t, types.Slot(5), s.Slot())
} }
@@ -617,7 +617,7 @@ func TestCanUpgradeToAltair(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
if got := core.CanUpgradeToAltair(tt.slot); got != tt.want { if got := transition.CanUpgradeToAltair(tt.slot); got != tt.want {
t.Errorf("canUpgradeToAltair() = %v, want %v", got, tt.want) t.Errorf("canUpgradeToAltair() = %v, want %v", got, tt.want)
} }
}) })

View File

@@ -24,7 +24,7 @@ go_library(
"//beacon-chain/core/feed:go_default_library", "//beacon-chain/core/feed:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/powchain/types:go_default_library", "//beacon-chain/powchain/types:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",

View File

@@ -15,7 +15,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
coreState "github.com/prysmaticlabs/prysm/beacon-chain/core/state" coreState "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
contracts "github.com/prysmaticlabs/prysm/contracts/deposit-contract" contracts "github.com/prysmaticlabs/prysm/contracts/deposit-contract"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"

View File

@@ -24,9 +24,9 @@ import (
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto" "github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache" "github.com/prysmaticlabs/prysm/beacon-chain/cache/depositcache"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
"github.com/prysmaticlabs/prysm/beacon-chain/powchain/types" "github.com/prysmaticlabs/prysm/beacon-chain/powchain/types"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
@@ -172,7 +172,7 @@ func NewService(ctx context.Context, config *Web3ServiceConfig) (*Service, error
cancel() cancel()
return nil, errors.Wrap(err, "could not setup deposit trie") return nil, errors.Wrap(err, "could not setup deposit trie")
} }
genState, err := core.EmptyGenesisState() genState, err := transition.EmptyGenesisState()
if err != nil { if err != nil {
return nil, errors.Wrap(err, "could not setup genesis state") return nil, errors.Wrap(err, "could not setup genesis state")
} }
@@ -881,7 +881,7 @@ func (s *Service) cacheHeadersForEth1DataVote(ctx context.Context) error {
// determines the earliest voting block from which to start caching all our previous headers from. // determines the earliest voting block from which to start caching all our previous headers from.
func (s *Service) determineEarliestVotingBlock(ctx context.Context, followBlock uint64) (uint64, error) { func (s *Service) determineEarliestVotingBlock(ctx context.Context, followBlock uint64) (uint64, error) {
genesisTime := s.chainStartData.GenesisTime genesisTime := s.chainStartData.GenesisTime
currSlot := core2.CurrentSlot(genesisTime) currSlot := core.CurrentSlot(genesisTime)
// In the event genesis has not occurred yet, we just request go back follow_distance blocks. // In the event genesis has not occurred yet, we just request go back follow_distance blocks.
if genesisTime == 0 || currSlot == 0 { if genesisTime == 0 || currSlot == 0 {
@@ -891,7 +891,7 @@ func (s *Service) determineEarliestVotingBlock(ctx context.Context, followBlock
} }
return earliestBlk, nil return earliestBlk, nil
} }
votingTime := core2.VotingPeriodStartTime(genesisTime, currSlot) votingTime := core.VotingPeriodStartTime(genesisTime, currSlot)
followBackDist := 2 * params.BeaconConfig().SecondsPerETH1Block * params.BeaconConfig().Eth1FollowDistance followBackDist := 2 * params.BeaconConfig().SecondsPerETH1Block * params.BeaconConfig().Eth1FollowDistance
if followBackDist > votingTime { if followBackDist > votingTime {
return 0, errors.Errorf("invalid genesis time provided. %d > %d", followBackDist, votingTime) return 0, errors.Errorf("invalid genesis time provided. %d > %d", followBackDist, votingTime)

View File

@@ -13,7 +13,7 @@ go_library(
"//beacon-chain/cache:go_default_library", "//beacon-chain/cache:go_default_library",
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/operations/attestations:go_default_library", "//beacon-chain/operations/attestations:go_default_library",
"//beacon-chain/operations/synccommittee:go_default_library", "//beacon-chain/operations/synccommittee:go_default_library",
"//beacon-chain/p2p:go_default_library", "//beacon-chain/p2p:go_default_library",
@@ -49,7 +49,7 @@ go_test(
"//beacon-chain/cache:go_default_library", "//beacon-chain/cache:go_default_library",
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db/testing:go_default_library", "//beacon-chain/db/testing:go_default_library",
"//beacon-chain/operations/attestations:go_default_library", "//beacon-chain/operations/attestations:go_default_library",
"//beacon-chain/operations/slashings:go_default_library", "//beacon-chain/operations/slashings:go_default_library",

View File

@@ -11,9 +11,9 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/cache"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
rpchelpers "github.com/prysmaticlabs/prysm/beacon-chain/rpc/eth/helpers" rpchelpers "github.com/prysmaticlabs/prysm/beacon-chain/rpc/eth/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
statev1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" statev1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
@@ -41,7 +41,7 @@ func (vs *Server) GetAttesterDuties(ctx context.Context, req *ethpbv1.AttesterDu
} }
cs := vs.TimeFetcher.CurrentSlot() cs := vs.TimeFetcher.CurrentSlot()
currentEpoch := core2.SlotToEpoch(cs) currentEpoch := core.SlotToEpoch(cs)
if req.Epoch > currentEpoch+1 { if req.Epoch > currentEpoch+1 {
return nil, status.Errorf(codes.InvalidArgument, "Request epoch %d can not be greater than next epoch %d", req.Epoch, currentEpoch+1) return nil, status.Errorf(codes.InvalidArgument, "Request epoch %d can not be greater than next epoch %d", req.Epoch, currentEpoch+1)
} }
@@ -115,7 +115,7 @@ func (vs *Server) GetProposerDuties(ctx context.Context, req *ethpbv1.ProposerDu
} }
cs := vs.TimeFetcher.CurrentSlot() cs := vs.TimeFetcher.CurrentSlot()
currentEpoch := core2.SlotToEpoch(cs) currentEpoch := core.SlotToEpoch(cs)
if req.Epoch > currentEpoch { if req.Epoch > currentEpoch {
return nil, status.Errorf(codes.InvalidArgument, "Request epoch %d can not be greater than current epoch %d", req.Epoch, currentEpoch) return nil, status.Errorf(codes.InvalidArgument, "Request epoch %d can not be greater than current epoch %d", req.Epoch, currentEpoch)
} }
@@ -175,7 +175,7 @@ func (vs *Server) GetSyncCommitteeDuties(ctx context.Context, req *ethpbv2.SyncC
return nil, status.Error(codes.Unavailable, "Syncing to latest head, not ready to respond") return nil, status.Error(codes.Unavailable, "Syncing to latest head, not ready to respond")
} }
slot, err := core2.StartSlot(req.Epoch) slot, err := core.StartSlot(req.Epoch)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not get sync committee slot: %v", err) return nil, status.Errorf(codes.Internal, "Could not get sync committee slot: %v", err)
} }
@@ -374,7 +374,7 @@ func (vs *Server) SubmitBeaconCommitteeSubscription(ctx context.Context, req *et
} }
fetchValsLen := func(slot types.Slot) (uint64, error) { fetchValsLen := func(slot types.Slot) (uint64, error) {
wantedEpoch := core2.SlotToEpoch(slot) wantedEpoch := core.SlotToEpoch(slot)
vals, err := vs.HeadFetcher.HeadValidatorsIndices(ctx, wantedEpoch) vals, err := vs.HeadFetcher.HeadValidatorsIndices(ctx, wantedEpoch)
if err != nil { if err != nil {
return 0, err return 0, err
@@ -387,16 +387,16 @@ func (vs *Server) SubmitBeaconCommitteeSubscription(ctx context.Context, req *et
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not retrieve head validator length: %v", err) return nil, status.Errorf(codes.Internal, "Could not retrieve head validator length: %v", err)
} }
currEpoch := core2.SlotToEpoch(req.Data[0].Slot) currEpoch := core.SlotToEpoch(req.Data[0].Slot)
for _, sub := range req.Data { for _, sub := range req.Data {
// If epoch has changed, re-request active validators length // If epoch has changed, re-request active validators length
if currEpoch != core2.SlotToEpoch(sub.Slot) { if currEpoch != core.SlotToEpoch(sub.Slot) {
currValsLen, err = fetchValsLen(sub.Slot) currValsLen, err = fetchValsLen(sub.Slot)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not retrieve head validator length: %v", err) return nil, status.Errorf(codes.Internal, "Could not retrieve head validator length: %v", err)
} }
currEpoch = core2.SlotToEpoch(sub.Slot) currEpoch = core.SlotToEpoch(sub.Slot)
} }
subnet := helpers.ComputeSubnetFromCommitteeAndSlot(currValsLen, sub.CommitteeIndex, sub.Slot) subnet := helpers.ComputeSubnetFromCommitteeAndSlot(currValsLen, sub.CommitteeIndex, sub.Slot)
cache.SubnetIDs.AddAttesterSubnetID(sub.Slot, subnet) cache.SubnetIDs.AddAttesterSubnetID(sub.Slot, subnet)
@@ -436,7 +436,7 @@ func (vs *Server) SubmitSyncCommitteeSubscription(ctx context.Context, req *ethp
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not get head state: %v", err) return nil, status.Errorf(codes.Internal, "Could not get head state: %v", err)
} }
currEpoch := core2.SlotToEpoch(s.Slot()) currEpoch := core.SlotToEpoch(s.Slot())
validators := make([]state.ReadOnlyValidator, len(req.Data)) validators := make([]state.ReadOnlyValidator, len(req.Data))
for i, sub := range req.Data { for i, sub := range req.Data {
val, err := s.ValidatorAtIndexReadOnly(sub.ValidatorIndex) val, err := s.ValidatorAtIndexReadOnly(sub.ValidatorIndex)
@@ -453,7 +453,7 @@ func (vs *Server) SubmitSyncCommitteeSubscription(ctx context.Context, req *ethp
validators[i] = val validators[i] = val
} }
currPeriod := core2.SyncCommitteePeriod(currEpoch) currPeriod := core.SyncCommitteePeriod(currEpoch)
startEpoch := types.Epoch(currPeriod * uint64(params.BeaconConfig().EpochsPerSyncCommitteePeriod)) startEpoch := types.Epoch(currPeriod * uint64(params.BeaconConfig().EpochsPerSyncCommitteePeriod))
for i, sub := range req.Data { for i, sub := range req.Data {
@@ -528,7 +528,7 @@ func attestationDependentRoot(s state.BeaconState, epoch types.Epoch) ([]byte, e
if epoch <= 1 { if epoch <= 1 {
dependentRootSlot = 0 dependentRootSlot = 0
} else { } else {
prevEpochStartSlot, err := core2.StartSlot(epoch.Sub(1)) prevEpochStartSlot, err := core.StartSlot(epoch.Sub(1))
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not obtain epoch's start slot: %v", err) return nil, status.Errorf(codes.Internal, "Could not obtain epoch's start slot: %v", err)
} }
@@ -548,7 +548,7 @@ func proposalDependentRoot(s state.BeaconState, epoch types.Epoch) ([]byte, erro
if epoch == 0 { if epoch == 0 {
dependentRootSlot = 0 dependentRootSlot = 0
} else { } else {
epochStartSlot, err := core2.StartSlot(epoch) epochStartSlot, err := core.StartSlot(epoch)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not obtain epoch's start slot: %v", err) return nil, status.Errorf(codes.Internal, "Could not obtain epoch's start slot: %v", err)
} }
@@ -563,23 +563,23 @@ func proposalDependentRoot(s state.BeaconState, epoch types.Epoch) ([]byte, erro
// advanceState advances state with empty transitions up to the requested epoch start slot. // advanceState advances state with empty transitions up to the requested epoch start slot.
// In case 1 epoch ahead was requested, we take the start slot of the current epoch. // In case 1 epoch ahead was requested, we take the start slot of the current epoch.
// Taking the start slot of the next epoch would result in an error inside state.ProcessSlots. // Taking the start slot of the next epoch would result in an error inside transition.ProcessSlots.
func advanceState(ctx context.Context, s state.BeaconState, requestedEpoch, currentEpoch types.Epoch) (state.BeaconState, error) { func advanceState(ctx context.Context, s state.BeaconState, requestedEpoch, currentEpoch types.Epoch) (state.BeaconState, error) {
var epochStartSlot types.Slot var epochStartSlot types.Slot
var err error var err error
if requestedEpoch == currentEpoch+1 { if requestedEpoch == currentEpoch+1 {
epochStartSlot, err = core2.StartSlot(requestedEpoch.Sub(1)) epochStartSlot, err = core.StartSlot(requestedEpoch.Sub(1))
if err != nil { if err != nil {
return nil, errors.Wrap(err, "Could not obtain epoch's start slot") return nil, errors.Wrap(err, "Could not obtain epoch's start slot")
} }
} else { } else {
epochStartSlot, err = core2.StartSlot(requestedEpoch) epochStartSlot, err = core.StartSlot(requestedEpoch)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "Could not obtain epoch's start slot") return nil, errors.Wrap(err, "Could not obtain epoch's start slot")
} }
} }
if s.Slot() < epochStartSlot { if s.Slot() < epochStartSlot {
s, err = core.ProcessSlots(ctx, s, epochStartSlot) s, err = transition.ProcessSlots(ctx, s, epochStartSlot)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "Could not process slots up to %d", epochStartSlot) return nil, errors.Wrapf(err, "Could not process slots up to %d", epochStartSlot)
} }

View File

@@ -13,7 +13,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/cache" "github.com/prysmaticlabs/prysm/beacon-chain/cache"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
b "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" b "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
dbutil "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" dbutil "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/slashings" "github.com/prysmaticlabs/prysm/beacon-chain/operations/slashings"
@@ -47,7 +47,7 @@ func TestGetAttesterDuties(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := sharedtestutil.DeterministicEth1Data(len(deposits)) eth1Data, err := sharedtestutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not set up genesis state") require.NoError(t, err, "Could not set up genesis state")
// Set state to non-epoch start slot. // Set state to non-epoch start slot.
require.NoError(t, bs.SetSlot(5)) require.NoError(t, bs.SetSlot(5))
@@ -124,7 +124,7 @@ func TestGetAttesterDuties(t *testing.T) {
// We create local variables to not interfere with other tests. // We create local variables to not interfere with other tests.
// Slot processing might have unexpected side-effects. // Slot processing might have unexpected side-effects.
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not set up genesis state") require.NoError(t, err, "Could not set up genesis state")
// Set state to non-epoch start slot. // Set state to non-epoch start slot.
require.NoError(t, bs.SetSlot(5)) require.NoError(t, bs.SetSlot(5))
@@ -206,7 +206,7 @@ func TestGetProposerDuties(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := sharedtestutil.DeterministicEth1Data(len(deposits)) eth1Data, err := sharedtestutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not set up genesis state") require.NoError(t, err, "Could not set up genesis state")
// Set state to non-epoch start slot. // Set state to non-epoch start slot.
require.NoError(t, bs.SetSlot(5)) require.NoError(t, bs.SetSlot(5))
@@ -255,7 +255,7 @@ func TestGetProposerDuties(t *testing.T) {
// We create local variables to not interfere with other tests. // We create local variables to not interfere with other tests.
// Slot processing might have unexpected side-effects. // Slot processing might have unexpected side-effects.
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not set up genesis state") require.NoError(t, err, "Could not set up genesis state")
// Set state to non-epoch start slot. // Set state to non-epoch start slot.
require.NoError(t, bs.SetSlot(5)) require.NoError(t, bs.SetSlot(5))
@@ -721,7 +721,7 @@ func TestSubmitBeaconCommitteeSubscription(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := sharedtestutil.DeterministicEth1Data(len(deposits)) eth1Data, err := sharedtestutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not set up genesis state") require.NoError(t, err, "Could not set up genesis state")
// Set state to non-epoch start slot. // Set state to non-epoch start slot.
require.NoError(t, bs.SetSlot(5)) require.NoError(t, bs.SetSlot(5))

View File

@@ -28,7 +28,7 @@ go_library(
"//beacon-chain/core/feed/operation:go_default_library", "//beacon-chain/core/feed/operation:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/core/validators:go_default_library", "//beacon-chain/core/validators:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/filters:go_default_library", "//beacon-chain/db/filters:go_default_library",

View File

@@ -7,11 +7,11 @@ import (
"time" "time"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
"github.com/prysmaticlabs/prysm/beacon-chain/core/epoch/precompute" "github.com/prysmaticlabs/prysm/beacon-chain/core/epoch/precompute"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/core/validators" "github.com/prysmaticlabs/prysm/beacon-chain/core/validators"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -45,7 +45,7 @@ func (bs *Server) ListValidatorBalances(
if bs.GenesisTimeFetcher == nil { if bs.GenesisTimeFetcher == nil {
return nil, status.Errorf(codes.Internal, "Nil genesis time fetcher") return nil, status.Errorf(codes.Internal, "Nil genesis time fetcher")
} }
currentEpoch := core2.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot()) currentEpoch := core.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())
requestedEpoch := currentEpoch requestedEpoch := currentEpoch
switch q := req.QueryFilter.(type) { switch q := req.QueryFilter.(type) {
case *ethpb.ListValidatorBalancesRequest_Epoch: case *ethpb.ListValidatorBalancesRequest_Epoch:
@@ -65,7 +65,7 @@ func (bs *Server) ListValidatorBalances(
res := make([]*ethpb.ValidatorBalances_Balance, 0) res := make([]*ethpb.ValidatorBalances_Balance, 0)
filtered := map[types.ValidatorIndex]bool{} // Track filtered validators to prevent duplication in the response. filtered := map[types.ValidatorIndex]bool{} // Track filtered validators to prevent duplication in the response.
startSlot, err := core2.StartSlot(requestedEpoch) startSlot, err := core.StartSlot(requestedEpoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -197,7 +197,7 @@ func (bs *Server) ListValidators(
req.PageSize, cmd.Get().MaxRPCPageSize) req.PageSize, cmd.Get().MaxRPCPageSize)
} }
currentEpoch := core2.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot()) currentEpoch := core.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())
requestedEpoch := currentEpoch requestedEpoch := currentEpoch
switch q := req.QueryFilter.(type) { switch q := req.QueryFilter.(type) {
@@ -220,7 +220,7 @@ func (bs *Server) ListValidators(
var err error var err error
if requestedEpoch != currentEpoch { if requestedEpoch != currentEpoch {
var s types.Slot var s types.Slot
s, err = core2.StartSlot(requestedEpoch) s, err = core.StartSlot(requestedEpoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -235,13 +235,13 @@ func (bs *Server) ListValidators(
return nil, status.Error(codes.Internal, "Requested state is nil") return nil, status.Error(codes.Internal, "Requested state is nil")
} }
s, err := core2.StartSlot(requestedEpoch) s, err := core.StartSlot(requestedEpoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if s > reqState.Slot() { if s > reqState.Slot() {
reqState = reqState.Copy() reqState = reqState.Copy()
reqState, err = core.ProcessSlots(ctx, reqState, s) reqState, err = transition.ProcessSlots(ctx, reqState, s)
if err != nil { if err != nil {
return nil, status.Errorf( return nil, status.Errorf(
codes.Internal, codes.Internal,
@@ -392,7 +392,7 @@ func (bs *Server) GetValidator(
func (bs *Server) GetValidatorActiveSetChanges( func (bs *Server) GetValidatorActiveSetChanges(
ctx context.Context, req *ethpb.GetValidatorActiveSetChangesRequest, ctx context.Context, req *ethpb.GetValidatorActiveSetChangesRequest,
) (*ethpb.ActiveSetChanges, error) { ) (*ethpb.ActiveSetChanges, error) {
currentEpoch := core2.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot()) currentEpoch := core.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())
var requestedEpoch types.Epoch var requestedEpoch types.Epoch
switch q := req.QueryFilter.(type) { switch q := req.QueryFilter.(type) {
@@ -412,7 +412,7 @@ func (bs *Server) GetValidatorActiveSetChanges(
) )
} }
s, err := core2.StartSlot(requestedEpoch) s, err := core.StartSlot(requestedEpoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -421,18 +421,18 @@ func (bs *Server) GetValidatorActiveSetChanges(
return nil, status.Errorf(codes.Internal, "Could not get state: %v", err) return nil, status.Errorf(codes.Internal, "Could not get state: %v", err)
} }
activeValidatorCount, err := helpers.ActiveValidatorCount(requestedState, core2.CurrentEpoch(requestedState)) activeValidatorCount, err := helpers.ActiveValidatorCount(requestedState, core.CurrentEpoch(requestedState))
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not get active validator count: %v", err) return nil, status.Errorf(codes.Internal, "Could not get active validator count: %v", err)
} }
vs := requestedState.Validators() vs := requestedState.Validators()
activatedIndices := validators.ActivatedValidatorIndices(core2.CurrentEpoch(requestedState), vs) activatedIndices := validators.ActivatedValidatorIndices(core.CurrentEpoch(requestedState), vs)
exitedIndices, err := validators.ExitedValidatorIndices(core2.CurrentEpoch(requestedState), vs, activeValidatorCount) exitedIndices, err := validators.ExitedValidatorIndices(core.CurrentEpoch(requestedState), vs, activeValidatorCount)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not determine exited validator indices: %v", err) return nil, status.Errorf(codes.Internal, "Could not determine exited validator indices: %v", err)
} }
slashedIndices := validators.SlashedValidatorIndices(core2.CurrentEpoch(requestedState), vs) slashedIndices := validators.SlashedValidatorIndices(core.CurrentEpoch(requestedState), vs)
ejectedIndices, err := validators.EjectedValidatorIndices(core2.CurrentEpoch(requestedState), vs, activeValidatorCount) ejectedIndices, err := validators.EjectedValidatorIndices(core.CurrentEpoch(requestedState), vs, activeValidatorCount)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not determine ejected validator indices: %v", err) return nil, status.Errorf(codes.Internal, "Could not determine ejected validator indices: %v", err)
} }
@@ -478,7 +478,7 @@ func (bs *Server) GetValidatorParticipation(
ctx context.Context, req *ethpb.GetValidatorParticipationRequest, ctx context.Context, req *ethpb.GetValidatorParticipationRequest,
) (*ethpb.ValidatorParticipationResponse, error) { ) (*ethpb.ValidatorParticipationResponse, error) {
currentSlot := bs.GenesisTimeFetcher.CurrentSlot() currentSlot := bs.GenesisTimeFetcher.CurrentSlot()
currentEpoch := core2.SlotToEpoch(currentSlot) currentEpoch := core.SlotToEpoch(currentSlot)
var requestedEpoch types.Epoch var requestedEpoch types.Epoch
switch q := req.QueryFilter.(type) { switch q := req.QueryFilter.(type) {
@@ -500,7 +500,7 @@ func (bs *Server) GetValidatorParticipation(
} }
// Get current slot state for current epoch attestations. // Get current slot state for current epoch attestations.
startSlot, err := core2.StartSlot(requestedEpoch) startSlot, err := core.StartSlot(requestedEpoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -603,7 +603,7 @@ func (bs *Server) GetValidatorQueue(
}) })
// Only activate just enough validators according to the activation churn limit. // Only activate just enough validators according to the activation churn limit.
activeValidatorCount, err := helpers.ActiveValidatorCount(headState, core2.CurrentEpoch(headState)) activeValidatorCount, err := helpers.ActiveValidatorCount(headState, core.CurrentEpoch(headState))
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not get active validator count: %v", err) return nil, status.Errorf(codes.Internal, "Could not get active validator count: %v", err)
} }
@@ -636,7 +636,7 @@ func (bs *Server) GetValidatorQueue(
for _, valIdx := range awaitingExit { for _, valIdx := range awaitingExit {
val := vals[valIdx] val := vals[valIdx]
// Ensure the validator has not yet exited before adding its index to the exit queue. // Ensure the validator has not yet exited before adding its index to the exit queue.
if val.WithdrawableEpoch < minEpoch && !validatorHasExited(val, core2.CurrentEpoch(headState)) { if val.WithdrawableEpoch < minEpoch && !validatorHasExited(val, core.CurrentEpoch(headState)) {
exitQueueIndices = append(exitQueueIndices, valIdx) exitQueueIndices = append(exitQueueIndices, valIdx)
} }
} }
@@ -675,7 +675,7 @@ func (bs *Server) GetValidatorPerformance(
} }
if bs.GenesisTimeFetcher.CurrentSlot() > headState.Slot() { if bs.GenesisTimeFetcher.CurrentSlot() > headState.Slot() {
headState, err = core.ProcessSlots(ctx, headState, bs.GenesisTimeFetcher.CurrentSlot()) headState, err = transition.ProcessSlots(ctx, headState, bs.GenesisTimeFetcher.CurrentSlot())
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not process slots: %v", err) return nil, status.Errorf(codes.Internal, "Could not process slots: %v", err)
} }
@@ -751,7 +751,7 @@ func (bs *Server) GetValidatorPerformance(
return validatorIndices[i] < validatorIndices[j] return validatorIndices[i] < validatorIndices[j]
}) })
currentEpoch := core2.CurrentEpoch(headState) currentEpoch := core.CurrentEpoch(headState)
responseCap = len(validatorIndices) responseCap = len(validatorIndices)
pubKeys := make([][]byte, 0, responseCap) pubKeys := make([][]byte, 0, responseCap)
beforeTransitionBalances := make([]uint64, 0, responseCap) beforeTransitionBalances := make([]uint64, 0, responseCap)
@@ -812,7 +812,7 @@ func (bs *Server) GetIndividualVotes(
ctx context.Context, ctx context.Context,
req *ethpb.IndividualVotesRequest, req *ethpb.IndividualVotesRequest,
) (*ethpb.IndividualVotesRespond, error) { ) (*ethpb.IndividualVotesRespond, error) {
currentEpoch := core2.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot()) currentEpoch := core.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())
if req.Epoch > currentEpoch { if req.Epoch > currentEpoch {
return nil, status.Errorf( return nil, status.Errorf(
codes.InvalidArgument, codes.InvalidArgument,
@@ -822,7 +822,7 @@ func (bs *Server) GetIndividualVotes(
) )
} }
s, err := core2.StartSlot(req.Epoch) s, err := core.StartSlot(req.Epoch)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -30,8 +30,8 @@ go_library(
"//beacon-chain/core/feed/operation:go_default_library", "//beacon-chain/core/feed/operation:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/core/state/interop:go_default_library", "//beacon-chain/core/transition/interop:go_default_library",
"//beacon-chain/operations/attestations:go_default_library", "//beacon-chain/operations/attestations:go_default_library",
"//beacon-chain/operations/slashings:go_default_library", "//beacon-chain/operations/slashings:go_default_library",
"//beacon-chain/operations/synccommittee:go_default_library", "//beacon-chain/operations/synccommittee:go_default_library",
@@ -104,7 +104,7 @@ go_test(
"//beacon-chain/core/feed/operation:go_default_library", "//beacon-chain/core/feed/operation:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db/testing:go_default_library", "//beacon-chain/db/testing:go_default_library",
"//beacon-chain/operations/attestations:go_default_library", "//beacon-chain/operations/attestations:go_default_library",
"//beacon-chain/operations/slashings:go_default_library", "//beacon-chain/operations/slashings:go_default_library",

View File

@@ -11,7 +11,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
beaconState "github.com/prysmaticlabs/prysm/beacon-chain/state" beaconState "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1" ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -124,7 +124,7 @@ func (vs *Server) duties(ctx context.Context, req *ethpb.DutiesRequest) (*ethpb.
return nil, err return nil, err
} }
if s.Slot() < epochStartSlot { if s.Slot() < epochStartSlot {
s, err = state.ProcessSlots(ctx, s, epochStartSlot) s, err = transition.ProcessSlots(ctx, s, epochStartSlot)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", epochStartSlot, err) return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", epochStartSlot, err)
} }

View File

@@ -14,7 +14,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
mockPOW "github.com/prysmaticlabs/prysm/beacon-chain/powchain/testing" mockPOW "github.com/prysmaticlabs/prysm/beacon-chain/powchain/testing"
mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing"
ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1" ethpbv1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
@@ -41,7 +41,7 @@ func TestGetDuties_OK(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not setup genesis bs") require.NoError(t, err, "Could not setup genesis bs")
genesisRoot, err := genesis.Block.HashTreeRoot() genesisRoot, err := genesis.Block.HashTreeRoot()
require.NoError(t, err, "Could not get signing root") require.NoError(t, err, "Could not get signing root")
@@ -221,7 +221,7 @@ func TestGetDuties_CurrentEpoch_ShouldNotFail(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bState, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bState, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not setup genesis state") require.NoError(t, err, "Could not setup genesis state")
// Set state to non-epoch start slot. // Set state to non-epoch start slot.
require.NoError(t, bState.SetSlot(5)) require.NoError(t, bState.SetSlot(5))
@@ -262,7 +262,7 @@ func TestGetDuties_MultipleKeys_OK(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not setup genesis bs") require.NoError(t, err, "Could not setup genesis bs")
genesisRoot, err := genesis.Block.HashTreeRoot() genesisRoot, err := genesis.Block.HashTreeRoot()
require.NoError(t, err, "Could not get signing root") require.NoError(t, err, "Could not get signing root")
@@ -322,7 +322,7 @@ func TestStreamDuties_OK(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not setup genesis bs") require.NoError(t, err, "Could not setup genesis bs")
genesisRoot, err := genesis.Block.HashTreeRoot() genesisRoot, err := genesis.Block.HashTreeRoot()
require.NoError(t, err, "Could not get signing root") require.NoError(t, err, "Could not get signing root")
@@ -379,7 +379,7 @@ func TestStreamDuties_OK_ChainReorg(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(t, err) require.NoError(t, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(t, err, "Could not setup genesis bs") require.NoError(t, err, "Could not setup genesis bs")
genesisRoot, err := genesis.Block.HashTreeRoot() genesisRoot, err := genesis.Block.HashTreeRoot()
require.NoError(t, err, "Could not get signing root") require.NoError(t, err, "Could not get signing root")
@@ -484,7 +484,7 @@ func BenchmarkCommitteeAssignment(b *testing.B) {
require.NoError(b, err) require.NoError(b, err)
eth1Data, err := testutil.DeterministicEth1Data(len(deposits)) eth1Data, err := testutil.DeterministicEth1Data(len(deposits))
require.NoError(b, err) require.NoError(b, err)
bs, err := state.GenesisBeaconState(context.Background(), deposits, 0, eth1Data) bs, err := transition.GenesisBeaconState(context.Background(), deposits, 0, eth1Data)
require.NoError(b, err, "Could not setup genesis bs") require.NoError(b, err, "Could not setup genesis bs")
genesisRoot, err := genesis.Block.HashTreeRoot() genesisRoot, err := genesis.Block.HashTreeRoot()
require.NoError(b, err, "Could not get signing root") require.NoError(b, err, "Could not get signing root")

View File

@@ -11,7 +11,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bls" "github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/bytesutil"
@@ -97,12 +97,12 @@ func (vs *Server) GetAttestationData(ctx context.Context, req *ethpb.Attestation
if core.CurrentEpoch(headState) < core.SlotToEpoch(req.Slot) { if core.CurrentEpoch(headState) < core.SlotToEpoch(req.Slot) {
if featureconfig.Get().EnableNextSlotStateCache { if featureconfig.Get().EnableNextSlotStateCache {
headState, err = state.ProcessSlotsUsingNextSlotCache(ctx, headState, headRoot, req.Slot) headState, err = transition.ProcessSlotsUsingNextSlotCache(ctx, headState, headRoot, req.Slot)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", req.Slot, err) return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", req.Slot, err)
} }
} else { } else {
headState, err = state.ProcessSlots(ctx, headState, req.Slot) headState, err = transition.ProcessSlots(ctx, headState, req.Slot)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", req.Slot, err) return nil, status.Errorf(codes.Internal, "Could not process slots up to %d: %v", req.Slot, err)
} }

View File

@@ -10,7 +10,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
opfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation" opfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/voluntaryexits" "github.com/prysmaticlabs/prysm/beacon-chain/operations/voluntaryexits"
mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing"
@@ -27,7 +27,7 @@ func TestProposeExit_Notification(t *testing.T) {
deposits, keys, err := testutil.DeterministicDepositsAndKeys(params.BeaconConfig().MinGenesisActiveValidatorCount) deposits, keys, err := testutil.DeterministicDepositsAndKeys(params.BeaconConfig().MinGenesisActiveValidatorCount)
require.NoError(t, err) require.NoError(t, err)
beaconState, err := state.GenesisBeaconState(ctx, deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)}) beaconState, err := transition.GenesisBeaconState(ctx, deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
require.NoError(t, err) require.NoError(t, err)
epoch := types.Epoch(2048) epoch := types.Epoch(2048)
require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch)))) require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch))))
@@ -95,7 +95,7 @@ func TestProposeExit_NoPanic(t *testing.T) {
deposits, keys, err := testutil.DeterministicDepositsAndKeys(params.BeaconConfig().MinGenesisActiveValidatorCount) deposits, keys, err := testutil.DeterministicDepositsAndKeys(params.BeaconConfig().MinGenesisActiveValidatorCount)
require.NoError(t, err) require.NoError(t, err)
beaconState, err := state.GenesisBeaconState(ctx, deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)}) beaconState, err := transition.GenesisBeaconState(ctx, deposits, 0, &ethpb.Eth1Data{BlockHash: make([]byte, 32)})
require.NoError(t, err) require.NoError(t, err)
epoch := types.Epoch(2048) epoch := types.Epoch(2048)
require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch)))) require.NoError(t, beaconState.SetSlot(params.BeaconConfig().SlotsPerEpoch.Mul(uint64(epoch))))

View File

@@ -12,13 +12,13 @@ import (
fastssz "github.com/ferranbt/fastssz" fastssz "github.com/ferranbt/fastssz"
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block" blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state/interop" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
dbpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" dbpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -82,12 +82,12 @@ func (vs *Server) GetBlock(ctx context.Context, req *ethpb.BlockRequest) (*ethpb
} }
if featureconfig.Get().EnableNextSlotStateCache { if featureconfig.Get().EnableNextSlotStateCache {
head, err = core.ProcessSlotsUsingNextSlotCache(ctx, head, parentRoot, req.Slot) head, err = transition.ProcessSlotsUsingNextSlotCache(ctx, head, parentRoot, req.Slot)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not advance slots to calculate proposer index: %v", err) return nil, status.Errorf(codes.Internal, "Could not advance slots to calculate proposer index: %v", err)
} }
} else { } else {
head, err = core.ProcessSlots(ctx, head, req.Slot) head, err = transition.ProcessSlots(ctx, head, req.Slot)
if err != nil { if err != nil {
return nil, status.Errorf(codes.Internal, "Could not advance slot to calculate proposer index: %v", err) return nil, status.Errorf(codes.Internal, "Could not advance slot to calculate proposer index: %v", err)
} }
@@ -265,7 +265,7 @@ func (vs *Server) eth1DataMajorityVote(ctx context.Context, beaconState state.Be
func (vs *Server) slotStartTime(slot types.Slot) uint64 { func (vs *Server) slotStartTime(slot types.Slot) uint64 {
startTime, _ := vs.Eth1InfoFetcher.Eth2GenesisPowchainInfo() startTime, _ := vs.Eth1InfoFetcher.Eth2GenesisPowchainInfo()
return core2.VotingPeriodStartTime(startTime, slot) return core.VotingPeriodStartTime(startTime, slot)
} }
func (vs *Server) inRangeVotes(ctx context.Context, func (vs *Server) inRangeVotes(ctx context.Context,
@@ -348,7 +348,7 @@ func (vs *Server) mockETH1DataVote(ctx context.Context, slot types.Slot) (*ethpb
return nil, err return nil, err
} }
var enc []byte var enc []byte
enc = fastssz.MarshalUint64(enc, uint64(core2.SlotToEpoch(slot))+uint64(slotInVotingPeriod)) enc = fastssz.MarshalUint64(enc, uint64(core.SlotToEpoch(slot))+uint64(slotInVotingPeriod))
depRoot := hashutil.Hash(enc) depRoot := hashutil.Hash(enc)
blockHash := hashutil.Hash(depRoot[:]) blockHash := hashutil.Hash(depRoot[:])
return &ethpb.Eth1Data{ return &ethpb.Eth1Data{
@@ -387,7 +387,7 @@ func (vs *Server) computeStateRoot(ctx context.Context, block block.SignedBeacon
if err != nil { if err != nil {
return nil, errors.Wrap(err, "could not retrieve beacon state") return nil, errors.Wrap(err, "could not retrieve beacon state")
} }
root, err := core.CalculateStateRoot( root, err := transition.CalculateStateRoot(
ctx, ctx,
beaconState, beaconState,
block, block,

View File

@@ -6,7 +6,7 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/synccommittee" "github.com/prysmaticlabs/prysm/beacon-chain/operations/synccommittee"
mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -49,8 +49,8 @@ func TestSubmitSyncMessage_OK(t *testing.T) {
func TestGetSyncSubcommitteeIndex_Ok(t *testing.T) { func TestGetSyncSubcommitteeIndex_Ok(t *testing.T) {
params.SetupTestConfigCleanup(t) params.SetupTestConfigCleanup(t)
params.OverrideBeaconConfig(params.MainnetConfig()) params.OverrideBeaconConfig(params.MainnetConfig())
state.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
defer state.SkipSlotCache.Enable() defer transition.SkipSlotCache.Enable()
server := &Server{ server := &Server{
HeadFetcher: &mock.ChainService{ HeadFetcher: &mock.ChainService{

View File

@@ -23,7 +23,7 @@ go_library(
deps = [ deps = [
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//beacon-chain/core/altair:go_default_library", "//beacon-chain/core/altair:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/filters:go_default_library", "//beacon-chain/db/filters:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",

View File

@@ -8,7 +8,7 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
transition "github.com/prysmaticlabs/prysm/beacon-chain/core/state" transition "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db/filters" "github.com/prysmaticlabs/prysm/beacon-chain/db/filters"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"

View File

@@ -26,7 +26,7 @@ go_library(
"//validator/client:__pkg__", "//validator/client:__pkg__",
], ],
deps = [ deps = [
"//beacon-chain/core/state/stateutils:go_default_library", "//beacon-chain/core/transition/stateutils:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//shared/bytesutil:go_default_library", "//shared/bytesutil:go_default_library",
"//shared/hashutil:go_default_library", "//shared/hashutil:go_default_library",

View File

@@ -4,7 +4,7 @@ import (
"sync" "sync"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
coreutils "github.com/prysmaticlabs/prysm/beacon-chain/core/state/stateutils" coreutils "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/stateutils"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
) )

View File

@@ -56,8 +56,8 @@ go_library(
"//beacon-chain/core/feed/operation:go_default_library", "//beacon-chain/core/feed/operation:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/core/state/interop:go_default_library", "//beacon-chain/core/transition/interop:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/filters:go_default_library", "//beacon-chain/db/filters:go_default_library",
"//beacon-chain/operations/attestations:go_default_library", "//beacon-chain/operations/attestations:go_default_library",
@@ -159,7 +159,7 @@ go_test(
"//beacon-chain/core/feed:go_default_library", "//beacon-chain/core/feed:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/kv:go_default_library", "//beacon-chain/db/kv:go_default_library",
"//beacon-chain/db/testing:go_default_library", "//beacon-chain/db/testing:go_default_library",

View File

@@ -21,7 +21,7 @@ go_library(
"//beacon-chain/core/feed:go_default_library", "//beacon-chain/core/feed:go_default_library",
"//beacon-chain/core/feed/block:go_default_library", "//beacon-chain/core/feed/block:go_default_library",
"//beacon-chain/core/feed/state:go_default_library", "//beacon-chain/core/feed/state:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/p2p:go_default_library", "//beacon-chain/p2p:go_default_library",
"//beacon-chain/p2p/peers/scorers:go_default_library", "//beacon-chain/p2p/peers/scorers:go_default_library",

View File

@@ -9,11 +9,11 @@ import (
"time" "time"
"github.com/kevinms/leakybucket-go" "github.com/kevinms/leakybucket-go"
core "github.com/libp2p/go-libp2p-core" libp2pcore "github.com/libp2p/go-libp2p-core"
"github.com/libp2p/go-libp2p-core/network" "github.com/libp2p/go-libp2p-core/network"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
p2pm "github.com/prysmaticlabs/prysm/beacon-chain/p2p" p2pm "github.com/prysmaticlabs/prysm/beacon-chain/p2p"
p2pt "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" p2pt "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
@@ -124,7 +124,7 @@ func TestBlocksFetcher_RoundRobin(t *testing.T) {
peers: []*peerData{ peers: []*peerData{
{ {
blocks: makeSequence(1, 3*slotsInBatch), blocks: makeSequence(1, 3*slotsInBatch),
finalizedEpoch: core2.SlotToEpoch(3 * slotsInBatch), finalizedEpoch: core.SlotToEpoch(3 * slotsInBatch),
headSlot: 3 * slotsInBatch, headSlot: 3 * slotsInBatch,
}, },
}, },
@@ -136,7 +136,7 @@ func TestBlocksFetcher_RoundRobin(t *testing.T) {
peers: []*peerData{ peers: []*peerData{
{ {
blocks: makeSequence(1, 3*slotsInBatch), blocks: makeSequence(1, 3*slotsInBatch),
finalizedEpoch: core2.SlotToEpoch(3 * slotsInBatch), finalizedEpoch: core.SlotToEpoch(3 * slotsInBatch),
headSlot: 3 * slotsInBatch, headSlot: 3 * slotsInBatch,
}, },
}, },
@@ -148,17 +148,17 @@ func TestBlocksFetcher_RoundRobin(t *testing.T) {
peers: []*peerData{ peers: []*peerData{
{ {
blocks: makeSequence(1, 3*slotsInBatch), blocks: makeSequence(1, 3*slotsInBatch),
finalizedEpoch: core2.SlotToEpoch(3 * slotsInBatch), finalizedEpoch: core.SlotToEpoch(3 * slotsInBatch),
headSlot: 3 * slotsInBatch, headSlot: 3 * slotsInBatch,
}, },
{ {
blocks: makeSequence(1, 3*slotsInBatch), blocks: makeSequence(1, 3*slotsInBatch),
finalizedEpoch: core2.SlotToEpoch(3 * slotsInBatch), finalizedEpoch: core.SlotToEpoch(3 * slotsInBatch),
headSlot: 3 * slotsInBatch, headSlot: 3 * slotsInBatch,
}, },
{ {
blocks: makeSequence(1, 3*slotsInBatch), blocks: makeSequence(1, 3*slotsInBatch),
finalizedEpoch: core2.SlotToEpoch(3 * slotsInBatch), finalizedEpoch: core.SlotToEpoch(3 * slotsInBatch),
headSlot: 3 * slotsInBatch, headSlot: 3 * slotsInBatch,
}, },
}, },
@@ -506,7 +506,7 @@ func TestBlocksFetcher_requestBeaconBlocksByRange(t *testing.T) {
p2p: p2p, p2p: p2p,
}) })
_, peerIDs := p2p.Peers().BestFinalized(params.BeaconConfig().MaxPeersToSync, core2.SlotToEpoch(mc.HeadSlot())) _, peerIDs := p2p.Peers().BestFinalized(params.BeaconConfig().MaxPeersToSync, core.SlotToEpoch(mc.HeadSlot()))
req := &p2ppb.BeaconBlocksByRangeRequest{ req := &p2ppb.BeaconBlocksByRangeRequest{
StartSlot: 1, StartSlot: 1,
Step: 1, Step: 1,
@@ -537,7 +537,7 @@ func TestBlocksFetcher_RequestBlocksRateLimitingLocks(t *testing.T) {
} }
topic := p2pm.RPCBlocksByRangeTopicV1 topic := p2pm.RPCBlocksByRangeTopicV1
protocol := core.ProtocolID(topic + p2.Encoding().ProtocolSuffix()) protocol := libp2pcore.ProtocolID(topic + p2.Encoding().ProtocolSuffix())
streamHandlerFn := func(stream network.Stream) { streamHandlerFn := func(stream network.Stream) {
assert.NoError(t, stream.Close()) assert.NoError(t, stream.Close())
} }
@@ -813,7 +813,7 @@ func TestBlocksFetcher_requestBlocksFromPeerReturningInvalidBlocks(t *testing.T)
} }
topic := p2pm.RPCBlocksByRangeTopicV1 topic := p2pm.RPCBlocksByRangeTopicV1
protocol := core.ProtocolID(topic + p1.Encoding().ProtocolSuffix()) protocol := libp2pcore.ProtocolID(topic + p1.Encoding().ProtocolSuffix())
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
defer cancel() defer cancel()

View File

@@ -12,7 +12,7 @@ import (
"github.com/paulbellamy/ratecounter" "github.com/paulbellamy/ratecounter"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/shared/bytesutil" "github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
@@ -40,8 +40,8 @@ type batchBlockReceiverFn func(ctx context.Context, blks []block.SignedBeaconBlo
func (s *Service) roundRobinSync(genesis time.Time) error { func (s *Service) roundRobinSync(genesis time.Time) error {
ctx, cancel := context.WithCancel(s.ctx) ctx, cancel := context.WithCancel(s.ctx)
defer cancel() defer cancel()
state.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
defer state.SkipSlotCache.Enable() defer transition.SkipSlotCache.Enable()
s.counter = ratecounter.NewRateCounter(counterSeconds * time.Second) s.counter = ratecounter.NewRateCounter(counterSeconds * time.Second)

View File

@@ -12,7 +12,7 @@ import (
gcache "github.com/patrickmn/go-cache" gcache "github.com/patrickmn/go-cache"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
db "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" db "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p" "github.com/prysmaticlabs/prysm/beacon-chain/p2p"
p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
@@ -87,7 +87,7 @@ func TestRecentBeaconBlocks_RPCRequestSent(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
blockBRoot, err := blockB.Block.HashTreeRoot() blockBRoot, err := blockB.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111)) require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), blockARoot)) require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), blockARoot))

View File

@@ -12,7 +12,7 @@ import (
"github.com/libp2p/go-libp2p-core/protocol" "github.com/libp2p/go-libp2p-core/protocol"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db/kv" "github.com/prysmaticlabs/prysm/beacon-chain/db/kv"
testingDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testingDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers"
@@ -175,7 +175,7 @@ func TestStatusRPCHandler_ReturnsHelloMessage(t *testing.T) {
finalized.Block.Slot = blkSlot finalized.Block.Slot = blkSlot
finalizedRoot, err := finalized.Block.HashTreeRoot() finalizedRoot, err := finalized.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111)) require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot)) require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
@@ -398,7 +398,7 @@ func TestStatusRPCRequest_RequestSent(t *testing.T) {
finalized.Block.Slot = 40 finalized.Block.Slot = 40
finalizedRoot, err := finalized.Block.HashTreeRoot() finalizedRoot, err := finalized.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111)) require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot)) require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
@@ -475,7 +475,7 @@ func TestStatusRPCRequest_FinalizedBlockExists(t *testing.T) {
finalized.Block.Slot = blkSlot finalized.Block.Slot = blkSlot
finalizedRoot, err := finalized.Block.HashTreeRoot() finalizedRoot, err := finalized.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)}) genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111)) require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot)) require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
@@ -554,7 +554,7 @@ func TestStatusRPCRequest_FinalizedBlockExists(t *testing.T) {
func TestStatusRPCRequest_FinalizedBlockSkippedSlots(t *testing.T) { func TestStatusRPCRequest_FinalizedBlockSkippedSlots(t *testing.T) {
db, err := kv.NewKVStore(context.Background(), t.TempDir(), &kv.Config{}) db, err := kv.NewKVStore(context.Background(), t.TempDir(), &kv.Config{})
require.NoError(t, err) require.NoError(t, err)
bState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)}) bState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
require.NoError(t, err) require.NoError(t, err)
blk := testutil.NewBeaconBlock() blk := testutil.NewBeaconBlock()
@@ -740,7 +740,7 @@ func TestStatusRPCRequest_BadPeerHandshake(t *testing.T) {
finalized := testutil.NewBeaconBlock() finalized := testutil.NewBeaconBlock()
finalizedRoot, err := finalized.Block.HashTreeRoot() finalizedRoot, err := finalized.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111)) require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot)) require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
@@ -821,7 +821,7 @@ func TestStatusRPC_ValidGenesisMessage(t *testing.T) {
finalized.Block.Slot = blkSlot finalized.Block.Slot = blkSlot
finalizedRoot, err := finalized.Block.HashTreeRoot() finalizedRoot, err := finalized.Block.HashTreeRoot()
require.NoError(t, err) require.NoError(t, err)
genesisState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, genesisState.SetSlot(111)) require.NoError(t, genesisState.SetSlot(111))
require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot)) require.NoError(t, genesisState.UpdateBlockRootAtIndex(111%uint64(params.BeaconConfig().SlotsPerHistoricalRoot), headRoot))
@@ -908,7 +908,7 @@ func TestShouldResync(t *testing.T) {
}, },
} }
for _, tt := range tests { for _, tt := range tests {
headState, err := state.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{}) headState, err := transition.GenesisBeaconState(context.Background(), nil, 0, &ethpb.Eth1Data{})
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, headState.SetSlot(tt.args.headSlot)) require.NoError(t, headState.SetSlot(tt.args.headSlot))
r := &Service{ r := &Service{

View File

@@ -8,7 +8,7 @@ import (
libp2pcore "github.com/libp2p/go-libp2p-core" libp2pcore "github.com/libp2p/go-libp2p-core"
"github.com/libp2p/go-libp2p-core/network" "github.com/libp2p/go-libp2p-core/network"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
prysmP2P "github.com/prysmaticlabs/prysm/beacon-chain/p2p" prysmP2P "github.com/prysmaticlabs/prysm/beacon-chain/p2p"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p/encoder" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/encoder"
p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
@@ -19,7 +19,7 @@ import (
) )
func init() { func init() {
state.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
// expectSuccess status code from a stream in regular sync. // expectSuccess status code from a stream in regular sync.

View File

@@ -5,7 +5,7 @@ import (
"errors" "errors"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state/interop" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
"github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/featureconfig"

View File

@@ -8,12 +8,12 @@ import (
pubsub "github.com/libp2p/go-libp2p-pubsub" pubsub "github.com/libp2p/go-libp2p-pubsub"
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/operation"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bls" "github.com/prysmaticlabs/prysm/shared/bls"
@@ -140,12 +140,12 @@ func (s *Service) validateAggregatedAtt(ctx context.Context, signed *ethpb.Signe
attSlot := signed.Message.Aggregate.Data.Slot attSlot := signed.Message.Aggregate.Data.Slot
// Only advance state if different epoch as the committee can only change on an epoch transition. // Only advance state if different epoch as the committee can only change on an epoch transition.
if core2.SlotToEpoch(attSlot) > core2.SlotToEpoch(bs.Slot()) { if core.SlotToEpoch(attSlot) > core.SlotToEpoch(bs.Slot()) {
startSlot, err := core2.StartSlot(core2.SlotToEpoch(attSlot)) startSlot, err := core.StartSlot(core.SlotToEpoch(attSlot))
if err != nil { if err != nil {
return pubsub.ValidationIgnore return pubsub.ValidationIgnore
} }
bs, err = core.ProcessSlots(ctx, bs, startSlot) bs, err = transition.ProcessSlots(ctx, bs, startSlot)
if err != nil { if err != nil {
traceutil.AnnotateError(span, err) traceutil.AnnotateError(span, err)
return pubsub.ValidationIgnore return pubsub.ValidationIgnore
@@ -269,7 +269,7 @@ func validateSelectionIndex(
} }
domain := params.BeaconConfig().DomainSelectionProof domain := params.BeaconConfig().DomainSelectionProof
epoch := core2.SlotToEpoch(data.Slot) epoch := core.SlotToEpoch(data.Slot)
v, err := bs.ValidatorAtIndex(validatorIndex) v, err := bs.ValidatorAtIndex(validatorIndex)
if err != nil { if err != nil {
@@ -307,7 +307,7 @@ func aggSigSet(s state.ReadOnlyBeaconState, a *ethpb.SignedAggregateAttestationA
return nil, err return nil, err
} }
epoch := core2.SlotToEpoch(a.Message.Aggregate.Data.Slot) epoch := core.SlotToEpoch(a.Message.Aggregate.Data.Slot)
d, err := helpers.Domain(s.Fork(), epoch, params.BeaconConfig().DomainAggregateAndProof, s.GenesisValidatorRoot()) d, err := helpers.Domain(s.Fork(), epoch, params.BeaconConfig().DomainAggregateAndProof, s.GenesisValidatorRoot())
if err != nil { if err != nil {
return nil, err return nil, err

View File

@@ -14,7 +14,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core/feed" "github.com/prysmaticlabs/prysm/beacon-chain/core/feed"
blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block" blockfeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/block"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
@@ -219,7 +219,7 @@ func (s *Service) validateBeaconBlock(ctx context.Context, blk block.SignedBeaco
} else { } else {
// In the event the block is more than an epoch ahead from its // In the event the block is more than an epoch ahead from its
// parent state, we have to advance the state forward. // parent state, we have to advance the state forward.
parentState, err = state.ProcessSlots(ctx, parentState, blk.Block().Slot()) parentState, err = transition.ProcessSlots(ctx, parentState, blk.Block().Slot())
if err != nil { if err != nil {
return err return err
} }

View File

@@ -15,7 +15,7 @@ import (
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" dbtest "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations" "github.com/prysmaticlabs/prysm/beacon-chain/operations/attestations"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p" "github.com/prysmaticlabs/prysm/beacon-chain/p2p"
@@ -263,7 +263,7 @@ func TestValidateBeaconBlockPubSub_WithLookahead(t *testing.T) {
copied := beaconState.Copy() copied := beaconState.Copy()
// The next block is only 1 epoch ahead so as to not induce a new seed. // The next block is only 1 epoch ahead so as to not induce a new seed.
blkSlot := params.BeaconConfig().SlotsPerEpoch.Mul(uint64(core.NextEpoch(copied))) blkSlot := params.BeaconConfig().SlotsPerEpoch.Mul(uint64(core.NextEpoch(copied)))
copied, err = state.ProcessSlots(context.Background(), copied, blkSlot) copied, err = transition.ProcessSlots(context.Background(), copied, blkSlot)
require.NoError(t, err) require.NoError(t, err)
proposerIdx, err := helpers.BeaconProposerIndex(copied) proposerIdx, err := helpers.BeaconProposerIndex(copied)
require.NoError(t, err) require.NoError(t, err)
@@ -324,7 +324,7 @@ func TestValidateBeaconBlockPubSub_AdvanceEpochsForState(t *testing.T) {
copied := beaconState.Copy() copied := beaconState.Copy()
// The next block is at least 2 epochs ahead to induce shuffling and a new seed. // The next block is at least 2 epochs ahead to induce shuffling and a new seed.
blkSlot := params.BeaconConfig().SlotsPerEpoch * 2 blkSlot := params.BeaconConfig().SlotsPerEpoch * 2
copied, err = state.ProcessSlots(context.Background(), copied, blkSlot) copied, err = transition.ProcessSlots(context.Background(), copied, blkSlot)
require.NoError(t, err) require.NoError(t, err)
proposerIdx, err := helpers.BeaconProposerIndex(copied) proposerIdx, err := helpers.BeaconProposerIndex(copied)
require.NoError(t, err) require.NoError(t, err)
@@ -838,7 +838,7 @@ func TestValidateBeaconBlockPubSub_RejectEvilBlocksFromFuture(t *testing.T) {
copied := beaconState.Copy() copied := beaconState.Copy()
// The next block is at least 2 epochs ahead to induce shuffling and a new seed. // The next block is at least 2 epochs ahead to induce shuffling and a new seed.
blkSlot := params.BeaconConfig().SlotsPerEpoch * 2 blkSlot := params.BeaconConfig().SlotsPerEpoch * 2
copied, err = state.ProcessSlots(context.Background(), copied, blkSlot) copied, err = transition.ProcessSlots(context.Background(), copied, blkSlot)
require.NoError(t, err) require.NoError(t, err)
proposerIdx, err := helpers.BeaconProposerIndex(copied) proposerIdx, err := helpers.BeaconProposerIndex(copied)
require.NoError(t, err) require.NoError(t, err)

View File

@@ -13,7 +13,7 @@ import (
pubsub_pb "github.com/libp2p/go-libp2p-pubsub/pb" pubsub_pb "github.com/libp2p/go-libp2p-pubsub/pb"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" mockChain "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
testingDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testingDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p" "github.com/prysmaticlabs/prysm/beacon-chain/p2p"
@@ -226,7 +226,7 @@ func TestService_ValidateSyncCommitteeMessage(t *testing.T) {
msg.Signature = emptySig[:] msg.Signature = emptySig[:]
msg.BlockRoot = headRoot[:] msg.BlockRoot = headRoot[:]
msg.ValidatorIndex = types.ValidatorIndex(chosenVal) msg.ValidatorIndex = types.ValidatorIndex(chosenVal)
msg.Slot = core2.PrevSlot(hState.Slot()) msg.Slot = core.PrevSlot(hState.Slot())
// Set Bad Topic and Subnet // Set Bad Topic and Subnet
digest, err := s.currentForkDigest() digest, err := s.currentForkDigest()
@@ -274,7 +274,7 @@ func TestService_ValidateSyncCommitteeMessage(t *testing.T) {
msg.Signature = emptySig[:] msg.Signature = emptySig[:]
msg.BlockRoot = headRoot[:] msg.BlockRoot = headRoot[:]
msg.ValidatorIndex = types.ValidatorIndex(chosenVal) msg.ValidatorIndex = types.ValidatorIndex(chosenVal)
msg.Slot = core2.PrevSlot(hState.Slot()) msg.Slot = core.PrevSlot(hState.Slot())
return s, topic return s, topic
}, },
@@ -313,9 +313,9 @@ func TestService_ValidateSyncCommitteeMessage(t *testing.T) {
msg.Signature = emptySig[:] msg.Signature = emptySig[:]
msg.BlockRoot = headRoot[:] msg.BlockRoot = headRoot[:]
msg.ValidatorIndex = types.ValidatorIndex(chosenVal) msg.ValidatorIndex = types.ValidatorIndex(chosenVal)
msg.Slot = core2.PrevSlot(hState.Slot()) msg.Slot = core.PrevSlot(hState.Slot())
d, err := helpers.Domain(hState.Fork(), core2.SlotToEpoch(hState.Slot()), params.BeaconConfig().DomainSyncCommittee, hState.GenesisValidatorRoot()) d, err := helpers.Domain(hState.Fork(), core.SlotToEpoch(hState.Slot()), params.BeaconConfig().DomainSyncCommittee, hState.GenesisValidatorRoot())
assert.NoError(t, err) assert.NoError(t, err)
subCommitteeSize := params.BeaconConfig().SyncCommitteeSize / params.BeaconConfig().SyncCommitteeSubnetCount subCommitteeSize := params.BeaconConfig().SyncCommitteeSize / params.BeaconConfig().SyncCommitteeSubnetCount
s.cfg.Chain = &mockChain.ChainService{ s.cfg.Chain = &mockChain.ChainService{
@@ -366,7 +366,7 @@ func TestService_ValidateSyncCommitteeMessage(t *testing.T) {
numOfVals := hState.NumValidators() numOfVals := hState.NumValidators()
chosenVal := numOfVals - 10 chosenVal := numOfVals - 10
d, err := helpers.Domain(hState.Fork(), core2.SlotToEpoch(hState.Slot()), params.BeaconConfig().DomainSyncCommittee, hState.GenesisValidatorRoot()) d, err := helpers.Domain(hState.Fork(), core.SlotToEpoch(hState.Slot()), params.BeaconConfig().DomainSyncCommittee, hState.GenesisValidatorRoot())
assert.NoError(t, err) assert.NoError(t, err)
rawBytes := p2ptypes.SSZBytes(headRoot[:]) rawBytes := p2ptypes.SSZBytes(headRoot[:])
sigRoot, err := helpers.ComputeSigningRoot(&rawBytes, d) sigRoot, err := helpers.ComputeSigningRoot(&rawBytes, d)
@@ -383,7 +383,7 @@ func TestService_ValidateSyncCommitteeMessage(t *testing.T) {
msg.Signature = keys[chosenVal].Sign(sigRoot[:]).Marshal() msg.Signature = keys[chosenVal].Sign(sigRoot[:]).Marshal()
msg.BlockRoot = headRoot[:] msg.BlockRoot = headRoot[:]
msg.ValidatorIndex = types.ValidatorIndex(chosenVal) msg.ValidatorIndex = types.ValidatorIndex(chosenVal)
msg.Slot = core2.PrevSlot(hState.Slot()) msg.Slot = core.PrevSlot(hState.Slot())
// Set Topic and Subnet // Set Topic and Subnet
digest, err := s.currentForkDigest() digest, err := s.currentForkDigest()

View File

@@ -16,7 +16,7 @@ import (
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
transition "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
testingDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" testingDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/p2p" "github.com/prysmaticlabs/prysm/beacon-chain/p2p"

View File

@@ -29,7 +29,7 @@ go_test(
"requires-network", "requires-network",
], ],
deps = [ deps = [
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//endtoend/components:go_default_library", "//endtoend/components:go_default_library",
"//endtoend/evaluators:go_default_library", "//endtoend/evaluators:go_default_library",
"//endtoend/helpers:go_default_library", "//endtoend/helpers:go_default_library",

View File

@@ -15,7 +15,7 @@ import (
"time" "time"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/endtoend/components" "github.com/prysmaticlabs/prysm/endtoend/components"
ev "github.com/prysmaticlabs/prysm/endtoend/evaluators" ev "github.com/prysmaticlabs/prysm/endtoend/evaluators"
"github.com/prysmaticlabs/prysm/endtoend/helpers" "github.com/prysmaticlabs/prysm/endtoend/helpers"
@@ -41,7 +41,7 @@ const (
) )
func init() { func init() {
state.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
// testRunner abstracts E2E test configuration and running. // testRunner abstracts E2E test configuration and running.

View File

@@ -60,7 +60,7 @@ go_fuzz_test(
max_len = 30000000, max_len = 30000000,
deps = [ deps = [
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//fuzz/testing:go_default_library", "//fuzz/testing:go_default_library",
"//shared/params:go_default_library", "//shared/params:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
@@ -144,7 +144,7 @@ go_fuzz_test(
max_len = 30000000, max_len = 30000000,
deps = [ deps = [
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//shared/params:go_default_library", "//shared/params:go_default_library",
@@ -171,7 +171,7 @@ go_library(
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/kv:go_default_library", "//beacon-chain/db/kv:go_default_library",
"//beacon-chain/forkchoice/protoarray:go_default_library", "//beacon-chain/forkchoice/protoarray:go_default_library",

View File

@@ -15,7 +15,7 @@ import (
pubsub_pb "github.com/libp2p/go-libp2p-pubsub/pb" pubsub_pb "github.com/libp2p/go-libp2p-pubsub/pb"
"github.com/prysmaticlabs/prysm/beacon-chain/blockchain" "github.com/prysmaticlabs/prysm/beacon-chain/blockchain"
"github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing" "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
beaconkv "github.com/prysmaticlabs/prysm/beacon-chain/db/kv" beaconkv "github.com/prysmaticlabs/prysm/beacon-chain/db/kv"
"github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray" "github.com/prysmaticlabs/prysm/beacon-chain/forkchoice/protoarray"
@@ -197,7 +197,7 @@ func BeaconFuzzBlock(b []byte) {
_ = err _ = err
} }
if _, _, err := state.ProcessBlockNoVerifyAnySig(ctx, st, wrapper.WrappedPhase0SignedBeaconBlock(input.Block)); err != nil { if _, _, err := transition.ProcessBlockNoVerifyAnySig(ctx, st, wrapper.WrappedPhase0SignedBeaconBlock(input.Block)); err != nil {
_ = err _ = err
} }
} }

View File

@@ -5,7 +5,7 @@ import (
"fmt" "fmt"
"github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
stateutil "github.com/prysmaticlabs/prysm/beacon-chain/core/state" stateutil "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/featureconfig"

View File

@@ -4,7 +4,7 @@ filegroup(
"*.ssz", "*.ssz",
]), ]),
visibility = [ visibility = [
"//beacon-chain/core/state:__pkg__", "//beacon-chain/core/transition:__pkg__",
"//shared/benchutil:__subpackages__", "//shared/benchutil:__subpackages__",
], ],
) )

View File

@@ -10,7 +10,7 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//shared/bls:go_default_library", "//shared/bls:go_default_library",
@@ -34,7 +34,7 @@ go_test(
], ],
deps = [ deps = [
":go_default_library", ":go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//shared/params:go_default_library", "//shared/params:go_default_library",
"//shared/testutil/assert:go_default_library", "//shared/testutil/assert:go_default_library",

View File

@@ -8,7 +8,7 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
coreState "github.com/prysmaticlabs/prysm/beacon-chain/core/state" coreState "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bls" "github.com/prysmaticlabs/prysm/shared/bls"

View File

@@ -4,7 +4,7 @@ import (
"context" "context"
"testing" "testing"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
eth "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" eth "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/interop" "github.com/prysmaticlabs/prysm/shared/interop"
"github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/params"
@@ -24,7 +24,7 @@ func TestGenerateGenesisState(t *testing.T) {
deposits, err := interop.GenerateDepositsFromData(depositDataItems, trie) deposits, err := interop.GenerateDepositsFromData(depositDataItems, trie)
require.NoError(t, err) require.NoError(t, err)
root := trie.HashTreeRoot() root := trie.HashTreeRoot()
genesisState, err := state.GenesisBeaconState(context.Background(), deposits, 0, &eth.Eth1Data{ genesisState, err := transition.GenesisBeaconState(context.Background(), deposits, 0, &eth.Eth1Data{
DepositRoot: root[:], DepositRoot: root[:],
DepositCount: uint64(len(deposits)), DepositCount: uint64(len(deposits)),
}) })

View File

@@ -22,7 +22,7 @@ go_library(
"//beacon-chain/core/altair:go_default_library", "//beacon-chain/core/altair:go_default_library",
"//beacon-chain/core/blocks:go_default_library", "//beacon-chain/core/blocks:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/p2p/types:go_default_library", "//beacon-chain/p2p/types:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
@@ -60,8 +60,8 @@ go_test(
deps = [ deps = [
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/core/state/stateutils:go_default_library", "//beacon-chain/core/transition/stateutils:go_default_library",
"//proto/eth/v1:go_default_library", "//proto/eth/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library", "//proto/prysm/v1alpha1/wrapper:go_default_library",

View File

@@ -8,11 +8,11 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/go-bitfield" "github.com/prysmaticlabs/go-bitfield"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/altair" "github.com/prysmaticlabs/prysm/beacon-chain/core/altair"
"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2" stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
@@ -280,12 +280,12 @@ func BlockSignatureAltair(
if err != nil { if err != nil {
return nil, err return nil, err
} }
s, err := core.CalculateStateRoot(context.Background(), bState, wsb) s, err := transition.CalculateStateRoot(context.Background(), bState, wsb)
if err != nil { if err != nil {
return nil, err return nil, err
} }
block.StateRoot = s[:] block.StateRoot = s[:]
domain, err := helpers.Domain(bState.Fork(), core2.CurrentEpoch(bState), params.BeaconConfig().DomainBeaconProposer, bState.GenesisValidatorRoot()) domain, err := helpers.Domain(bState.Fork(), core.CurrentEpoch(bState), params.BeaconConfig().DomainBeaconProposer, bState.GenesisValidatorRoot())
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -400,7 +400,7 @@ func GenerateFullBlockAltair(
if err := bState.SetSlot(slot); err != nil { if err := bState.SetSlot(slot); err != nil {
return nil, err return nil, err
} }
reveal, err := RandaoReveal(bState, core2.CurrentEpoch(bState), privs) reveal, err := RandaoReveal(bState, core.CurrentEpoch(bState), privs)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -8,9 +8,9 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/go-bitfield" "github.com/prysmaticlabs/go-bitfield"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
v2 "github.com/prysmaticlabs/prysm/beacon-chain/state/v2" v2 "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
@@ -58,7 +58,7 @@ func GenerateAttestations(
slot-- slot--
generateHeadState = true generateHeadState = true
} }
currentEpoch := core2.SlotToEpoch(slot) currentEpoch := core.SlotToEpoch(slot)
targetRoot := make([]byte, 32) targetRoot := make([]byte, 32)
var headRoot []byte var headRoot []byte
@@ -91,7 +91,7 @@ func GenerateAttestations(
return nil, errors.New("state type isn't supported") return nil, errors.New("state type isn't supported")
} }
headState, err = core.ProcessSlots(context.Background(), headState, slot+1) headState, err = transition.ProcessSlots(context.Background(), headState, slot+1)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -6,8 +6,8 @@ import (
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state/stateutils" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/stateutils"
v1 "github.com/prysmaticlabs/prysm/proto/eth/v1" v1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
eth "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" eth "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
v2 "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" v2 "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -24,7 +24,7 @@ func TestGenerateFullBlock_PassesStateTransition(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
_, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) _, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
} }
@@ -37,7 +37,7 @@ func TestGenerateFullBlock_ThousandValidators(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
_, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) _, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
} }
@@ -55,7 +55,7 @@ func TestGenerateFullBlock_Passes4Epochs(t *testing.T) {
helpers.ClearCache() helpers.ClearCache()
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
} }
@@ -80,7 +80,7 @@ func TestGenerateFullBlock_ValidProposerSlashings(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()+1) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()+1)
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
slashableIndice := block.Block.Body.ProposerSlashings[0].Header_1.Header.ProposerIndex slashableIndice := block.Block.Body.ProposerSlashings[0].Header_1.Header.ProposerIndex
@@ -99,7 +99,7 @@ func TestGenerateFullBlock_ValidAttesterSlashings(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
slashableIndices := block.Block.Body.AttesterSlashings[0].Attestation_1.AttestingIndices slashableIndices := block.Block.Body.AttesterSlashings[0].Attestation_1.AttestingIndices
@@ -119,7 +119,7 @@ func TestGenerateFullBlock_ValidAttestations(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
atts, err := beaconState.CurrentEpochAttestations() atts, err := beaconState.CurrentEpochAttestations()
require.NoError(t, err) require.NoError(t, err)
@@ -140,7 +140,7 @@ func TestGenerateFullBlock_ValidDeposits(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
depositedPubkey := block.Block.Body.Deposits[0].Data.PublicKey depositedPubkey := block.Block.Body.Deposits[0].Data.PublicKey
@@ -166,7 +166,7 @@ func TestGenerateFullBlock_ValidVoluntaryExits(t *testing.T) {
} }
block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot()) block, err := GenerateFullBlock(beaconState, privs, conf, beaconState.Slot())
require.NoError(t, err) require.NoError(t, err)
beaconState, err = state.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
exitedIndex := block.Block.Body.VoluntaryExits[0].Exit.ValidatorIndex exitedIndex := block.Block.Body.VoluntaryExits[0].Exit.ValidatorIndex

View File

@@ -7,7 +7,7 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/bls" "github.com/prysmaticlabs/prysm/shared/bls"
@@ -256,7 +256,7 @@ func DeterministicGenesisState(t testing.TB, numValidators uint64) (state.Beacon
if err != nil { if err != nil {
t.Fatal(errors.Wrapf(err, "failed to get eth1data for %d deposits", numValidators)) t.Fatal(errors.Wrapf(err, "failed to get eth1data for %d deposits", numValidators))
} }
beaconState, err := core.GenesisBeaconState(context.Background(), deposits, uint64(0), eth1Data) beaconState, err := transition.GenesisBeaconState(context.Background(), deposits, uint64(0), eth1Data)
if err != nil { if err != nil {
t.Fatal(errors.Wrapf(err, "failed to get genesis beacon state of %d validators", numValidators)) t.Fatal(errors.Wrapf(err, "failed to get genesis beacon state of %d validators", numValidators))
} }

View File

@@ -7,9 +7,9 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
@@ -40,12 +40,12 @@ func BlockSignature(
privKeys []bls.SecretKey, privKeys []bls.SecretKey,
) (bls.Signature, error) { ) (bls.Signature, error) {
var err error var err error
s, err := core.CalculateStateRoot(context.Background(), bState, wrapper.WrappedPhase0SignedBeaconBlock(&ethpb.SignedBeaconBlock{Block: block})) s, err := transition.CalculateStateRoot(context.Background(), bState, wrapper.WrappedPhase0SignedBeaconBlock(&ethpb.SignedBeaconBlock{Block: block}))
if err != nil { if err != nil {
return nil, err return nil, err
} }
block.StateRoot = s[:] block.StateRoot = s[:]
domain, err := helpers.Domain(bState.Fork(), core2.CurrentEpoch(bState), params.BeaconConfig().DomainBeaconProposer, bState.GenesisValidatorRoot()) domain, err := helpers.Domain(bState.Fork(), core.CurrentEpoch(bState), params.BeaconConfig().DomainBeaconProposer, bState.GenesisValidatorRoot())
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -8,7 +8,7 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v2:go_default_library", "//beacon-chain/state/v2:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",

View File

@@ -7,7 +7,7 @@ import (
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2" stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -19,7 +19,7 @@ import (
) )
func init() { func init() {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
type Config struct { type Config struct {
@@ -61,7 +61,7 @@ func RunFinalityTest(t *testing.T, config string) {
require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal") require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal")
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
processedState, err = core.ExecuteStateTransition(context.Background(), beaconState, wsb) processedState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wsb)
require.NoError(t, err) require.NoError(t, err)
beaconState, ok = processedState.(*stateAltair.BeaconState) beaconState, ok = processedState.(*stateAltair.BeaconState)
require.Equal(t, true, ok) require.Equal(t, true, ok)

View File

@@ -12,7 +12,7 @@ go_library(
deps = [ deps = [
"//beacon-chain/core/altair:go_default_library", "//beacon-chain/core/altair:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/v2:go_default_library", "//beacon-chain/state/v2:go_default_library",

View File

@@ -8,7 +8,7 @@ import (
"github.com/golang/snappy" "github.com/golang/snappy"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2" stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
@@ -95,7 +95,7 @@ func RunForkTransitionTest(t *testing.T, config string) {
ctx := context.Background() ctx := context.Background()
var ok bool var ok bool
for _, b := range preforkBlocks { for _, b := range preforkBlocks {
st, err := core.ExecuteStateTransition(ctx, beaconState, wrapperv1.WrappedPhase0SignedBeaconBlock(b)) st, err := transition.ExecuteStateTransition(ctx, beaconState, wrapperv1.WrappedPhase0SignedBeaconBlock(b))
require.NoError(t, err) require.NoError(t, err)
beaconState, ok = st.(*v1.BeaconState) beaconState, ok = st.(*v1.BeaconState)
require.Equal(t, true, ok) require.Equal(t, true, ok)
@@ -104,7 +104,7 @@ func RunForkTransitionTest(t *testing.T, config string) {
for _, b := range postforkBlocks { for _, b := range postforkBlocks {
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(b) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(b)
require.NoError(t, err) require.NoError(t, err)
st, err := core.ExecuteStateTransition(ctx, altairState, wsb) st, err := transition.ExecuteStateTransition(ctx, altairState, wsb)
require.NoError(t, err) require.NoError(t, err)
altairState, ok = st.(*stateAltair.BeaconState) altairState, ok = st.(*stateAltair.BeaconState)
require.Equal(t, true, ok) require.Equal(t, true, ok)

View File

@@ -12,7 +12,7 @@ go_library(
visibility = ["//spectest:__subpackages__"], visibility = ["//spectest:__subpackages__"],
deps = [ deps = [
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v2:go_default_library", "//beacon-chain/state/v2:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",

View File

@@ -12,7 +12,7 @@ import (
"github.com/d4l3k/messagediff" "github.com/d4l3k/messagediff"
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2" stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -24,7 +24,7 @@ import (
) )
func init() { func init() {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
// RunBlockProcessingTest executes "sanity/blocks" tests. // RunBlockProcessingTest executes "sanity/blocks" tests.
@@ -63,7 +63,7 @@ func RunBlockProcessingTest(t *testing.T, config, folderPath string) {
require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal") require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal")
wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block) wsb, err := wrapper.WrappedAltairSignedBeaconBlock(block)
require.NoError(t, err) require.NoError(t, err)
processedState, transitionError = core.ExecuteStateTransition(context.Background(), beaconState, wsb) processedState, transitionError = transition.ExecuteStateTransition(context.Background(), beaconState, wsb)
if transitionError != nil { if transitionError != nil {
break break
} }

View File

@@ -6,7 +6,7 @@ import (
"testing" "testing"
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2" stateAltair "github.com/prysmaticlabs/prysm/beacon-chain/state/v2"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil"
@@ -17,7 +17,7 @@ import (
) )
func init() { func init() {
state.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
// RunSlotProcessingTests executes "sanity/slots" tests. // RunSlotProcessingTests executes "sanity/slots" tests.
@@ -49,7 +49,7 @@ func RunSlotProcessingTests(t *testing.T, config string) {
require.NoError(t, err, "Failed to decompress") require.NoError(t, err, "Failed to decompress")
postBeaconState := &ethpb.BeaconStateAltair{} postBeaconState := &ethpb.BeaconStateAltair{}
require.NoError(t, postBeaconState.UnmarshalSSZ(postBeaconStateSSZ), "Failed to unmarshal") require.NoError(t, postBeaconState.UnmarshalSSZ(postBeaconStateSSZ), "Failed to unmarshal")
postState, err := state.ProcessSlots(context.Background(), beaconState, beaconState.Slot().Add(uint64(slotsCount))) postState, err := transition.ProcessSlots(context.Background(), beaconState, beaconState.Slot().Add(uint64(slotsCount)))
require.NoError(t, err) require.NoError(t, err)
pbState, err := stateAltair.ProtobufBeaconState(postState.CloneInnerState()) pbState, err := stateAltair.ProtobufBeaconState(postState.CloneInnerState())

View File

@@ -8,7 +8,7 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",

View File

@@ -7,7 +7,7 @@ import (
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -20,7 +20,7 @@ import (
) )
func init() { func init() {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
type Config struct { type Config struct {
@@ -60,7 +60,7 @@ func RunFinalityTest(t *testing.T, config string) {
require.NoError(t, err, "Failed to decompress") require.NoError(t, err, "Failed to decompress")
block := &ethpb.SignedBeaconBlock{} block := &ethpb.SignedBeaconBlock{}
require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal") require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal")
processedState, err = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) processedState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
require.NoError(t, err) require.NoError(t, err)
beaconState, ok = processedState.(*v1.BeaconState) beaconState, ok = processedState.(*v1.BeaconState)
require.Equal(t, true, ok) require.Equal(t, true, ok)

View File

@@ -12,7 +12,7 @@ go_library(
visibility = ["//spectest:__subpackages__"], visibility = ["//spectest:__subpackages__"],
deps = [ deps = [
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",

View File

@@ -11,7 +11,7 @@ import (
"github.com/bazelbuild/rules_go/go/tools/bazel" "github.com/bazelbuild/rules_go/go/tools/bazel"
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -24,7 +24,7 @@ import (
) )
func init() { func init() {
core.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
// RunBlockProcessingTest executes "sanity/blocks" tests. // RunBlockProcessingTest executes "sanity/blocks" tests.
@@ -61,7 +61,7 @@ func RunBlockProcessingTest(t *testing.T, config, folderPath string) {
require.NoError(t, err, "Failed to decompress") require.NoError(t, err, "Failed to decompress")
block := &ethpb.SignedBeaconBlock{} block := &ethpb.SignedBeaconBlock{}
require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal") require.NoError(t, block.UnmarshalSSZ(blockSSZ), "Failed to unmarshal")
processedState, transitionError = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) processedState, transitionError = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
if transitionError != nil { if transitionError != nil {
break break
} }

View File

@@ -6,7 +6,7 @@ import (
"testing" "testing"
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil"
@@ -17,7 +17,7 @@ import (
) )
func init() { func init() {
state.SkipSlotCache.Disable() transition.SkipSlotCache.Disable()
} }
// RunSlotProcessingTests executes "sanity/slots" tests. // RunSlotProcessingTests executes "sanity/slots" tests.
@@ -49,7 +49,7 @@ func RunSlotProcessingTests(t *testing.T, config string) {
require.NoError(t, err, "Failed to decompress") require.NoError(t, err, "Failed to decompress")
postBeaconState := &ethpb.BeaconState{} postBeaconState := &ethpb.BeaconState{}
require.NoError(t, postBeaconState.UnmarshalSSZ(postBeaconStateSSZ), "Failed to unmarshal") require.NoError(t, postBeaconState.UnmarshalSSZ(postBeaconStateSSZ), "Failed to unmarshal")
postState, err := state.ProcessSlots(context.Background(), beaconState, beaconState.Slot().Add(uint64(slotsCount))) postState, err := transition.ProcessSlots(context.Background(), beaconState, beaconState.Slot().Add(uint64(slotsCount)))
require.NoError(t, err) require.NoError(t, err)
pbState, err := v1.ProtobufBeaconState(postState.CloneInnerState()) pbState, err := v1.ProtobufBeaconState(postState.CloneInnerState())

View File

@@ -10,7 +10,7 @@ go_library(
deps = [ deps = [
"//beacon-chain/core:go_default_library", "//beacon-chain/core:go_default_library",
"//beacon-chain/core/helpers:go_default_library", "//beacon-chain/core/helpers:go_default_library",
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state:go_default_library", "//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",

View File

@@ -10,9 +10,9 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
core2 "github.com/prysmaticlabs/prysm/beacon-chain/core" "github.com/prysmaticlabs/prysm/beacon-chain/core"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
core "github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
@@ -103,7 +103,7 @@ func generateMarshalledFullStateAndBlock() error {
if err != nil { if err != nil {
return err return err
} }
beaconState, err = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
if err != nil { if err != nil {
return err return err
} }
@@ -127,7 +127,7 @@ func generateMarshalledFullStateAndBlock() error {
} }
block.Block.Body.Attestations = append(atts, block.Block.Body.Attestations...) block.Block.Body.Attestations = append(atts, block.Block.Body.Attestations...)
s, err := core.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) s, err := transition.CalculateStateRoot(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
if err != nil { if err != nil {
return errors.Wrap(err, "could not calculate state root") return errors.Wrap(err, "could not calculate state root")
} }
@@ -141,7 +141,7 @@ func generateMarshalledFullStateAndBlock() error {
if err != nil { if err != nil {
return err return err
} }
block.Signature, err = helpers.ComputeDomainAndSign(beaconState, core2.CurrentEpoch(beaconState), block.Block, params.BeaconConfig().DomainBeaconProposer, privs[proposerIdx]) block.Signature, err = helpers.ComputeDomainAndSign(beaconState, core.CurrentEpoch(beaconState), block.Block, params.BeaconConfig().DomainBeaconProposer, privs[proposerIdx])
if err != nil { if err != nil {
return err return err
} }
@@ -158,7 +158,7 @@ func generateMarshalledFullStateAndBlock() error {
} }
// Running a single state transition to make sure the generated files aren't broken. // Running a single state transition to make sure the generated files aren't broken.
_, err = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) _, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
if err != nil { if err != nil {
return err return err
} }
@@ -192,7 +192,7 @@ func generate2FullEpochState() error {
if err != nil { if err != nil {
return err return err
} }
beaconState, err = core.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block)) beaconState, err = transition.ExecuteStateTransition(context.Background(), beaconState, wrapper.WrappedPhase0SignedBeaconBlock(block))
if err != nil { if err != nil {
return err return err
} }

View File

@@ -7,7 +7,7 @@ go_library(
importpath = "github.com/prysmaticlabs/prysm/tools/extractor", importpath = "github.com/prysmaticlabs/prysm/tools/extractor",
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//beacon-chain/core/state/interop:go_default_library", "//beacon-chain/core/transition/interop:go_default_library",
"//beacon-chain/db:go_default_library", "//beacon-chain/db:go_default_library",
"//beacon-chain/db/kv:go_default_library", "//beacon-chain/db/kv:go_default_library",
"//shared/featureconfig:go_default_library", "//shared/featureconfig:go_default_library",

View File

@@ -6,7 +6,7 @@ import (
"fmt" "fmt"
types "github.com/prysmaticlabs/eth2-types" types "github.com/prysmaticlabs/eth2-types"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state/interop" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition/interop"
"github.com/prysmaticlabs/prysm/beacon-chain/db" "github.com/prysmaticlabs/prysm/beacon-chain/db"
"github.com/prysmaticlabs/prysm/beacon-chain/db/kv" "github.com/prysmaticlabs/prysm/beacon-chain/db/kv"
"github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/featureconfig"

View File

@@ -10,7 +10,7 @@ go_library(
importpath = "github.com/prysmaticlabs/prysm/tools/pcli", importpath = "github.com/prysmaticlabs/prysm/tools/pcli",
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
deps = [ deps = [
"//beacon-chain/core/state:go_default_library", "//beacon-chain/core/transition:go_default_library",
"//beacon-chain/state/v1:go_default_library", "//beacon-chain/state/v1:go_default_library",
"//proto/prysm/v1alpha1:go_default_library", "//proto/prysm/v1alpha1:go_default_library",
"//proto/prysm/v1alpha1/wrapper:go_default_library", "//proto/prysm/v1alpha1/wrapper:go_default_library",

View File

@@ -11,7 +11,7 @@ import (
fssz "github.com/ferranbt/fastssz" fssz "github.com/ferranbt/fastssz"
"github.com/kr/pretty" "github.com/kr/pretty"
"github.com/prysmaticlabs/prysm/beacon-chain/core/state" "github.com/prysmaticlabs/prysm/beacon-chain/core/transition"
v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" v1 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/wrapper"
@@ -175,7 +175,7 @@ func main() {
blkRoot, blkRoot,
preStateRoot, preStateRoot,
) )
postState, err := state.ExecuteStateTransition(context.Background(), stateObj, wrapper.WrappedPhase0SignedBeaconBlock(block)) postState, err := transition.ExecuteStateTransition(context.Background(), stateObj, wrapper.WrappedPhase0SignedBeaconBlock(block))
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }