diff --git a/Cargo.lock b/Cargo.lock index 7b6f168e40..52fef5230a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7853,7 +7853,6 @@ dependencies = [ "reth-execution-errors", "reth-execution-types", "reth-metrics", - "reth-primitives", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", diff --git a/crates/evm/Cargo.toml b/crates/evm/Cargo.toml index 8d6e065e32..83dbef27f1 100644 --- a/crates/evm/Cargo.toml +++ b/crates/evm/Cargo.toml @@ -17,12 +17,13 @@ reth-consensus-common.workspace = true reth-execution-errors.workspace = true reth-execution-types.workspace = true reth-metrics = { workspace = true, optional = true } -reth-primitives.workspace = true reth-primitives-traits.workspace = true reth-storage-api.workspace = true reth-storage-errors.workspace = true reth-trie-common.workspace = true +reth-ethereum-primitives = { workspace = true, optional = true } + revm.workspace = true revm-database.workspace = true op-revm = { workspace = true, optional = true } @@ -40,23 +41,22 @@ metrics = { workspace = true, optional = true } parking_lot = { workspace = true, optional = true } [dev-dependencies] -parking_lot.workspace = true reth-ethereum-forks.workspace = true +reth-ethereum-primitives.workspace = true +parking_lot.workspace = true alloy-consensus.workspace = true metrics-util = { workspace = true, features = ["debugging"] } -reth-ethereum-primitives.workspace = true [features] default = ["std"] std = [ - "reth-primitives/std", "reth-primitives-traits/std", "alloy-eips/std", "alloy-primitives/std", "alloy-consensus/std", "revm/std", "reth-ethereum-forks/std", - "reth-ethereum-primitives/std", + "reth-ethereum-primitives?/std", "reth-chainspec/std", "reth-consensus-common/std", "alloy-evm/std", @@ -77,9 +77,9 @@ metrics = [ ] test-utils = [ "dep:parking_lot", + "dep:reth-ethereum-primitives", "reth-chainspec/test-utils", "reth-ethereum-primitives/test-utils", - "reth-primitives/test-utils", "reth-primitives-traits/test-utils", "revm/test-utils", "reth-trie-common/test-utils", diff --git a/crates/evm/src/either.rs b/crates/evm/src/either.rs index 7aaded54c4..45767eef61 100644 --- a/crates/evm/src/either.rs +++ b/crates/evm/src/either.rs @@ -9,7 +9,7 @@ use crate::{ // re-export Either pub use futures_util::future::Either; use reth_execution_types::{BlockExecutionOutput, BlockExecutionResult}; -use reth_primitives::{NodePrimitives, RecoveredBlock}; +use reth_primitives_traits::{NodePrimitives, RecoveredBlock}; impl BlockExecutorProvider for Either where diff --git a/crates/evm/src/execute.rs b/crates/evm/src/execute.rs index 00fd1b9bbd..486c8983c0 100644 --- a/crates/evm/src/execute.rs +++ b/crates/evm/src/execute.rs @@ -18,10 +18,10 @@ pub use reth_execution_errors::{ }; use reth_execution_types::BlockExecutionResult; pub use reth_execution_types::{BlockExecutionOutput, ExecutionOutcome}; -use reth_primitives::{ - HeaderTy, NodePrimitives, Receipt, Recovered, RecoveredBlock, SealedBlock, SealedHeader, +use reth_primitives_traits::{ + BlockTy, HeaderTy, NodePrimitives, ReceiptTy, Recovered, RecoveredBlock, SealedBlock, + SealedHeader, TxTy, }; -use reth_primitives_traits::{BlockTy, ReceiptTy, TxTy}; pub use reth_storage_errors::provider::ProviderError; use revm::{ context::result::ExecutionResult, @@ -167,7 +167,7 @@ pub trait BlockExecutorProvider: Send + Sync + Clone + Unpin + 'static { /// Helper type for the output of executing a block. #[derive(Debug, Clone)] -pub struct ExecuteOutput { +pub struct ExecuteOutput { /// Receipts obtained after executing a block. pub receipts: Vec, /// Cumulative gas used in the block execution. @@ -698,7 +698,7 @@ mod tests { use alloy_consensus::constants::KECCAK_EMPTY; use alloy_primitives::{address, U256}; use core::marker::PhantomData; - use reth_primitives::EthPrimitives; + use reth_ethereum_primitives::EthPrimitives; use revm::state::AccountInfo; use revm_database::{CacheDB, EmptyDB}; diff --git a/crates/evm/src/metrics.rs b/crates/evm/src/metrics.rs index e5895b50cc..4bc1b1356c 100644 --- a/crates/evm/src/metrics.rs +++ b/crates/evm/src/metrics.rs @@ -11,8 +11,7 @@ use alloy_consensus::BlockHeader; use metrics::{Counter, Gauge, Histogram}; use reth_execution_types::BlockExecutionOutput; use reth_metrics::Metrics; -use reth_primitives::RecoveredBlock; -use reth_primitives_traits::NodePrimitives; +use reth_primitives_traits::{NodePrimitives, RecoveredBlock}; use revm::state::EvmState; use std::time::Instant; @@ -146,8 +145,8 @@ mod tests { use alloy_eips::eip7685::Requests; use alloy_primitives::{B256, U256}; use metrics_util::debugging::{DebugValue, DebuggingRecorder, Snapshotter}; + use reth_ethereum_primitives::EthPrimitives; use reth_execution_types::BlockExecutionResult; - use reth_primitives::EthPrimitives; use revm::{ database_interface::EmptyDB, state::{Account, AccountInfo, AccountStatus, EvmStorage, EvmStorageSlot}, diff --git a/crates/evm/src/noop.rs b/crates/evm/src/noop.rs index b76daead74..e522f2a95d 100644 --- a/crates/evm/src/noop.rs +++ b/crates/evm/src/noop.rs @@ -7,7 +7,7 @@ use crate::{ }; use reth_execution_errors::BlockExecutionError; use reth_execution_types::BlockExecutionResult; -use reth_primitives::{NodePrimitives, RecoveredBlock}; +use reth_primitives_traits::{NodePrimitives, RecoveredBlock}; const UNAVAILABLE_FOR_NOOP: &str = "execution unavailable for noop"; diff --git a/crates/evm/src/test_utils.rs b/crates/evm/src/test_utils.rs index c7546ac532..5432358f99 100644 --- a/crates/evm/src/test_utils.rs +++ b/crates/evm/src/test_utils.rs @@ -8,9 +8,10 @@ use crate::{ use alloc::{sync::Arc, vec::Vec}; use alloy_eips::eip7685::Requests; use parking_lot::Mutex; +use reth_ethereum_primitives::EthPrimitives; use reth_execution_errors::BlockExecutionError; use reth_execution_types::{BlockExecutionResult, ExecutionOutcome}; -use reth_primitives::{EthPrimitives, NodePrimitives, RecoveredBlock}; +use reth_primitives_traits::{NodePrimitives, RecoveredBlock}; use revm_database::State; /// A [`BlockExecutorProvider`] that returns mocked execution results.