Remove proto state (#11445)

* Remove native state flag and use native state in spectests

* remove feature from tests

* use e2e config in slasher simulator

* use params.BeaconConfig in testutil

* use correct function

* use minimal config in go_test

* fix TestListValidators

* parameterize sync committee bits and aggregation bits

* Fix TestServer_ListIndexedAttestations_GenesisEpoch

(cherry picked from commit 254ab623dde08ae8886b152facdbbd8889ed79db)

* fix more tests

* fix even more

* moreeee

* aaaand more

* one more fix

* one more

* simplify TestGetAltairDuties_UnknownPubkey

* comment out problematic test

* one more fix

* one more

* aaaand one more

* another

* use fieldparams in HydrateBlindedBeaconBlockBodyBellatrix

* create new package for mainnet tests

* TestServer_GetBellatrixBeaconBlock

* change slashed validator index

* clear cache in reward_test.go

* deprecate flag

* create bazel mainnet target

* move attester mainnet test to mainnet target

* "fix" proposer tests

* use minimal config in TestServer_circuitBreakBuilder

* fix TestProposer_ProposeBlock_OK

* more fixes in validator package

* more fixes

* more fixes

* test code

* move TestProposer_GetBeaconBlock_BellatrixEpoch to minimal

* finally

* remove proposer_bellatrix_mainnet_test.go

* fix TestServer_GetBellatrixBeaconBlock_HappyCase

* fix TestServer_GetBellatrixBeaconBlock_BuilderCase

* Preston needs to fix this!

* Revert "Preston needs to fix this!"

This reverts commit b03d97a16e.

* remove proto state tests

* fix migration tests

* static analysis fix

* review

* remove proto state

* swap state in tests

* fix BUILD file in /proto/testing

* remove metrics test with nil state
This commit is contained in:
Radosław Kapka
2022-09-17 00:17:46 +02:00
committed by GitHub
parent 9c2c665e92
commit 73443208a1
205 changed files with 443 additions and 8979 deletions

View File

@@ -8,7 +8,7 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/state-native:go_default_library",
"//config/params:go_default_library",
"//proto/prysm/v1alpha1:go_default_library",
"@io_bazel_rules_go//go/tools/bazel:go_default_library",

View File

@@ -8,7 +8,7 @@ import (
"github.com/bazelbuild/rules_go/go/tools/bazel"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v1"
state_native "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/state-native"
"github.com/prysmaticlabs/prysm/v3/config/params"
ethpb "github.com/prysmaticlabs/prysm/v3/proto/prysm/v1alpha1"
)
@@ -53,7 +53,7 @@ func PreGenState1Epoch() (state.BeaconState, error) {
if err := beaconState.UnmarshalSSZ(beaconBytes); err != nil {
return nil, err
}
return v1.InitializeFromProto(beaconState)
return state_native.InitializeFromProtoPhase0(beaconState)
}
// PreGenstateFullEpochs unmarshals the pre-generated beacon state after 2 epoch of full block processing and returns it.
@@ -70,7 +70,7 @@ func PreGenstateFullEpochs() (state.BeaconState, error) {
if err := beaconState.UnmarshalSSZ(beaconBytes); err != nil {
return nil, err
}
return v1.InitializeFromProto(beaconState)
return state_native.InitializeFromProtoPhase0(beaconState)
}
// PreGenFullBlock unmarshals the pre-generated signed beacon block containing an epochs worth of attestations and returns it.

View File

@@ -30,10 +30,8 @@ go_library(
"//beacon-chain/db/iface:go_default_library",
"//beacon-chain/p2p/types:go_default_library",
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/state-native:go_default_library",
"//beacon-chain/state/stateutil:go_default_library",
"//beacon-chain/state/v1:go_default_library",
"//beacon-chain/state/v2:go_default_library",
"//beacon-chain/state/v3:go_default_library",
"//config/fieldparams:go_default_library",
"//config/params:go_default_library",
"//consensus-types/blocks:go_default_library",

View File

@@ -14,8 +14,8 @@ import (
"github.com/prysmaticlabs/prysm/v3/beacon-chain/core/time"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state"
state_native "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/state-native"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state/stateutil"
stateAltair "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v2"
fieldparams "github.com/prysmaticlabs/prysm/v3/config/fieldparams"
"github.com/prysmaticlabs/prysm/v3/config/params"
consensusblocks "github.com/prysmaticlabs/prysm/v3/consensus-types/blocks"
@@ -214,7 +214,7 @@ func buildGenesisBeaconState(genesisTime uint64, preState state.BeaconState, eth
AggregatePubkey: bytesutil.PadTo([]byte{}, params.BeaconConfig().BLSPubkeyLength),
}
return stateAltair.InitializeFromProto(st)
return state_native.InitializeFromProtoAltair(st)
}
func emptyGenesisState() (state.BeaconState, error) {
@@ -241,7 +241,7 @@ func emptyGenesisState() (state.BeaconState, error) {
Eth1DataVotes: []*ethpb.Eth1Data{},
Eth1DepositIndex: 0,
}
return stateAltair.InitializeFromProto(st)
return state_native.InitializeFromProtoAltair(st)
}
// NewBeaconBlockAltair creates a beacon block with minimum marshalable fields.

View File

@@ -11,9 +11,7 @@ import (
"github.com/prysmaticlabs/prysm/v3/beacon-chain/core/signing"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/core/transition"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v1"
v2 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v2"
v3 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v3"
state_native "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/state-native"
fieldparams "github.com/prysmaticlabs/prysm/v3/config/fieldparams"
"github.com/prysmaticlabs/prysm/v3/config/params"
types "github.com/prysmaticlabs/prysm/v3/consensus-types/primitives"
@@ -71,31 +69,31 @@ func GenerateAttestations(
var headState state.BeaconState
switch bState.Version() {
case version.Phase0:
pbState, err := v1.ProtobufBeaconState(bState.CloneInnerState())
pbState, err := state_native.ProtobufBeaconStatePhase0(bState.CloneInnerState())
if err != nil {
return nil, err
}
genState, err := v1.InitializeFromProtoUnsafe(pbState)
genState, err := state_native.InitializeFromProtoUnsafePhase0(pbState)
if err != nil {
return nil, err
}
headState = genState
case version.Altair:
pbState, err := v2.ProtobufBeaconState(bState.CloneInnerState())
pbState, err := state_native.ProtobufBeaconStateAltair(bState.CloneInnerState())
if err != nil {
return nil, err
}
genState, err := v2.InitializeFromProtoUnsafe(pbState)
genState, err := state_native.InitializeFromProtoUnsafeAltair(pbState)
if err != nil {
return nil, err
}
headState = genState
case version.Bellatrix:
pbState, err := v3.ProtobufBeaconState(bState.CloneInnerState())
pbState, err := state_native.ProtobufBeaconStateBellatrix(bState.CloneInnerState())
if err != nil {
return nil, err
}
genState, err := v3.InitializeFromProtoUnsafe(pbState)
genState, err := state_native.InitializeFromProtoUnsafeBellatrix(pbState)
if err != nil {
return nil, err
}

View File

@@ -7,8 +7,8 @@ import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state"
state_native "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/state-native"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state/stateutil"
v3 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v3"
fieldparams "github.com/prysmaticlabs/prysm/v3/config/fieldparams"
"github.com/prysmaticlabs/prysm/v3/config/params"
"github.com/prysmaticlabs/prysm/v3/crypto/bls"
@@ -83,7 +83,7 @@ func emptyGenesisStateBellatrix() (state.BeaconState, error) {
LatestExecutionPayloadHeader: &enginev1.ExecutionPayloadHeader{},
}
return v3.InitializeFromProto(st)
return state_native.InitializeFromProtoBellatrix(st)
}
func buildGenesisBeaconStateBellatrix(genesisTime uint64, preState state.BeaconState, eth1Data *ethpb.Eth1Data) (state.BeaconState, error) {
@@ -240,5 +240,5 @@ func buildGenesisBeaconStateBellatrix(genesisTime uint64, preState state.BeaconS
TransactionsRoot: make([]byte, 32),
}
return v3.InitializeFromProto(st)
return state_native.InitializeFromProtoBellatrix(st)
}

View File

@@ -10,9 +10,7 @@ import (
b "github.com/prysmaticlabs/prysm/v3/beacon-chain/core/blocks"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/db/iface"
"github.com/prysmaticlabs/prysm/v3/beacon-chain/state"
v1 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v1"
v2 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v2"
v3 "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/v3"
state_native "github.com/prysmaticlabs/prysm/v3/beacon-chain/state/state-native"
fieldparams "github.com/prysmaticlabs/prysm/v3/config/fieldparams"
"github.com/prysmaticlabs/prysm/v3/config/params"
"github.com/prysmaticlabs/prysm/v3/crypto/bls"
@@ -96,7 +94,7 @@ func NewBeaconState(options ...NewBeaconStateOption) (state.BeaconState, error)
}
}
var st, err = v1.InitializeFromProtoUnsafe(seed)
var st, err = state_native.InitializeFromProtoUnsafePhase0(seed)
if err != nil {
return nil, err
}
@@ -151,7 +149,7 @@ func NewBeaconStateAltair(options ...func(state *ethpb.BeaconStateAltair) error)
}
}
var st, err = v2.InitializeFromProtoUnsafe(seed)
var st, err = state_native.InitializeFromProtoUnsafeAltair(seed)
if err != nil {
return nil, err
}
@@ -218,7 +216,7 @@ func NewBeaconStateBellatrix(options ...func(state *ethpb.BeaconStateBellatrix)
}
}
var st, err = v3.InitializeFromProtoUnsafe(seed)
var st, err = state_native.InitializeFromProtoUnsafeBellatrix(seed)
if err != nil {
return nil, err
}