diff --git a/beacond/cmd/defaults.go b/beacond/cmd/defaults.go index 634c57986a..e4ede16b88 100644 --- a/beacond/cmd/defaults.go +++ b/beacond/cmd/defaults.go @@ -21,7 +21,6 @@ package main import ( - "github.com/berachain/beacon-kit/beacond/cmd/types" "github.com/berachain/beacon-kit/mod/node-core/pkg/components" ) @@ -29,54 +28,44 @@ import ( func DefaultComponents() []any { c := []any{ components.ProvideABCIMiddleware[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.BlobSidecar, *types.BlobSidecars, - *types.Deposit, *types.ExecutionPayloadHeader, *types.Genesis, - *types.Logger, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, + *BlobSidecar, *BlobSidecars, *Deposit, *ExecutionPayloadHeader, + *Genesis, *Logger, ], components.ProvideAttributesFactory[ - *types.BeaconBlockHeader, *types.BeaconState, - *types.BeaconStateMarshallable, *types.ExecutionPayloadHeader, - *types.KVStore, *types.Logger, - ], - components.ProvideAvailibilityStore[ - *types.BeaconBlockBody, *types.Logger, + *BeaconBlockHeader, *BeaconState, *BeaconStateMarshallable, + *ExecutionPayloadHeader, *KVStore, *Logger, ], + components.ProvideAvailibilityStore[*BeaconBlockBody, *Logger], components.ProvideAvailabilityPruner[ - *types.AvailabilityStore, *types.BeaconBlock, - *types.BeaconBlockBody, *types.BeaconBlockHeader, - *types.BlobSidecars, *types.Logger, + *AvailabilityStore, *BeaconBlock, *BeaconBlockBody, + *BeaconBlockHeader, *BlobSidecars, *Logger, ], components.ProvideBeaconDepositContract[ - *types.Deposit, *types.ExecutionPayload, - *types.ExecutionPayloadHeader, + *Deposit, *ExecutionPayload, *ExecutionPayloadHeader, ], components.ProvideBlockStore[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.Logger, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, *Logger, ], components.ProvideBlockStoreService[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.BlockStore, *types.Logger, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, + *BlockStore, *Logger, ], components.ProvideBlsSigner, components.ProvideBlobProcessor[ - *types.AvailabilityStore, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.BlobSidecar, *types.BlobSidecars, - *types.Logger, + *AvailabilityStore, *BeaconBlockBody, *BeaconBlockHeader, + *BlobSidecar, *BlobSidecars, *Logger, ], components.ProvideBlobProofVerifier, components.ProvideBlobVerifier[ - *types.BeaconBlockHeader, *types.BlobSidecar, *types.BlobSidecars, + *BeaconBlockHeader, *BlobSidecar, *BlobSidecars, ], components.ProvideChainService[ - *types.AvailabilityStore, *types.BeaconBlock, - *types.BeaconBlockBody, *types.BeaconBlockHeader, - *types.BeaconState, *types.BeaconStateMarshallable, - *types.BlobSidecars, *types.BlockStore, *types.Deposit, - *types.DepositStore, *types.ExecutionPayload, - *types.ExecutionPayloadHeader, *types.Genesis, *types.KVStore, - *types.Logger, *types.StorageBackend, + *AvailabilityStore, *BeaconBlock, *BeaconBlockBody, + *BeaconBlockHeader, *BeaconState, *BeaconStateMarshallable, + *BlobSidecars, *BlockStore, *Deposit, *DepositStore, + *ExecutionPayload, *ExecutionPayloadHeader, *Genesis, + *KVStore, *Logger, *StorageBackend, ], components.ProvideNode, components.ProvideChainSpec, @@ -87,119 +76,98 @@ func DefaultComponents() []any { // *BeaconStateMarshallable, *BlockStore, *KVStore, *StorageBackend, // ], components.ProvideDAService[ - *types.AvailabilityStore, *types.BeaconBlockBody, - *types.BlobSidecar, *types.BlobSidecars, *types.Logger, - ], - components.ProvideDBManager[ - *types.AvailabilityStore, *types.DepositStore, *types.Logger, + *AvailabilityStore, *BeaconBlockBody, *BlobSidecar, + *BlobSidecars, *Logger, ], + components.ProvideDBManager[*AvailabilityStore, *DepositStore, *Logger], components.ProvideDepositPruner[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.Deposit, *types.DepositStore, - *types.Logger, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, + *Deposit, *DepositStore, *Logger, ], components.ProvideDepositService[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.Deposit, *types.DepositContract, - *types.DepositStore, *types.ExecutionPayload, - *types.ExecutionPayloadHeader, *types.Logger, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, *Deposit, + *DepositContract, *DepositStore, *ExecutionPayload, + *ExecutionPayloadHeader, *Logger, ], - components.ProvideDepositStore[*types.Deposit], + components.ProvideDepositStore[*Deposit], components.ProvideDispatcher[ - *types.BeaconBlock, *types.BlobSidecars, *types.Genesis, - *types.Logger, + *BeaconBlock, *BlobSidecars, *Genesis, *Logger, ], components.ProvideEngineClient[ - *types.ExecutionPayload, *types.ExecutionPayloadHeader, - *types.Logger, + *ExecutionPayload, *ExecutionPayloadHeader, *Logger, ], components.ProvideExecutionEngine[ - *types.ExecutionPayload, *types.ExecutionPayloadHeader, - *types.Logger, + *ExecutionPayload, *ExecutionPayloadHeader, *Logger, ], components.ProvideJWTSecret, components.ProvideLocalBuilder[ - *types.BeaconBlockHeader, *types.BeaconState, - *types.BeaconStateMarshallable, *types.ExecutionPayload, - *types.ExecutionPayloadHeader, *types.KVStore, *types.Logger, + *BeaconBlockHeader, *BeaconState, *BeaconStateMarshallable, + *ExecutionPayload, *ExecutionPayloadHeader, *KVStore, *Logger, ], - components.ProvideReportingService[*types.Logger], - components.ProvideCometBFTService[*types.Logger], + components.ProvideReportingService[*Logger], + components.ProvideCometBFTService[*Logger], components.ProvideServiceRegistry[ - *types.AvailabilityStore, *types.BeaconBlock, - *types.BeaconBlockBody, *types.BeaconBlockHeader, *types.BlockStore, - *types.BeaconState, *types.BeaconStateMarshallable, - *types.BlobSidecar, *types.BlobSidecars, *types.Deposit, - *types.DepositStore, *types.ExecutionPayload, - *types.ExecutionPayloadHeader, *types.Genesis, *types.KVStore, - *types.Logger, types.NodeAPIContext, + *AvailabilityStore, *BeaconBlock, *BeaconBlockBody, + *BeaconBlockHeader, *BlockStore, *BeaconState, + *BeaconStateMarshallable, *BlobSidecar, *BlobSidecars, + *Deposit, *DepositStore, *ExecutionPayload, *ExecutionPayloadHeader, + *Genesis, *KVStore, *Logger, + NodeAPIContext, ], components.ProvideSidecarFactory[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, ], components.ProvideStateProcessor[ - *types.BeaconBlock, *types.BeaconBlockBody, - *types.BeaconBlockHeader, *types.BeaconState, - *types.BeaconStateMarshallable, *types.Deposit, - *types.ExecutionPayload, *types.ExecutionPayloadHeader, - *types.KVStore, - ], - components.ProvideKVStore[ - *types.BeaconBlockHeader, *types.ExecutionPayloadHeader, + *BeaconBlock, *BeaconBlockBody, *BeaconBlockHeader, + *BeaconState, *BeaconStateMarshallable, *Deposit, *ExecutionPayload, + *ExecutionPayloadHeader, *KVStore, ], + components.ProvideKVStore[*BeaconBlockHeader, *ExecutionPayloadHeader], components.ProvideStorageBackend[ - *types.AvailabilityStore, *types.BlockStore, *types.BeaconState, - *types.KVStore, *types.DepositStore, + *AvailabilityStore, *BlockStore, *BeaconState, + *KVStore, *DepositStore, ], components.ProvideTelemetrySink, components.ProvideTelemetryService, components.ProvideTrustedSetup, components.ProvideValidatorService[ - *types.AvailabilityStore, *types.BeaconBlock, - *types.BeaconBlockBody, *types.BeaconBlockHeader, - *types.BeaconState, *types.BeaconStateMarshallable, - *types.BlockStore, *types.BlobSidecars, *types.Deposit, - *types.DepositStore, *types.ExecutionPayload, - *types.ExecutionPayloadHeader, *types.KVStore, *types.Logger, - *types.StorageBackend, + *AvailabilityStore, *BeaconBlock, *BeaconBlockBody, + *BeaconBlockHeader, *BeaconState, *BeaconStateMarshallable, + *BlockStore, *BlobSidecars, *Deposit, *DepositStore, + *ExecutionPayload, *ExecutionPayloadHeader, *KVStore, *Logger, + *StorageBackend, ], // TODO Hacks components.ProvideKVStoreService, components.ProvideKVStoreKey, } c = append(c, - components.ProvideNodeAPIServer[*types.Logger, types.NodeAPIContext], + components.ProvideNodeAPIServer[*Logger, NodeAPIContext], components.ProvideNodeAPIEngine, components.ProvideNodeAPIBackend[ - *types.AvailabilityStore, *types.BeaconBlock, - *types.BeaconBlockBody, *types.BeaconBlockHeader, *types.BlockStore, - *types.BeaconState, *types.BeaconStateMarshallable, - *types.BlobSidecars, *types.Deposit, *types.DepositStore, - *types.ExecutionPayloadHeader, *types.KVStore, - *types.CometBFTService, *types.StorageBackend, + *AvailabilityStore, *BeaconBlock, *BeaconBlockBody, + *BeaconBlockHeader, *BlockStore, *BeaconState, + *BeaconStateMarshallable, *BlobSidecars, *Deposit, *DepositStore, + *ExecutionPayloadHeader, *KVStore, *CometBFTService, *StorageBackend, ], ) c = append(c, components.ProvideNodeAPIHandlers[ - *types.BeaconBlockHeader, *types.BeaconState, - *types.BeaconStateMarshallable, *types.ExecutionPayloadHeader, - *types.KVStore, types.NodeAPIContext, + *BeaconBlockHeader, *BeaconState, *BeaconStateMarshallable, + *ExecutionPayloadHeader, *KVStore, NodeAPIContext, ], components.ProvideNodeAPIBeaconHandler[ - *types.BeaconBlockHeader, *types.BeaconState, - *types.CometBFTService, types.NodeAPIContext, - ], - components.ProvideNodeAPIBuilderHandler[types.NodeAPIContext], - components.ProvideNodeAPIConfigHandler[types.NodeAPIContext], - components.ProvideNodeAPIDebugHandler[types.NodeAPIContext], - components.ProvideNodeAPIEventsHandler[types.NodeAPIContext], - components.ProvideNodeAPINodeHandler[types.NodeAPIContext], + *BeaconBlockHeader, *BeaconState, *CometBFTService, NodeAPIContext, + ], + components.ProvideNodeAPIBuilderHandler[NodeAPIContext], + components.ProvideNodeAPIConfigHandler[NodeAPIContext], + components.ProvideNodeAPIDebugHandler[NodeAPIContext], + components.ProvideNodeAPIEventsHandler[NodeAPIContext], + components.ProvideNodeAPINodeHandler[NodeAPIContext], components.ProvideNodeAPIProofHandler[ - *types.BeaconBlockHeader, *types.BeaconState, - *types.BeaconStateMarshallable, *types.ExecutionPayloadHeader, - *types.KVStore, *types.CometBFTService, types.NodeAPIContext, + *BeaconBlockHeader, *BeaconState, *BeaconStateMarshallable, + *ExecutionPayloadHeader, *KVStore, *CometBFTService, NodeAPIContext, ], ) diff --git a/beacond/cmd/main.go b/beacond/cmd/main.go index a7b1118c45..d30d80302a 100644 --- a/beacond/cmd/main.go +++ b/beacond/cmd/main.go @@ -24,7 +24,6 @@ import ( "log/slog" "os" - "github.com/berachain/beacon-kit/beacond/cmd/types" clibuilder "github.com/berachain/beacon-kit/mod/cli/pkg/builder" clicomponents "github.com/berachain/beacon-kit/mod/cli/pkg/components" nodebuilder "github.com/berachain/beacon-kit/mod/node-core/pkg/builder" @@ -45,7 +44,7 @@ func run() error { // Build the node using the node-core. nb := nodebuilder.New( // Set the Runtime Components to the Default. - nodebuilder.WithComponents[Node, *types.Logger, *types.LoggerConfig]( + nodebuilder.WithComponents[Node, *Logger, *LoggerConfig]( DefaultComponents(), ), ) @@ -53,19 +52,15 @@ func run() error { // Build the root command using the builder cb := clibuilder.New( // Set the Name to the Default. - clibuilder.WithName[Node, *types.ExecutionPayload, *types.Logger]( + clibuilder.WithName[Node, *ExecutionPayload, *Logger]( "beacond", ), // Set the Description to the Default. - clibuilder.WithDescription[ - Node, *types.ExecutionPayload, *types.Logger, - ]( + clibuilder.WithDescription[Node, *ExecutionPayload, *Logger]( "A basic beacon node, usable most standard networks.", ), // Set the Runtime Components to the Default. - clibuilder.WithComponents[ - Node, *types.ExecutionPayload, *types.Logger, - ]( + clibuilder.WithComponents[Node, *ExecutionPayload, *Logger]( append( clicomponents.DefaultClientComponents(), // TODO: remove these, and eventually pull cfg and chainspec @@ -75,7 +70,7 @@ func run() error { ), // Set the NodeBuilderFunc to the NodeBuilder Build. clibuilder.WithNodeBuilderFunc[ - Node, *types.ExecutionPayload, *types.Logger, + Node, *ExecutionPayload, *Logger, ](nb.Build), ) diff --git a/beacond/cmd/types/types.go b/beacond/cmd/types.go similarity index 99% rename from beacond/cmd/types/types.go rename to beacond/cmd/types.go index 2b36a38606..32f851a73e 100644 --- a/beacond/cmd/types/types.go +++ b/beacond/cmd/types.go @@ -18,7 +18,7 @@ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND // TITLE. -package types +package main import ( "cosmossdk.io/core/appmodule/v2" diff --git a/beacond/go.mod b/beacond/go.mod index acf0653f63..d7015c1740 100644 --- a/beacond/go.mod +++ b/beacond/go.mod @@ -29,7 +29,7 @@ require ( github.com/berachain/beacon-kit/mod/beacon v0.0.0-20240821052951-c15422305b4e github.com/berachain/beacon-kit/mod/cli v0.0.0-20240822173558-4e2a8018ae21 github.com/berachain/beacon-kit/mod/consensus v0.0.0-20240821053614-036c5d2945f0 - github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f + github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 github.com/berachain/beacon-kit/mod/da v0.0.0-20240820191615-398849c34954 github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 github.com/berachain/beacon-kit/mod/execution v0.0.0-20240820191615-398849c34954 diff --git a/beacond/go.sum b/beacond/go.sum index 8d6dba0605..9d3518638d 100644 --- a/beacond/go.sum +++ b/beacond/go.sum @@ -78,8 +78,8 @@ github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 h1: github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8/go.mod h1:3wR01SglBZ+HvDvhbugz/Mxem22JUThJRwo2Ec8Q0No= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df h1:mnD1LKqDQ0n+OFdDqOuvKaEiUKRJzsO4V0wyyn/gJYg= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df/go.mod h1:bTFB4Rdvm7D/WdwPYkqQ+8T0XOMBv0pzXfp1E46BFX8= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f h1:Vzglhdv60M7LBS3FBuqK0eUX8vYJBJnL/RwYpxUswpo= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f/go.mod h1:cZd8cFZ+ylhh3/NUbrdXO2ri1/7KOaYBjo1B8MgbgMM= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 h1:pTvESOpJ0a6oCV81+pec+zoTBmojZ8C1+7fd4HtKpbI= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685/go.mod h1:jduqdSJEtO5eL43l/MpfnIK81o81m10wzt6Gb++Qi9M= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 h1:rVltwwt4JAhpvqeRDZ8J07e9XM+jzfDCJEghPA4r5lg= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720/go.mod h1:kGxAesqTkt75+QYQ73O9I5PqAicSL9JGh5wypiWgb8I= github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 h1:kCSrkb/uVXfMKJPKjf0c7nlJkwn5cNwMxtzRW4zNq2A= diff --git a/mod/cli/go.mod b/mod/cli/go.mod index 902aea988f..de6cd6c740 100644 --- a/mod/cli/go.mod +++ b/mod/cli/go.mod @@ -24,7 +24,7 @@ require ( cosmossdk.io/depinject v1.0.0 github.com/berachain/beacon-kit/mod/config v0.0.0-20240705193247-d464364483df github.com/berachain/beacon-kit/mod/consensus v0.0.0-20240821053614-036c5d2945f0 - github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f + github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 github.com/berachain/beacon-kit/mod/geth-primitives v0.0.0-20240806160829-cde2d1347e7e diff --git a/mod/cli/go.sum b/mod/cli/go.sum index c3a2c255a3..e5f1926983 100644 --- a/mod/cli/go.sum +++ b/mod/cli/go.sum @@ -78,8 +78,8 @@ github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 h1: github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8/go.mod h1:3wR01SglBZ+HvDvhbugz/Mxem22JUThJRwo2Ec8Q0No= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df h1:mnD1LKqDQ0n+OFdDqOuvKaEiUKRJzsO4V0wyyn/gJYg= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df/go.mod h1:bTFB4Rdvm7D/WdwPYkqQ+8T0XOMBv0pzXfp1E46BFX8= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f h1:Vzglhdv60M7LBS3FBuqK0eUX8vYJBJnL/RwYpxUswpo= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f/go.mod h1:cZd8cFZ+ylhh3/NUbrdXO2ri1/7KOaYBjo1B8MgbgMM= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 h1:pTvESOpJ0a6oCV81+pec+zoTBmojZ8C1+7fd4HtKpbI= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685/go.mod h1:jduqdSJEtO5eL43l/MpfnIK81o81m10wzt6Gb++Qi9M= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 h1:rVltwwt4JAhpvqeRDZ8J07e9XM+jzfDCJEghPA4r5lg= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720/go.mod h1:kGxAesqTkt75+QYQ73O9I5PqAicSL9JGh5wypiWgb8I= github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 h1:kCSrkb/uVXfMKJPKjf0c7nlJkwn5cNwMxtzRW4zNq2A= diff --git a/mod/config/go.mod b/mod/config/go.mod index c5a7ed3023..5cd315ed99 100644 --- a/mod/config/go.mod +++ b/mod/config/go.mod @@ -39,7 +39,7 @@ require ( github.com/VictoriaMetrics/fastcache v1.12.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 // indirect - github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f // indirect + github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240806160829-cde2d1347e7e // indirect github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 // indirect github.com/bits-and-blooms/bitset v1.13.0 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.3 // indirect diff --git a/mod/config/go.sum b/mod/config/go.sum index b38bcbfa71..fae052b798 100644 --- a/mod/config/go.sum +++ b/mod/config/go.sum @@ -24,8 +24,8 @@ github.com/berachain/beacon-kit/mod/beacon v0.0.0-20240821052951-c15422305b4e h1 github.com/berachain/beacon-kit/mod/beacon v0.0.0-20240821052951-c15422305b4e/go.mod h1:hyB6jdTwCalJ6IMwCtYOXjXrqIg3T1QruIzs4NPrNkw= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df h1:mnD1LKqDQ0n+OFdDqOuvKaEiUKRJzsO4V0wyyn/gJYg= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df/go.mod h1:bTFB4Rdvm7D/WdwPYkqQ+8T0XOMBv0pzXfp1E46BFX8= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f h1:Vzglhdv60M7LBS3FBuqK0eUX8vYJBJnL/RwYpxUswpo= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f/go.mod h1:cZd8cFZ+ylhh3/NUbrdXO2ri1/7KOaYBjo1B8MgbgMM= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240806160829-cde2d1347e7e h1:GTeZshNZaH5MnVhSSGj//vxJfv1kM9d6w2CA7O64gJk= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240806160829-cde2d1347e7e/go.mod h1:ZU1bq1BMt6b0kPRAw+A3kP7FlSd5DSQNYePD5qL9zfQ= github.com/berachain/beacon-kit/mod/da v0.0.0-20240610210054-bfdc14c4013c h1:WKjF2xYQ3jwTNauJbs34bTzCgf49uHYy7/f+z1DfmyI= github.com/berachain/beacon-kit/mod/da v0.0.0-20240610210054-bfdc14c4013c/go.mod h1:4hmlXJkl1cwCnZvEISy4K2x9Z7O3Pgtijz1HS/P/uY8= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 h1:rVltwwt4JAhpvqeRDZ8J07e9XM+jzfDCJEghPA4r5lg= diff --git a/mod/consensus-types/pkg/types/payload_header.go b/mod/consensus-types/pkg/types/payload_header.go index 0b2feb121f..a2c046cb53 100644 --- a/mod/consensus-types/pkg/types/payload_header.go +++ b/mod/consensus-types/pkg/types/payload_header.go @@ -82,9 +82,7 @@ type ExecutionPayloadHeader struct { // Empty returns an empty ExecutionPayload for the given fork version. func (h *ExecutionPayloadHeader) Empty() *ExecutionPayloadHeader { - return &ExecutionPayloadHeader{ - BaseFeePerGas: &uint256.Int{}, - } + return &ExecutionPayloadHeader{} } // NewFromSSZ returns a new ExecutionPayloadHeader from the given SSZ bytes. diff --git a/mod/consensus/go.mod b/mod/consensus/go.mod index 4800e1ebca..2ebd673de3 100644 --- a/mod/consensus/go.mod +++ b/mod/consensus/go.mod @@ -19,7 +19,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 github.com/berachain/beacon-kit/mod/cli v0.0.0-00010101000000-000000000000 - github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f + github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 github.com/berachain/beacon-kit/mod/log v0.0.0-20240821000339-4d4242ba4a50 github.com/berachain/beacon-kit/mod/primitives v0.0.0-20240911165923-82f71ec86570 diff --git a/mod/consensus/go.sum b/mod/consensus/go.sum index a3cbe80384..6c6bbab6c2 100644 --- a/mod/consensus/go.sum +++ b/mod/consensus/go.sum @@ -74,8 +74,8 @@ github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 h1: github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8/go.mod h1:3wR01SglBZ+HvDvhbugz/Mxem22JUThJRwo2Ec8Q0No= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df h1:mnD1LKqDQ0n+OFdDqOuvKaEiUKRJzsO4V0wyyn/gJYg= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df/go.mod h1:bTFB4Rdvm7D/WdwPYkqQ+8T0XOMBv0pzXfp1E46BFX8= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f h1:Vzglhdv60M7LBS3FBuqK0eUX8vYJBJnL/RwYpxUswpo= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f/go.mod h1:cZd8cFZ+ylhh3/NUbrdXO2ri1/7KOaYBjo1B8MgbgMM= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 h1:pTvESOpJ0a6oCV81+pec+zoTBmojZ8C1+7fd4HtKpbI= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685/go.mod h1:jduqdSJEtO5eL43l/MpfnIK81o81m10wzt6Gb++Qi9M= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 h1:rVltwwt4JAhpvqeRDZ8J07e9XM+jzfDCJEghPA4r5lg= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720/go.mod h1:kGxAesqTkt75+QYQ73O9I5PqAicSL9JGh5wypiWgb8I= github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 h1:kCSrkb/uVXfMKJPKjf0c7nlJkwn5cNwMxtzRW4zNq2A= diff --git a/mod/node-api/go.mod b/mod/node-api/go.mod index 472bd8a0ae..6ebf06e7ee 100644 --- a/mod/node-api/go.mod +++ b/mod/node-api/go.mod @@ -4,7 +4,6 @@ go 1.23.0 require ( github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 - github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 github.com/berachain/beacon-kit/mod/log v0.0.0-20240807213340-5779c7a563cd github.com/berachain/beacon-kit/mod/primitives v0.0.0-20240911165923-82f71ec86570 @@ -83,6 +82,7 @@ require ( github.com/yusufpapurcu/wmi v1.2.4 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect + golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.24.0 // indirect golang.org/x/text v0.17.0 // indirect diff --git a/mod/node-api/go.sum b/mod/node-api/go.sum index 94d0654413..fbd7b5a809 100644 --- a/mod/node-api/go.sum +++ b/mod/node-api/go.sum @@ -12,8 +12,6 @@ github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8 h1: github.com/berachain/beacon-kit/mod/async v0.0.0-20240821213929-f32b8e2dc5c8/go.mod h1:3wR01SglBZ+HvDvhbugz/Mxem22JUThJRwo2Ec8Q0No= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df h1:mnD1LKqDQ0n+OFdDqOuvKaEiUKRJzsO4V0wyyn/gJYg= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df/go.mod h1:bTFB4Rdvm7D/WdwPYkqQ+8T0XOMBv0pzXfp1E46BFX8= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f h1:Vzglhdv60M7LBS3FBuqK0eUX8vYJBJnL/RwYpxUswpo= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f/go.mod h1:cZd8cFZ+ylhh3/NUbrdXO2ri1/7KOaYBjo1B8MgbgMM= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240808194557-e72e74f58197 h1:wVWkiiERY/7kaXvE/VNPPUtYp/l8ky6QSuKM3ThVMXU= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240808194557-e72e74f58197/go.mod h1:LiOiqrJhhLH/GPo0XE5fel3EYyi7X6dwBOyTqZakTeQ= github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 h1:kCSrkb/uVXfMKJPKjf0c7nlJkwn5cNwMxtzRW4zNq2A= diff --git a/mod/node-api/handlers/proof/merkle/beacon_state.go b/mod/node-api/handlers/proof/merkle/beacon_state.go index b4d035aeee..bef6b69335 100644 --- a/mod/node-api/handlers/proof/merkle/beacon_state.go +++ b/mod/node-api/handlers/proof/merkle/beacon_state.go @@ -21,16 +21,14 @@ package merkle import ( - "github.com/berachain/beacon-kit/mod/errors" "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/types" "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/berachain/beacon-kit/mod/primitives/pkg/encoding/ssz/merkle" ) // ProveBeaconStateInBlock generates a proof for the beacon state in the // beacon block. It uses the fastssz library to generate the proof. func ProveBeaconStateInBlock( - bbh types.BeaconBlockHeader, verifyProof bool, + bbh types.BeaconBlockHeader, ) ([]common.Root, error) { blockProofTree, err := bbh.GetTree() if err != nil { @@ -44,37 +42,7 @@ func ProveBeaconStateInBlock( proof := make([]common.Root, len(stateInBlockProof.Hashes)) for i, hash := range stateInBlockProof.Hashes { - proof[i] = common.NewRootFromBytes(hash) - } - - if verifyProof { - if err = verifyBeaconStateInBlock( - bbh, proof, common.NewRootFromBytes(stateInBlockProof.Leaf), - ); err != nil { - return nil, err - } + proof[i] = common.Root(hash) } - return proof, nil } - -// verifyBeaconStateInBlock verifies the beacon state proof in the block. -// -// TODO: verifying the proof is not absolutely necessary. -func verifyBeaconStateInBlock( - bbh types.BeaconBlockHeader, - proof []common.Root, - leaf common.Root, -) error { - beaconRoot := bbh.HashTreeRoot() - if beaconRootVerified, err := merkle.VerifyProof( - StateGIndexDenebBlock, leaf, proof, beaconRoot, - ); err != nil { - return err - } else if !beaconRootVerified { - return errors.New( - "beacon state proof failed to verify against beacon root", - ) - } - return nil -} diff --git a/mod/node-api/handlers/proof/merkle/beacon_state_test.go b/mod/node-api/handlers/proof/merkle/beacon_state_test.go deleted file mode 100644 index 1595469521..0000000000 --- a/mod/node-api/handlers/proof/merkle/beacon_state_test.go +++ /dev/null @@ -1,76 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package merkle_test - -import ( - "testing" - - "github.com/berachain/beacon-kit/mod/consensus-types/pkg/types" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle" - "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/berachain/beacon-kit/mod/primitives/pkg/math" - "github.com/stretchr/testify/require" -) - -// TestProveBeaconStateInBlock tests the ProveBeaconStateInBlock function and -// that the generated proof correctly verifies. -func TestProveBeaconStateInBlock(t *testing.T) { - bbh := (&types.BeaconBlockHeader{}).Empty() - - testCases := []struct { - name string - slot math.Slot - proposerIndex math.ValidatorIndex - parentBlockRoot common.Root - bodyRoot common.Root - stateRoot common.Root - expectedProofFile string - }{ - { - name: "Empty block with non-empty state root", - stateRoot: common.Root{1, 2, 3, 4, 5, 6, 7, 8, 9}, - expectedProofFile: "empty_state_proof.json", - }, - { - name: "Non-empty block with empty state root", - slot: 4, - proposerIndex: 5, - parentBlockRoot: common.Root{1, 2, 3, 4, 5, 6, 7, 8, 9}, - bodyRoot: common.Root{9, 8, 7, 6, 5, 4, 3, 2, 1}, - expectedProofFile: "non_empty_state_proof.json", - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - bbh.SetSlot(tc.slot) - bbh.SetProposerIndex(tc.proposerIndex) - bbh.SetParentBlockRoot(tc.parentBlockRoot) - bbh.SetBodyRoot(tc.bodyRoot) - bbh.SetStateRoot(tc.stateRoot) - - proof, err := merkle.ProveBeaconStateInBlock(bbh, true) - require.NoError(t, err) - expectedProof := ReadProofFromFile(t, tc.expectedProofFile) - require.Equal(t, expectedProof, proof) - }) - } -} diff --git a/mod/node-api/handlers/proof/merkle/block_proposer.go b/mod/node-api/handlers/proof/merkle/block_proposer.go index 75df850f45..3c2828b134 100644 --- a/mod/node-api/handlers/proof/merkle/block_proposer.go +++ b/mod/node-api/handlers/proof/merkle/block_proposer.go @@ -53,7 +53,7 @@ func ProveProposerInBlock[ } // Then get the proof of the beacon state in the beacon block. - stateInBlockProof, err := ProveBeaconStateInBlock(bbh, false) + stateInBlockProof, err := ProveBeaconStateInBlock(bbh) if err != nil { return nil, common.Root{}, err } @@ -102,9 +102,9 @@ func ProveProposerPubkeyInState[ proof := make([]common.Root, len(valPubkeyInStateProof.Hashes)) for i, hash := range valPubkeyInStateProof.Hashes { - proof[i] = common.NewRootFromBytes(hash) + proof[i] = common.Root(hash) } - return proof, common.NewRootFromBytes(valPubkeyInStateProof.Leaf), nil + return proof, common.Root(valPubkeyInStateProof.Leaf), nil } // verifyProposerInBlock verifies the proposer pubkey in the beacon block, diff --git a/mod/node-api/handlers/proof/merkle/block_proposer_test.go b/mod/node-api/handlers/proof/merkle/block_proposer_test.go deleted file mode 100644 index fde1caf490..0000000000 --- a/mod/node-api/handlers/proof/merkle/block_proposer_test.go +++ /dev/null @@ -1,97 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package merkle_test - -import ( - "testing" - - "github.com/berachain/beacon-kit/mod/consensus-types/pkg/types" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle/mock" - "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/berachain/beacon-kit/mod/primitives/pkg/crypto" - "github.com/berachain/beacon-kit/mod/primitives/pkg/math" - "github.com/stretchr/testify/require" -) - -// TestBlockProposerProof tests the ProveProposerInBlock function and -// that the generated proof correctly verifies. -func TestBlockProposerProof(t *testing.T) { - testCases := []struct { - name string - numValidators int - slot math.Slot - proposerIndex math.ValidatorIndex - parentBlockRoot common.Root - bodyRoot common.Root - pubKey crypto.BLSPubkey - expectedProofFile string - }{ - { - name: "1 Validator Set", - numValidators: 1, - slot: 4, - proposerIndex: 0, - parentBlockRoot: common.Root{1, 2, 3}, - bodyRoot: common.Root{3, 2, 1}, - pubKey: [48]byte{9, 8, 7, 6, 5, 4, 3, 2, 1}, - expectedProofFile: "one_validator_proposer_proof.json", - }, - { - name: "Many Validator Set", - numValidators: 100, - slot: 5, - proposerIndex: 95, - parentBlockRoot: common.Root{1, 2, 3, 4, 5, 6}, - bodyRoot: common.Root{3, 2, 1, 9, 8, 7}, - pubKey: [48]byte{9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2}, - expectedProofFile: "many_validators_proposer_proof.json", - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - vals := make(types.Validators, tc.numValidators) - for i := range vals { - vals[i] = &types.Validator{} - } - vals[tc.proposerIndex] = &types.Validator{Pubkey: tc.pubKey} - - bs, err := mock.NewBeaconState( - tc.slot, vals, 0, common.ExecutionAddress{}, - ) - require.NoError(t, err) - - bbh := (&types.BeaconBlockHeader{}).New( - tc.slot, - tc.proposerIndex, - tc.parentBlockRoot, - bs.HashTreeRoot(), - tc.bodyRoot, - ) - - proof, _, err := merkle.ProveProposerInBlock(bbh, bs) - require.NoError(t, err) - expectedProof := ReadProofFromFile(t, tc.expectedProofFile) - require.Equal(t, expectedProof, proof) - }) - } -} diff --git a/mod/node-api/handlers/proof/merkle/constants_test.go b/mod/node-api/handlers/proof/merkle/constants_test.go deleted file mode 100644 index 6f31fe5840..0000000000 --- a/mod/node-api/handlers/proof/merkle/constants_test.go +++ /dev/null @@ -1,233 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package merkle_test - -import ( - "testing" - - "github.com/berachain/beacon-kit/mod/consensus-types/pkg/types" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle" - mlib "github.com/berachain/beacon-kit/mod/primitives/pkg/encoding/ssz/merkle" - "github.com/berachain/beacon-kit/mod/primitives/pkg/encoding/ssz/schema" - "github.com/stretchr/testify/require" -) - -var ( - // beaconStateSchema is the schema for the BeaconState struct defined in - // beacon-kit/mod/consensus-types/pkg/types/state.go. - beaconStateSchema = schema.DefineContainer( - schema.NewField("GenesisValidatorsRoot", schema.B32()), - schema.NewField("Slot", schema.U64()), - schema.NewField("Fork", schema.DefineContainer( - schema.NewField("PreviousVersion", schema.B4()), - schema.NewField("CurrentVersion", schema.B4()), - schema.NewField("Epoch", schema.U64()), - )), - schema.NewField("LatestBlockHeader", schema.DefineContainer( - schema.NewField("Slot", schema.U64()), - schema.NewField("ProposerIndex", schema.U64()), - schema.NewField("ParentBlockRoot", schema.B32()), - schema.NewField("StateRoot", schema.B32()), - schema.NewField("BodyRoot", schema.B32()), - )), - schema.NewField("BlockRoots", schema.DefineList(schema.B32(), 8192)), - schema.NewField("StateRoots", schema.DefineList(schema.B32(), 8192)), - schema.NewField("Eth1Data", schema.DefineContainer( - schema.NewField("DepositRoot", schema.B32()), - schema.NewField("DepositCount", schema.U64()), - schema.NewField("BlockHash", schema.B32()), - )), - schema.NewField("Eth1DepositIndex", schema.U64()), - schema.NewField("LatestExecutionPayloadHeader", schema.DefineContainer( - schema.NewField("ParentHash", schema.B32()), - schema.NewField("FeeRecipient", schema.B20()), - schema.NewField("StateRoot", schema.B32()), - schema.NewField("ReceiptsRoot", schema.B32()), - schema.NewField("LogsBloom", schema.B256()), - schema.NewField("Random", schema.U64()), - schema.NewField("Number", schema.U64()), - schema.NewField("GasLimit", schema.U64()), - schema.NewField("GasUsed", schema.U64()), - schema.NewField("Timestamp", schema.U64()), - schema.NewField("ExtraData", schema.DefineByteList(32)), - schema.NewField("BaseFeePerGas", schema.B32()), - schema.NewField("BlockHash", schema.B32()), - schema.NewField("TransactionsRoot", schema.B32()), - schema.NewField("WithdrawalsRoot", schema.B32()), - schema.NewField("BlobGasUsed", schema.U64()), - schema.NewField("ExcessBlobGas", schema.U64()), - )), - schema.NewField("Validators", schema.DefineList(schema.DefineContainer( - schema.NewField("Pubkey", schema.B48()), - schema.NewField("WithdrawalCredentials", schema.B32()), - schema.NewField("EffectiveBalance", schema.U64()), - schema.NewField("Slashed", schema.Bool()), - schema.NewField("ActivationEligibilityEpoch", schema.U64()), - schema.NewField("ActivationEpoch", schema.U64()), - schema.NewField("ExitEpoch", schema.U64()), - schema.NewField("WithdrawableEpoch", schema.U64()), - ), types.MaxValidators)), - schema.NewField( - "Balances", schema.DefineList(schema.U64(), types.MaxValidators), - ), - schema.NewField("RandaoMixes", schema.DefineList(schema.B32(), 65536)), - schema.NewField("NextWithdrawalIndex", schema.U64()), - schema.NewField("NextWithdrawalValidatorIndex", schema.U64()), - schema.NewField( - "Slashings", schema.DefineList(schema.U64(), types.MaxValidators), - ), - schema.NewField("TotalSlashing", schema.U64()), - ) - - // beaconHeaderSchema is the schema for the BeaconBlockHeader struct defined - // in beacon-kit/mod/consensus-types/pkg/types/header.go, with the SSZ - // expansion of StateRoot to use the BeaconState. - beaconHeaderSchema = schema.DefineContainer( - schema.NewField("Slot", schema.U64()), - schema.NewField("ProposerIndex", schema.U64()), - schema.NewField("ParentRoot", schema.B32()), - schema.NewField("State", beaconStateSchema), - schema.NewField("BodyRoot", schema.B32()), - ) -) - -// TestGIndicesValidatorPubkeyDeneb tests the generalized indices used by -// beacon state proofs for validator pubkeys on the Deneb fork. -func TestGIndicesValidatorPubkeyDeneb(t *testing.T) { - // GIndex of state in the block. - _, stateGIndexDenebBlock, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("State").GetGeneralizedIndex(beaconHeaderSchema) - require.NoError(t, err) - require.Equal(t, merkle.StateGIndexDenebBlock, int(stateGIndexDenebBlock)) - - // GIndex of the 0 validator's pubkey in the state. - _, zeroValidatorPubkeyGIndexDenebState, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("Validators/0/Pubkey").GetGeneralizedIndex(beaconStateSchema) - require.NoError(t, err) - require.Equal(t, - merkle.ZeroValidatorPubkeyGIndexDenebState, - int(zeroValidatorPubkeyGIndexDenebState), - ) - - // GIndex of the 0 validator's pubkey in the block. - _, zeroValidatorPubkeyGIndexDenebBlock, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("State/Validators/0/Pubkey").GetGeneralizedIndex(beaconHeaderSchema) - require.NoError(t, err) - require.Equal(t, - merkle.ZeroValidatorPubkeyGIndexDenebBlock, - int(zeroValidatorPubkeyGIndexDenebBlock), - ) - - // Concatenation is consistent. - concatValidatorPubkeyStateToBlock := mlib.GeneralizedIndices{ - stateGIndexDenebBlock, - zeroValidatorPubkeyGIndexDenebState, - }.Concat() - require.Equal(t, - zeroValidatorPubkeyGIndexDenebBlock, - concatValidatorPubkeyStateToBlock, - ) - - // GIndex offset of the next validator's pubkey. - _, oneValidatorPubkeyGIndexDenebState, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("Validators/1/Pubkey").GetGeneralizedIndex(beaconStateSchema) - require.NoError(t, err) - require.Equal(t, - mlib.GeneralizedIndex(merkle.ValidatorPubkeyGIndexOffset), - oneValidatorPubkeyGIndexDenebState-zeroValidatorPubkeyGIndexDenebState, - ) -} - -// TestGInidicesExecutionDeneb tests the generalized indices used by -// beacon state proofs from the execution payload header on the Deneb fork. -func TestGInidicesExecutionDeneb(t *testing.T) { - // GIndex of the execution number in the state. - _, executionNumberGIndexDenebState, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("LatestExecutionPayloadHeader/Number").GetGeneralizedIndex( - beaconStateSchema, - ) - require.NoError(t, err) - require.Equal(t, - merkle.ExecutionNumberGIndexDenebState, - int(executionNumberGIndexDenebState), - ) - - // GIndex of the execution number in the block. - _, executionNumberGIndexDenebBlock, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("State/LatestExecutionPayloadHeader/Number").GetGeneralizedIndex( - beaconHeaderSchema, - ) - require.NoError(t, err) - require.Equal(t, - merkle.ExecutionNumberGIndexDenebBlock, - int(executionNumberGIndexDenebBlock), - ) - - // Concatenation is consistent. - concatExecutionNumberStateToBlock := mlib.GeneralizedIndices{ - merkle.StateGIndexDenebBlock, - executionNumberGIndexDenebState, - }.Concat() - require.Equal(t, - executionNumberGIndexDenebBlock, - concatExecutionNumberStateToBlock, - ) - - // GIndex of the execution fee recipient in the state. - _, executionFeeRecipientGIndexDenebState, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("LatestExecutionPayloadHeader/FeeRecipient").GetGeneralizedIndex( - beaconStateSchema, - ) - require.NoError(t, err) - require.Equal(t, - merkle.ExecutionFeeRecipientGIndexDenebState, - int(executionFeeRecipientGIndexDenebState), - ) - - // GIndex of the execution fee recipient in the block. - _, executionFeeRecipientGIndexDenebBlock, _, err := mlib.ObjectPath[ - mlib.GeneralizedIndex, [32]byte, - ]("State/LatestExecutionPayloadHeader/FeeRecipient").GetGeneralizedIndex( - beaconHeaderSchema, - ) - require.NoError(t, err) - require.Equal(t, - merkle.ExecutionFeeRecipientGIndexDenebBlock, - int(executionFeeRecipientGIndexDenebBlock), - ) - - // Concatenation is consistent. - concatExecutionFeeRecipientStateToBlock := mlib.GeneralizedIndices{ - merkle.StateGIndexDenebBlock, - executionFeeRecipientGIndexDenebState, - }.Concat() - require.Equal(t, - executionFeeRecipientGIndexDenebBlock, - concatExecutionFeeRecipientStateToBlock, - ) -} diff --git a/mod/node-api/handlers/proof/merkle/execution_fee_recipient.go b/mod/node-api/handlers/proof/merkle/execution_fee_recipient.go index 1425fbdef3..a3e1303514 100644 --- a/mod/node-api/handlers/proof/merkle/execution_fee_recipient.go +++ b/mod/node-api/handlers/proof/merkle/execution_fee_recipient.go @@ -51,7 +51,7 @@ func ProveExecutionFeeRecipientInBlock[ } // Then get the proof of the beacon state in the beacon block. - stateInBlockProof, err := ProveBeaconStateInBlock(bbh, false) + stateInBlockProof, err := ProveBeaconStateInBlock(bbh) if err != nil { return nil, common.Root{}, err } @@ -100,9 +100,9 @@ func ProveExecutionFeeRecipientInState[ proof := make([]common.Root, len(feeRecipientInStateProof.Hashes)) for i, hash := range feeRecipientInStateProof.Hashes { - proof[i] = common.NewRootFromBytes(hash) + proof[i] = common.Root(hash) } - return proof, common.NewRootFromBytes(feeRecipientInStateProof.Leaf), nil + return proof, common.Root(feeRecipientInStateProof.Leaf), nil } // verifyExecutionFeeRecipientInBlock verifies the execution fee recipient in diff --git a/mod/node-api/handlers/proof/merkle/execution_fee_recipient_test.go b/mod/node-api/handlers/proof/merkle/execution_fee_recipient_test.go deleted file mode 100644 index 55fcaa0049..0000000000 --- a/mod/node-api/handlers/proof/merkle/execution_fee_recipient_test.go +++ /dev/null @@ -1,91 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package merkle_test - -import ( - "testing" - - "github.com/berachain/beacon-kit/mod/consensus-types/pkg/types" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle/mock" - "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/berachain/beacon-kit/mod/primitives/pkg/math" - "github.com/stretchr/testify/require" -) - -// TestExecutionFeeRecipientProof tests the ProveExecutionFeeRecipientInBlock -// function and that the generated proof correctly verifies. -func TestExecutionFeeRecipientProof(t *testing.T) { - var proof []common.Root - - testCases := []struct { - name string - slot math.Slot - proposerIndex math.ValidatorIndex - parentBlockRoot common.Root - bodyRoot common.Root - executionFeeRecipient common.ExecutionAddress - expectedProofFile string - }{ - { - name: "Empty Fee Recipient", - slot: 4, - proposerIndex: 0, - parentBlockRoot: common.Root{1, 2, 3}, - bodyRoot: common.Root{3, 2, 1}, - executionFeeRecipient: common.ExecutionAddress{}, - expectedProofFile: "empty_fee_recipient_proof.json", - }, - { - name: "Non-empty Fee Recipient", - slot: 5, - proposerIndex: 95, - parentBlockRoot: common.Root{1, 2, 3, 4, 5, 6}, - bodyRoot: common.Root{3, 2, 1, 9, 8, 7}, - executionFeeRecipient: common.NewExecutionAddressFromHex( - "0x20f33ce90a13a4b5e7697e3544c3083b8f8a51d4", - ), - expectedProofFile: "non_empty_fee_recipient_proof.json", - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - bs, err := mock.NewBeaconState( - tc.slot, nil, 0, tc.executionFeeRecipient, - ) - require.NoError(t, err) - - bbh := (&types.BeaconBlockHeader{}).New( - tc.slot, - tc.proposerIndex, - tc.parentBlockRoot, - bs.HashTreeRoot(), - tc.bodyRoot, - ) - - proof, _, err = merkle.ProveExecutionFeeRecipientInBlock(bbh, bs) - require.NoError(t, err) - expectedProof := ReadProofFromFile(t, tc.expectedProofFile) - require.Equal(t, expectedProof, proof) - }) - } -} diff --git a/mod/node-api/handlers/proof/merkle/execution_number.go b/mod/node-api/handlers/proof/merkle/execution_number.go index c98d69d1f2..ffbb0c92ce 100644 --- a/mod/node-api/handlers/proof/merkle/execution_number.go +++ b/mod/node-api/handlers/proof/merkle/execution_number.go @@ -51,7 +51,7 @@ func ProveExecutionNumberInBlock[ } // Then get the proof of the beacon state in the beacon block. - stateInBlockProof, err := ProveBeaconStateInBlock(bbh, false) + stateInBlockProof, err := ProveBeaconStateInBlock(bbh) if err != nil { return nil, common.Root{}, err } @@ -97,9 +97,9 @@ func ProveExecutionNumberInState[ proof := make([]common.Root, len(numberInStateProof.Hashes)) for i, hash := range numberInStateProof.Hashes { - proof[i] = common.NewRootFromBytes(hash) + proof[i] = common.Root(hash) } - return proof, common.NewRootFromBytes(numberInStateProof.Leaf), nil + return proof, common.Root(numberInStateProof.Leaf), nil } // verifyExecutionNumberInBlock verifies the execution number in the beacon diff --git a/mod/node-api/handlers/proof/merkle/execution_number_test.go b/mod/node-api/handlers/proof/merkle/execution_number_test.go deleted file mode 100644 index 41632db339..0000000000 --- a/mod/node-api/handlers/proof/merkle/execution_number_test.go +++ /dev/null @@ -1,90 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package merkle_test - -import ( - "testing" - - "github.com/berachain/beacon-kit/mod/consensus-types/pkg/types" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle" - "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/merkle/mock" - "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/berachain/beacon-kit/mod/primitives/pkg/math" - "github.com/stretchr/testify/require" -) - -// TestExecutionNumberProof tests the ProveExecutionNumberInBlock -// function and that the generated proof correctly verifies. -func TestExecutionNumberProof(t *testing.T) { - var proof []common.Root - - testCases := []struct { - name string - slot math.Slot - proposerIndex math.ValidatorIndex - parentBlockRoot common.Root - bodyRoot common.Root - executionNumber math.U64 - expectedProof []common.Root - expectedProofFile string - }{ - { - name: "Empty Execution Number", - slot: 4, - proposerIndex: 0, - parentBlockRoot: common.Root{1, 2, 3}, - bodyRoot: common.Root{3, 2, 1}, - executionNumber: 0, - expectedProofFile: "empty_execution_number_proof.json", - }, - { - name: "Non-empty Execution Number", - slot: 5, - proposerIndex: 95, - parentBlockRoot: common.Root{1, 2, 3, 4, 5, 6}, - bodyRoot: common.Root{3, 2, 1, 9, 8, 7}, - executionNumber: 69420, - expectedProofFile: "non_empty_execution_number_proof.json", - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - bs, err := mock.NewBeaconState( - tc.slot, nil, tc.executionNumber, common.ExecutionAddress{}, - ) - require.NoError(t, err) - - bbh := (&types.BeaconBlockHeader{}).New( - tc.slot, - tc.proposerIndex, - tc.parentBlockRoot, - bs.HashTreeRoot(), - tc.bodyRoot, - ) - - proof, _, err = merkle.ProveExecutionNumberInBlock(bbh, bs) - require.NoError(t, err) - expectedProof := ReadProofFromFile(t, tc.expectedProofFile) - require.Equal(t, expectedProof, proof) - }) - } -} diff --git a/mod/node-api/handlers/proof/merkle/merkle_test.go b/mod/node-api/handlers/proof/merkle/merkle_test.go deleted file mode 100644 index 332ae06d8a..0000000000 --- a/mod/node-api/handlers/proof/merkle/merkle_test.go +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package merkle_test - -import ( - "encoding/json" - "os" - "path/filepath" - "testing" - - "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/stretchr/testify/require" -) - -// ReadProofFromFile reads a proof from a JSON file in the testdata directory. -func ReadProofFromFile(t *testing.T, filename string) []common.Root { - t.Helper() - path := filepath.Join("testdata", filename) - data, err := os.ReadFile(path) - require.NoError(t, err) - - var proof []common.Root - err = json.Unmarshal(data, &proof) - require.NoError(t, err) - - return proof -} diff --git a/mod/node-api/handlers/proof/merkle/mock/beacon_state.go b/mod/node-api/handlers/proof/merkle/mock/beacon_state.go deleted file mode 100644 index fd1044bce7..0000000000 --- a/mod/node-api/handlers/proof/merkle/mock/beacon_state.go +++ /dev/null @@ -1,115 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2024, Berachain Foundation. All rights reserved. -// Use of this software is governed by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package mock - -import ( - "errors" - - cmdtypes "github.com/berachain/beacon-kit/beacond/cmd/types" - "github.com/berachain/beacon-kit/mod/consensus-types/pkg/types" - ptypes "github.com/berachain/beacon-kit/mod/node-api/handlers/proof/types" - "github.com/berachain/beacon-kit/mod/primitives/pkg/common" - "github.com/berachain/beacon-kit/mod/primitives/pkg/math" -) - -// Compile time check to ensure BeaconState implements the methods -// required by the BeaconState for proofs. -var _ ptypes.BeaconState[ - *cmdtypes.BeaconStateMarshallable, - *types.ExecutionPayloadHeader, - *types.Validator, -] = (*BeaconState)(nil) - -// BeaconState is a mock implementation of the proof BeaconState interface. -type BeaconState struct { - *cmdtypes.BeaconStateMarshallable -} - -// NewBeaconState creates a new mock beacon state, with only the given slot, -// validators, execution number, and execution fee recipient. -func NewBeaconState( - slot math.Slot, - vals types.Validators, - executionNumber math.U64, - executionFeeRecipient common.ExecutionAddress, -) (*BeaconState, error) { - // If no validators are provided, create an empty slice. - if len(vals) == 0 { - vals = make(types.Validators, 0) - } - - // Create an empty execution payload header with the given execution number - // and fee recipient. - execPayloadHeader := (&types.ExecutionPayloadHeader{}).Empty() - execPayloadHeader.Number = executionNumber - execPayloadHeader.FeeRecipient = executionFeeRecipient - - var ( - bsm = &cmdtypes.BeaconStateMarshallable{} - err error - ) - bsm, err = bsm.New( - 0, - common.Root{}, - slot, - (&types.Fork{}).Empty(), - (&types.BeaconBlockHeader{}).Empty(), - []common.Root{}, - []common.Root{}, - (&types.Eth1Data{}).Empty(), - 0, - execPayloadHeader, - vals, - []uint64{}, - []common.Bytes32{}, - 0, - 0, - []uint64{}, - 0, - ) - return &BeaconState{BeaconStateMarshallable: bsm}, err -} - -// GetLatestExecutionPayloadHeader implements proof BeaconState. -func (m *BeaconState) GetLatestExecutionPayloadHeader() ( - *types.ExecutionPayloadHeader, error, -) { - return m.BeaconStateMarshallable.LatestExecutionPayloadHeader, nil -} - -// GetMarshallable implements proof BeaconState. -func (m *BeaconState) GetMarshallable() ( - *cmdtypes.BeaconStateMarshallable, error, -) { - return m.BeaconStateMarshallable, nil -} - -// ValidatorByIndex implements proof BeaconState. -func (m *BeaconState) ValidatorByIndex( - index math.ValidatorIndex, -) (*types.Validator, error) { - vals := m.BeaconStateMarshallable.Validators - if index >= math.ValidatorIndex(len(vals)) { - return nil, errors.New("validator index out of range") - } - - return vals[index], nil -} diff --git a/mod/node-api/handlers/proof/merkle/testdata/empty_execution_number_proof.json b/mod/node-api/handlers/proof/merkle/testdata/empty_execution_number_proof.json deleted file mode 100644 index 6fa5373771..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/empty_execution_number_proof.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xe8e527e84f666163a90ef900e013f56b0a4d020148b2224057b719f351b003a6", - "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", - "0xaa5acb04472b5d189b754cc2b82b4420e5f77aed7059b069bcf5ef0e3ad6d64d", - "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", - "0xea569bcb4fbb2ed26d30e997d7337e7e12a43ac115793e9cbe25da401fcbb725", - "0x4019708b8a442b0e6fc88b6531e2420811d4833db8e862d75a65501695afed1c", - "0x1b8afbf6f0034f939f0cfc6e3b03362631bdce35a43b65cbb8f732fa08373b69", - "0xda5a83fdae2974416e891f268f5d29d45f071bb414304bdff46aaaa07a7403cb", - "0x0102030000000000000000000000000000000000000000000000000000000000", - "0xd6e497b816c27a31acd5d9f3ed670639fef7842fee51f044dfbfb6319c760a5f", - "0x7b85fe2a9afab51dcca12b224e10bf25e6cb1cb99ac5d24be8a55fac862b6c90" -] diff --git a/mod/node-api/handlers/proof/merkle/testdata/empty_fee_recipient_proof.json b/mod/node-api/handlers/proof/merkle/testdata/empty_fee_recipient_proof.json deleted file mode 100644 index 864c8d9af9..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/empty_fee_recipient_proof.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", - "0xdb2251dcc987017aa2df5016007d6840dfb04c67b6d3535cb43b80ae2f401504", - "0xaa5acb04472b5d189b754cc2b82b4420e5f77aed7059b069bcf5ef0e3ad6d64d", - "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", - "0xea569bcb4fbb2ed26d30e997d7337e7e12a43ac115793e9cbe25da401fcbb725", - "0x4019708b8a442b0e6fc88b6531e2420811d4833db8e862d75a65501695afed1c", - "0x1b8afbf6f0034f939f0cfc6e3b03362631bdce35a43b65cbb8f732fa08373b69", - "0xda5a83fdae2974416e891f268f5d29d45f071bb414304bdff46aaaa07a7403cb", - "0x0102030000000000000000000000000000000000000000000000000000000000", - "0xd6e497b816c27a31acd5d9f3ed670639fef7842fee51f044dfbfb6319c760a5f", - "0x7b85fe2a9afab51dcca12b224e10bf25e6cb1cb99ac5d24be8a55fac862b6c90" -] diff --git a/mod/node-api/handlers/proof/merkle/testdata/empty_state_proof.json b/mod/node-api/handlers/proof/merkle/testdata/empty_state_proof.json deleted file mode 100644 index 51d1b93ae5..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/empty_state_proof.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", - "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71" -] - \ No newline at end of file diff --git a/mod/node-api/handlers/proof/merkle/testdata/many_validators_proposer_proof.json b/mod/node-api/handlers/proof/merkle/testdata/many_validators_proposer_proof.json deleted file mode 100644 index 112294a187..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/many_validators_proposer_proof.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", - "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", - "0xfa324a462bcb0f10c24c9e17c326a4e0ebad204feced523eccaf346c686f06ee", - "0x4b71985b48d4d27159fb953494feef9e7eeba75f5acd2d03b1c306a186d0537c", - "0x11740281865e8d784f81fc4de65e85e38a6aadd4983586ffeff99d326439a834", - "0xb5d7f6be4d62c17c85aad66691b3c8a8ab3efe4305c5c4d09a58c4fce699b191", - "0xcba76b0fd6edcfd2c74f6020fa3a249f27f07d0c96237d5826f5c5dddf87d2fc", - "0x02460b6ea65b13017a2b5dcd11e5b615b12da48e980ac55b1bc1fbbd7bde8d63", - "0x5d91c749461f080b40700a41b1468944bb58fa69ffe0c24af202cefb903b9f6f", - "0x87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c", - "0x26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193", - "0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1", - "0xffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b", - "0x6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220", - "0xb7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5f", - "0xdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85e", - "0xb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784", - "0xd49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb", - "0x8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb", - "0x8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab", - "0x95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4", - "0xf893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f", - "0xcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa", - "0x8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9c", - "0xfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167", - "0xe71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d7", - "0x31206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc0", - "0x21352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544", - "0x619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a46765", - "0x7cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4", - "0x848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe1", - "0x8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636", - "0xb5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c", - "0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7", - "0xc6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff", - "0x1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc5", - "0x2f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d", - "0x328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362c", - "0xbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c327", - "0x55d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74", - "0xf7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76", - "0xad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206f", - "0x6400000000000000000000000000000000000000000000000000000000000000", - "0x54b4b8b897929a1ede97d29e9551d610229f22c1a59d186d95aed203333b4e5e", - "0x4019708b8a442b0e6fc88b6531e2420811d4833db8e862d75a65501695afed1c", - "0x1b8afbf6f0034f939f0cfc6e3b03362631bdce35a43b65cbb8f732fa08373b69", - "0x70ccdae9a06cda39d93eba92e2692bec147a29ef7e31ad9f4bebb347792d9204", - "0x0102030405060000000000000000000000000000000000000000000000000000", - "0xe38c573641a369b49f1e77043562c3b6b3932c2cce7fcd4d71d494b4b8d08012", - "0xa3df0acb0b3d50f9b7f569ffb440f3a5891a2723a35bd825d6cf271298e616b6" -] diff --git a/mod/node-api/handlers/proof/merkle/testdata/non_empty_execution_number_proof.json b/mod/node-api/handlers/proof/merkle/testdata/non_empty_execution_number_proof.json deleted file mode 100644 index 28255a776c..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/non_empty_execution_number_proof.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xe8e527e84f666163a90ef900e013f56b0a4d020148b2224057b719f351b003a6", - "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", - "0xaa5acb04472b5d189b754cc2b82b4420e5f77aed7059b069bcf5ef0e3ad6d64d", - "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", - "0xea569bcb4fbb2ed26d30e997d7337e7e12a43ac115793e9cbe25da401fcbb725", - "0x4019708b8a442b0e6fc88b6531e2420811d4833db8e862d75a65501695afed1c", - "0x1b8afbf6f0034f939f0cfc6e3b03362631bdce35a43b65cbb8f732fa08373b69", - "0x70ccdae9a06cda39d93eba92e2692bec147a29ef7e31ad9f4bebb347792d9204", - "0x0102030405060000000000000000000000000000000000000000000000000000", - "0xe38c573641a369b49f1e77043562c3b6b3932c2cce7fcd4d71d494b4b8d08012", - "0xa3df0acb0b3d50f9b7f569ffb440f3a5891a2723a35bd825d6cf271298e616b6" -] diff --git a/mod/node-api/handlers/proof/merkle/testdata/non_empty_fee_recipient_proof.json b/mod/node-api/handlers/proof/merkle/testdata/non_empty_fee_recipient_proof.json deleted file mode 100644 index 25e3bd4b33..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/non_empty_fee_recipient_proof.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", - "0xdb2251dcc987017aa2df5016007d6840dfb04c67b6d3535cb43b80ae2f401504", - "0xaa5acb04472b5d189b754cc2b82b4420e5f77aed7059b069bcf5ef0e3ad6d64d", - "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", - "0xea569bcb4fbb2ed26d30e997d7337e7e12a43ac115793e9cbe25da401fcbb725", - "0x4019708b8a442b0e6fc88b6531e2420811d4833db8e862d75a65501695afed1c", - "0x1b8afbf6f0034f939f0cfc6e3b03362631bdce35a43b65cbb8f732fa08373b69", - "0x70ccdae9a06cda39d93eba92e2692bec147a29ef7e31ad9f4bebb347792d9204", - "0x0102030405060000000000000000000000000000000000000000000000000000", - "0xe38c573641a369b49f1e77043562c3b6b3932c2cce7fcd4d71d494b4b8d08012", - "0xa3df0acb0b3d50f9b7f569ffb440f3a5891a2723a35bd825d6cf271298e616b6" -] diff --git a/mod/node-api/handlers/proof/merkle/testdata/non_empty_state_proof.json b/mod/node-api/handlers/proof/merkle/testdata/non_empty_state_proof.json deleted file mode 100644 index 1c1a9eca11..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/non_empty_state_proof.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "0x0102030405060708090000000000000000000000000000000000000000000000", - "0xbd50456d5ad175ae99a1612a53ca229124b65d3eaabd9ff9c7ab979a385cf6b3", - "0x2137a0ff622bd6e30728bc64e7deed6ea418596c772143e232cfea9d88babd58" -] - \ No newline at end of file diff --git a/mod/node-api/handlers/proof/merkle/testdata/one_validator_proposer_proof.json b/mod/node-api/handlers/proof/merkle/testdata/one_validator_proposer_proof.json deleted file mode 100644 index 0f3763e5e6..0000000000 --- a/mod/node-api/handlers/proof/merkle/testdata/one_validator_proposer_proof.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", - "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", - "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", - "0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c", - "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", - "0x9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30", - "0xd88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1", - "0x87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c", - "0x26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193", - "0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1", - "0xffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b", - "0x6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220", - "0xb7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5f", - "0xdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85e", - "0xb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784", - "0xd49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb", - "0x8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb", - "0x8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab", - "0x95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4", - "0xf893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f", - "0xcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa", - "0x8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9c", - "0xfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167", - "0xe71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d7", - "0x31206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc0", - "0x21352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544", - "0x619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a46765", - "0x7cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4", - "0x848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe1", - "0x8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636", - "0xb5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c", - "0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7", - "0xc6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff", - "0x1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc5", - "0x2f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d", - "0x328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362c", - "0xbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c327", - "0x55d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74", - "0xf7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76", - "0xad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206f", - "0x0100000000000000000000000000000000000000000000000000000000000000", - "0x54b4b8b897929a1ede97d29e9551d610229f22c1a59d186d95aed203333b4e5e", - "0x4019708b8a442b0e6fc88b6531e2420811d4833db8e862d75a65501695afed1c", - "0x1b8afbf6f0034f939f0cfc6e3b03362631bdce35a43b65cbb8f732fa08373b69", - "0xda5a83fdae2974416e891f268f5d29d45f071bb414304bdff46aaaa07a7403cb", - "0x0102030000000000000000000000000000000000000000000000000000000000", - "0xd6e497b816c27a31acd5d9f3ed670639fef7842fee51f044dfbfb6319c760a5f", - "0x7b85fe2a9afab51dcca12b224e10bf25e6cb1cb99ac5d24be8a55fac862b6c90" -] diff --git a/mod/node-core/go.mod b/mod/node-core/go.mod index a1fa9491b2..f043f6336b 100644 --- a/mod/node-core/go.mod +++ b/mod/node-core/go.mod @@ -25,7 +25,7 @@ require ( github.com/berachain/beacon-kit/mod/cli v0.0.0-20240822173558-4e2a8018ae21 github.com/berachain/beacon-kit/mod/config v0.0.0-20240705193247-d464364483df github.com/berachain/beacon-kit/mod/consensus v0.0.0-20240821053614-036c5d2945f0 - github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f + github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 github.com/berachain/beacon-kit/mod/da v0.0.0-20240820191615-398849c34954 github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 github.com/berachain/beacon-kit/mod/errors v0.0.0-20240806211103-d1105603bfc0 diff --git a/mod/node-core/go.sum b/mod/node-core/go.sum index 9362c47046..f6efa344d5 100644 --- a/mod/node-core/go.sum +++ b/mod/node-core/go.sum @@ -79,8 +79,8 @@ github.com/berachain/beacon-kit/mod/beacon v0.0.0-20240821052951-c15422305b4e h1 github.com/berachain/beacon-kit/mod/beacon v0.0.0-20240821052951-c15422305b4e/go.mod h1:hyB6jdTwCalJ6IMwCtYOXjXrqIg3T1QruIzs4NPrNkw= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df h1:mnD1LKqDQ0n+OFdDqOuvKaEiUKRJzsO4V0wyyn/gJYg= github.com/berachain/beacon-kit/mod/chain-spec v0.0.0-20240705193247-d464364483df/go.mod h1:bTFB4Rdvm7D/WdwPYkqQ+8T0XOMBv0pzXfp1E46BFX8= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f h1:Vzglhdv60M7LBS3FBuqK0eUX8vYJBJnL/RwYpxUswpo= -github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240904192942-99aeabe6bb1f/go.mod h1:cZd8cFZ+ylhh3/NUbrdXO2ri1/7KOaYBjo1B8MgbgMM= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685 h1:pTvESOpJ0a6oCV81+pec+zoTBmojZ8C1+7fd4HtKpbI= +github.com/berachain/beacon-kit/mod/consensus-types v0.0.0-20240821182712-08bbb9c7d685/go.mod h1:jduqdSJEtO5eL43l/MpfnIK81o81m10wzt6Gb++Qi9M= github.com/berachain/beacon-kit/mod/da v0.0.0-20240820191615-398849c34954 h1:uFAdG6vtoOFxvz0pjkl5D0XGc4PcR0Ukf3M7gU3B92o= github.com/berachain/beacon-kit/mod/da v0.0.0-20240820191615-398849c34954/go.mod h1:n6pq+wYP5+jBZbxsVwL0Y9pspcXhNYcA3gHOaJ4rxeA= github.com/berachain/beacon-kit/mod/engine-primitives v0.0.0-20240809202957-3e3f169ad720 h1:rVltwwt4JAhpvqeRDZ8J07e9XM+jzfDCJEghPA4r5lg=