mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 23:48:06 -05:00
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:
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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(ðpb.Eth1Data{
|
err = genState.SetEth1Data(ðpb.Eth1Data{
|
||||||
DepositRoot: hashTreeRoot[:],
|
DepositRoot: hashTreeRoot[:],
|
||||||
|
|||||||
2
beacon-chain/cache/skip_slot_cache.go
vendored
2
beacon-chain/cache/skip_slot_cache.go
vendored
@@ -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
|
||||||
|
|||||||
@@ -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",
|
||||||
@@ -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()
|
||||||
@@ -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"
|
||||||
@@ -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__",
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package state
|
package transition
|
||||||
|
|
||||||
import "github.com/sirupsen/logrus"
|
import "github.com/sirupsen/logrus"
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package state
|
package transition
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
@@ -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)
|
||||||
@@ -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"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package state
|
package transition
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
@@ -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, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
state1, err := transition.GenesisBeaconState(context.Background(), deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
state, err := state.GenesisBeaconState(context.Background(), deposits, 0, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
state, err := transition.GenesisBeaconState(context.Background(), deposits, 0, ðpb.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, ðpb.Eth1Data{})
|
s, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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)
|
||||||
}
|
}
|
||||||
@@ -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__",
|
||||||
@@ -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"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package state
|
package transition
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
@@ -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())
|
||||||
}
|
}
|
||||||
@@ -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"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package state
|
package transition
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
@@ -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"
|
||||||
@@ -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)
|
||||||
}
|
}
|
||||||
@@ -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(ðpb.PendingAttestation{}))
|
require.NoError(t, beaconState.AppendCurrentEpochAttestations(ðpb.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(ðpb.SignedBeaconBlockHeader{
|
header1 := testutil.HydrateSignedBeaconHeader(ðpb.SignedBeaconBlockHeader{
|
||||||
Header: ðpb.BeaconBlockHeader{
|
Header: ðpb.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(ðpb.Attestation{
|
blockAtt := testutil.HydrateAttestation(ðpb.Attestation{
|
||||||
Data: ðpb.AttestationData{
|
Data: ðpb.AttestationData{
|
||||||
Slot: beaconState.Slot(),
|
Slot: beaconState.Slot(),
|
||||||
Target: ðpb.Checkpoint{Epoch: core2.CurrentEpoch(beaconState)},
|
Target: ðpb.Checkpoint{Epoch: core.CurrentEpoch(beaconState)},
|
||||||
Source: ðpb.Checkpoint{Root: mockRoot[:]}},
|
Source: ðpb.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 := ðpb.BeaconState{Slot: tt.slot}
|
b := ðpb.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(ðpb.BeaconState{Slot: slot})
|
parentState, err := v1.InitializeFromProto(ðpb.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(ðpb.BeaconState{Slot: slot})
|
parentState, err := v1.InitializeFromProto(ðpb.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)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
beaconState, err := transition.GenesisBeaconState(ctx, deposits, 0, ðpb.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, ðpb.Eth1Data{BlockHash: make([]byte, 32)})
|
beaconState, err := transition.GenesisBeaconState(ctx, deposits, 0, ðpb.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))))
|
||||||
|
|||||||
@@ -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 ðpb.Eth1Data{
|
return ðpb.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,
|
||||||
|
|||||||
@@ -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{
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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, ðpb.Eth1Data{})
|
genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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))
|
||||||
|
|||||||
@@ -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, ðpb.Eth1Data{})
|
genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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, ðpb.Eth1Data{})
|
genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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, ðpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
|
genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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, ðpb.Eth1Data{DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32)})
|
bState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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, ðpb.Eth1Data{})
|
genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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, ðpb.Eth1Data{})
|
genesisState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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, ðpb.Eth1Data{})
|
headState, err := transition.GenesisBeaconState(context.Background(), nil, 0, ðpb.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{
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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__",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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, ð.Eth1Data{
|
genesisState, err := transition.GenesisBeaconState(context.Background(), deposits, 0, ð.Eth1Data{
|
||||||
DepositRoot: root[:],
|
DepositRoot: root[:],
|
||||||
DepositCount: uint64(len(deposits)),
|
DepositCount: uint64(len(deposits)),
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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(ðpb.SignedBeaconBlock{Block: block}))
|
s, err := transition.CalculateStateRoot(context.Background(), bState, wrapper.WrappedPhase0SignedBeaconBlock(ðpb.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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 := ðpb.BeaconStateAltair{}
|
postBeaconState := ðpb.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())
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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 := ðpb.SignedBeaconBlock{}
|
block := ðpb.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)
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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 := ðpb.SignedBeaconBlock{}
|
block := ðpb.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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 := ðpb.BeaconState{}
|
postBeaconState := ðpb.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())
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user