diff --git a/Cargo.lock b/Cargo.lock index 3072281fb..0856b05a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2696,6 +2696,7 @@ dependencies = [ name = "example-custom-dev-node" version = "0.0.0" dependencies = [ + "alloy-genesis", "eyre", "futures-util", "reth", @@ -6707,6 +6708,7 @@ dependencies = [ name = "reth-db-api" version = "1.0.7" dependencies = [ + "alloy-genesis", "alloy-primitives", "arbitrary", "bytes", @@ -7292,6 +7294,7 @@ name = "reth-evm-ethereum" version = "1.0.7" dependencies = [ "alloy-eips", + "alloy-genesis", "alloy-primitives", "alloy-sol-types", "reth-chainspec", @@ -7312,6 +7315,7 @@ dependencies = [ name = "reth-evm-optimism" version = "1.0.7" dependencies = [ + "alloy-genesis", "alloy-primitives", "reth-chainspec", "reth-ethereum-forks", @@ -7363,6 +7367,7 @@ dependencies = [ name = "reth-exex" version = "1.0.7" dependencies = [ + "alloy-genesis", "alloy-primitives", "eyre", "futures", diff --git a/crates/ethereum/evm/Cargo.toml b/crates/ethereum/evm/Cargo.toml index f5af92b15..8a8e23a4c 100644 --- a/crates/ethereum/evm/Cargo.toml +++ b/crates/ethereum/evm/Cargo.toml @@ -35,6 +35,7 @@ reth-revm = { workspace = true, features = ["test-utils"] } reth-primitives = { workspace = true, features = ["secp256k1"] } secp256k1.workspace = true serde_json.workspace = true +alloy-genesis.workspace = true [features] default = ["std"] diff --git a/crates/ethereum/evm/src/lib.rs b/crates/ethereum/evm/src/lib.rs index f791b80f3..1c8b1b6a2 100644 --- a/crates/ethereum/evm/src/lib.rs +++ b/crates/ethereum/evm/src/lib.rs @@ -194,12 +194,13 @@ impl ConfigureEvm for EthEvmConfig { #[cfg(test)] mod tests { use super::*; + use alloy_genesis::Genesis; use alloy_primitives::{B256, U256}; use reth_chainspec::{Chain, ChainSpec, MAINNET}; use reth_evm::execute::ProviderError; use reth_primitives::{ revm_primitives::{BlockEnv, CfgEnv, SpecId}, - Genesis, Header, KECCAK_EMPTY, + Header, KECCAK_EMPTY, }; use reth_revm::{ db::{CacheDB, EmptyDBTyped}, diff --git a/crates/exex/exex/Cargo.toml b/crates/exex/exex/Cargo.toml index 4d0a1638b..9b6146d22 100644 --- a/crates/exex/exex/Cargo.toml +++ b/crates/exex/exex/Cargo.toml @@ -55,6 +55,8 @@ reth-primitives-traits = { workspace = true, features = ["test-utils"] } reth-provider = { workspace = true, features = ["test-utils"] } reth-testing-utils.workspace = true +alloy-genesis.workspace = true + secp256k1.workspace = true tempfile.workspace = true diff --git a/crates/exex/exex/src/backfill/test_utils.rs b/crates/exex/exex/src/backfill/test_utils.rs index 8c99ea7f1..8fd6071e8 100644 --- a/crates/exex/exex/src/backfill/test_utils.rs +++ b/crates/exex/exex/src/backfill/test_utils.rs @@ -1,5 +1,6 @@ use std::sync::Arc; +use alloy_genesis::{Genesis, GenesisAccount}; use alloy_primitives::{b256, Address, TxKind, U256}; use eyre::OptionExt; use reth_chainspec::{ChainSpec, ChainSpecBuilder, EthereumHardfork, MAINNET, MIN_TRANSACTION_GAS}; @@ -8,8 +9,8 @@ use reth_evm::execute::{ }; use reth_evm_ethereum::execute::EthExecutorProvider; use reth_primitives::{ - constants::ETH_TO_WEI, Block, BlockBody, BlockWithSenders, Genesis, GenesisAccount, Header, - Receipt, Requests, SealedBlockWithSenders, Transaction, TxEip2930, + constants::ETH_TO_WEI, Block, BlockBody, BlockWithSenders, Header, Receipt, Requests, + SealedBlockWithSenders, Transaction, TxEip2930, }; use reth_provider::{ providers::ProviderNodeTypes, BlockWriter as _, ExecutionOutcome, LatestStateProviderRef, diff --git a/crates/optimism/evm/Cargo.toml b/crates/optimism/evm/Cargo.toml index 294ce0e01..567e8c002 100644 --- a/crates/optimism/evm/Cargo.toml +++ b/crates/optimism/evm/Cargo.toml @@ -40,6 +40,7 @@ tracing.workspace = true [dev-dependencies] reth-revm = { workspace = true, features = ["test-utils"] } reth-optimism-chainspec.workspace = true +alloy-genesis.workspace = true [features] optimism = [ diff --git a/crates/optimism/evm/src/lib.rs b/crates/optimism/evm/src/lib.rs index ce95a7653..9c2d28ff3 100644 --- a/crates/optimism/evm/src/lib.rs +++ b/crates/optimism/evm/src/lib.rs @@ -209,12 +209,13 @@ impl ConfigureEvm for OptimismEvmConfig { #[cfg(test)] mod tests { use super::*; + use alloy_genesis::Genesis; use alloy_primitives::{B256, U256}; use reth_chainspec::{Chain, ChainSpec}; use reth_evm::execute::ProviderError; use reth_primitives::{ revm_primitives::{BlockEnv, CfgEnv, SpecId}, - Genesis, Header, BASE_MAINNET, KECCAK_EMPTY, + Header, BASE_MAINNET, KECCAK_EMPTY, }; use reth_revm::{ db::{CacheDB, EmptyDBTyped}, diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 0e7cb2c5d..72de34e3f 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -31,7 +31,6 @@ alloy-primitives = { workspace = true, features = ["rand", "rlp"] } alloy-rlp = { workspace = true, features = ["arrayvec"] } alloy-rpc-types = { workspace = true, optional = true } alloy-serde = { workspace = true, optional = true } -alloy-genesis.workspace = true alloy-eips = { workspace = true, features = ["serde"] } # optimism @@ -70,6 +69,7 @@ revm-primitives = { workspace = true, features = ["arbitrary"] } reth-chainspec.workspace = true reth-codecs.workspace = true alloy-eips = { workspace = true, features = ["arbitrary"] } +alloy-genesis.workspace = true assert_matches.workspace = true arbitrary = { workspace = true, features = ["derive"] } diff --git a/crates/primitives/src/genesis.rs b/crates/primitives/src/genesis.rs deleted file mode 100644 index c81d9488d..000000000 --- a/crates/primitives/src/genesis.rs +++ /dev/null @@ -1,5 +0,0 @@ -//! Types for genesis configuration of a chain. - -// re-export genesis types -#[doc(inline)] -pub use alloy_genesis::*; diff --git a/crates/primitives/src/lib.rs b/crates/primitives/src/lib.rs index 1ef0d0253..0760897fa 100644 --- a/crates/primitives/src/lib.rs +++ b/crates/primitives/src/lib.rs @@ -29,7 +29,6 @@ mod compression; pub mod constants; pub mod eip4844; pub mod eip7702; -pub mod genesis; pub mod proofs; mod receipt; pub use reth_static_file_types as static_file; @@ -46,7 +45,6 @@ pub use constants::{ DEV_GENESIS_HASH, EMPTY_OMMER_ROOT_HASH, HOLESKY_GENESIS_HASH, KECCAK_EMPTY, MAINNET_GENESIS_HASH, SEPOLIA_GENESIS_HASH, }; -pub use genesis::{ChainConfig, Genesis, GenesisAccount}; pub use receipt::{ gas_spent_by_transactions, Receipt, ReceiptWithBloom, ReceiptWithBloomRef, Receipts, }; diff --git a/crates/storage/db-api/Cargo.toml b/crates/storage/db-api/Cargo.toml index 1c2c757fe..a6a600abc 100644 --- a/crates/storage/db-api/Cargo.toml +++ b/crates/storage/db-api/Cargo.toml @@ -24,6 +24,7 @@ reth-trie-common.workspace = true # ethereum alloy-primitives.workspace = true +alloy-genesis.workspace = true # codecs modular-bitfield.workspace = true diff --git a/crates/storage/db-api/src/models/mod.rs b/crates/storage/db-api/src/models/mod.rs index d01f2cc23..af8d7da0d 100644 --- a/crates/storage/db-api/src/models/mod.rs +++ b/crates/storage/db-api/src/models/mod.rs @@ -4,10 +4,11 @@ use crate::{ table::{Compress, Decode, Decompress, Encode}, DatabaseError, }; +use alloy_genesis::GenesisAccount; use alloy_primitives::{Address, Log, B256, U256}; use reth_codecs::{add_arbitrary_tests, Compact}; use reth_primitives::{ - Account, Bytecode, GenesisAccount, Header, Receipt, Requests, SealedHeader, StorageEntry, + Account, Bytecode, Header, Receipt, Requests, SealedHeader, StorageEntry, TransactionSignedNoHash, TxType, }; use reth_prune_types::{PruneCheckpoint, PruneSegment}; diff --git a/examples/custom-dev-node/Cargo.toml b/examples/custom-dev-node/Cargo.toml index d40c97ca6..e4c5a9dab 100644 --- a/examples/custom-dev-node/Cargo.toml +++ b/examples/custom-dev-node/Cargo.toml @@ -17,3 +17,5 @@ futures-util.workspace = true eyre.workspace = true tokio.workspace = true serde_json.workspace = true + +alloy-genesis.workspace = true diff --git a/examples/custom-dev-node/src/main.rs b/examples/custom-dev-node/src/main.rs index 176e4c503..93e5df628 100644 --- a/examples/custom-dev-node/src/main.rs +++ b/examples/custom-dev-node/src/main.rs @@ -5,6 +5,7 @@ use std::sync::Arc; +use alloy_genesis::Genesis; use futures_util::StreamExt; use reth::{ builder::{NodeBuilder, NodeHandle}, @@ -15,7 +16,7 @@ use reth::{ use reth_chainspec::ChainSpec; use reth_node_core::{args::RpcServerArgs, node_config::NodeConfig}; use reth_node_ethereum::EthereumNode; -use reth_primitives::{b256, hex, Genesis}; +use reth_primitives::{b256, hex}; #[tokio::main] async fn main() -> eyre::Result<()> {