From 2b44d17d5f9e2863495edbb89f21c5c24fe5cef6 Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Mon, 27 Jan 2025 16:44:21 -0500 Subject: [PATCH] chore: remove reth-primitives dep from reth-engine-tree (#14019) --- Cargo.lock | 2 +- crates/engine/tree/Cargo.toml | 3 +- crates/engine/tree/benches/state_root_task.rs | 2 +- crates/engine/tree/src/backfill.rs | 2 +- crates/engine/tree/src/download.rs | 8 ++--- crates/engine/tree/src/engine.rs | 6 ++-- crates/engine/tree/src/persistence.rs | 3 +- crates/engine/tree/src/test_utils.rs | 3 +- crates/engine/tree/src/tree/block_buffer.rs | 9 +++--- crates/engine/tree/src/tree/cached_state.rs | 2 +- crates/engine/tree/src/tree/error.rs | 3 +- .../tree/src/tree/invalid_block_hook.rs | 2 +- .../engine/tree/src/tree/invalid_headers.rs | 2 +- crates/engine/tree/src/tree/mod.rs | 29 ++++++++++--------- crates/engine/tree/src/tree/root.rs | 2 +- 15 files changed, 40 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e26571143..e9b475ecb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7191,6 +7191,7 @@ dependencies = [ "reth-errors", "reth-ethereum-consensus", "reth-ethereum-engine-primitives", + "reth-ethereum-primitives", "reth-evm", "reth-exex-types", "reth-metrics", @@ -7198,7 +7199,6 @@ dependencies = [ "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", - "reth-primitives", "reth-primitives-traits", "reth-provider", "reth-prune", diff --git a/crates/engine/tree/Cargo.toml b/crates/engine/tree/Cargo.toml index 2b08f0917..6800d14d4 100644 --- a/crates/engine/tree/Cargo.toml +++ b/crates/engine/tree/Cargo.toml @@ -24,7 +24,7 @@ reth-payload-builder-primitives.workspace = true reth-payload-builder.workspace = true reth-payload-primitives.workspace = true reth-primitives-traits.workspace = true -reth-primitives.workspace = true +reth-ethereum-primitives.workspace = true reth-provider.workspace = true reth-prune.workspace = true reth-revm.workspace = true @@ -110,7 +110,6 @@ test-utils = [ "reth-evm/test-utils", "reth-network-p2p/test-utils", "reth-payload-builder/test-utils", - "reth-primitives/test-utils", "reth-primitives-traits/test-utils", "reth-provider/test-utils", "reth-prune-types", diff --git a/crates/engine/tree/benches/state_root_task.rs b/crates/engine/tree/benches/state_root_task.rs index 1d9faf7a7..71a090fc9 100644 --- a/crates/engine/tree/benches/state_root_task.rs +++ b/crates/engine/tree/benches/state_root_task.rs @@ -8,7 +8,7 @@ use proptest::test_runner::TestRunner; use rand::Rng; use reth_engine_tree::tree::root::{StateRootConfig, StateRootTask}; use reth_evm::system_calls::OnStateHook; -use reth_primitives::{Account as RethAccount, StorageEntry}; +use reth_primitives_traits::{Account as RethAccount, StorageEntry}; use reth_provider::{ providers::ConsistentDbView, test_utils::{create_test_provider_factory, MockNodeTypesWithDB}, diff --git a/crates/engine/tree/src/backfill.rs b/crates/engine/tree/src/backfill.rs index 370ca7e52..5d5d83d1a 100644 --- a/crates/engine/tree/src/backfill.rs +++ b/crates/engine/tree/src/backfill.rs @@ -237,7 +237,7 @@ mod tests { use futures::poll; use reth_chainspec::{ChainSpecBuilder, MAINNET}; use reth_network_p2p::test_utils::TestFullBlockClient; - use reth_primitives::SealedHeader; + use reth_primitives_traits::SealedHeader; use reth_provider::test_utils::MockNodeTypesWithDB; use reth_stages::ExecOutput; use reth_stages_api::StageCheckpoint; diff --git a/crates/engine/tree/src/download.rs b/crates/engine/tree/src/download.rs index f365b8701..5b7acea63 100644 --- a/crates/engine/tree/src/download.rs +++ b/crates/engine/tree/src/download.rs @@ -9,8 +9,7 @@ use reth_network_p2p::{ full_block::{FetchFullBlockFuture, FetchFullBlockRangeFuture, FullBlockClient}, BlockClient, }; -use reth_primitives::{RecoveredBlock, SealedBlock}; -use reth_primitives_traits::Block; +use reth_primitives_traits::{Block, RecoveredBlock, SealedBlock}; use std::{ cmp::{Ordering, Reverse}, collections::{binary_heap::PeekMut, BinaryHeap, HashSet, VecDeque}, @@ -319,11 +318,12 @@ mod tests { use reth_chainspec::{ChainSpecBuilder, MAINNET}; use reth_ethereum_consensus::EthBeaconConsensus; use reth_network_p2p::test_utils::TestFullBlockClient; - use reth_primitives::SealedHeader; + use reth_primitives_traits::SealedHeader; use std::{future::poll_fn, sync::Arc}; struct TestHarness { - block_downloader: BasicBlockDownloader, + block_downloader: + BasicBlockDownloader, client: TestFullBlockClient, } diff --git a/crates/engine/tree/src/engine.rs b/crates/engine/tree/src/engine.rs index 2d6f66d12..30c03b1c0 100644 --- a/crates/engine/tree/src/engine.rs +++ b/crates/engine/tree/src/engine.rs @@ -9,8 +9,8 @@ use alloy_primitives::B256; use futures::{Stream, StreamExt}; use reth_chain_state::ExecutedBlockWithTrieUpdates; use reth_engine_primitives::{BeaconConsensusEngineEvent, BeaconEngineMessage, EngineTypes}; -use reth_primitives::{NodePrimitives, RecoveredBlock}; -use reth_primitives_traits::Block; +use reth_ethereum_primitives::EthPrimitives; +use reth_primitives_traits::{Block, NodePrimitives, RecoveredBlock}; use std::{ collections::HashSet, fmt::Display, @@ -275,7 +275,7 @@ impl From> /// Events emitted by the engine API handler. #[derive(Debug)] -pub enum EngineApiEvent { +pub enum EngineApiEvent { /// Event from the consensus engine. // TODO(mattsse): find a more appropriate name for this variant, consider phasing it out. BeaconConsensus(BeaconConsensusEngineEvent), diff --git a/crates/engine/tree/src/persistence.rs b/crates/engine/tree/src/persistence.rs index ffe401cc0..1c417e357 100644 --- a/crates/engine/tree/src/persistence.rs +++ b/crates/engine/tree/src/persistence.rs @@ -3,7 +3,8 @@ use alloy_consensus::BlockHeader; use alloy_eips::BlockNumHash; use reth_chain_state::ExecutedBlockWithTrieUpdates; use reth_errors::ProviderError; -use reth_primitives::{EthPrimitives, NodePrimitives}; +use reth_ethereum_primitives::EthPrimitives; +use reth_primitives_traits::NodePrimitives; use reth_provider::{ providers::ProviderNodeTypes, writer::UnifiedStorageWriter, BlockHashReader, ChainStateBlockWriter, DatabaseProviderFactory, ProviderFactory, StaticFileProviderFactory, diff --git a/crates/engine/tree/src/test_utils.rs b/crates/engine/tree/src/test_utils.rs index de6485ce9..5725872bb 100644 --- a/crates/engine/tree/src/test_utils.rs +++ b/crates/engine/tree/src/test_utils.rs @@ -1,7 +1,8 @@ use alloy_primitives::B256; use reth_chainspec::ChainSpec; +use reth_ethereum_primitives::BlockBody; use reth_network_p2p::test_utils::TestFullBlockClient; -use reth_primitives::{BlockBody, SealedHeader}; +use reth_primitives_traits::SealedHeader; use reth_provider::{ test_utils::{create_test_provider_factory_with_chain_spec, MockNodeTypesWithDB}, ExecutionOutcome, diff --git a/crates/engine/tree/src/tree/block_buffer.rs b/crates/engine/tree/src/tree/block_buffer.rs index 607fba219..58a4c6b36 100644 --- a/crates/engine/tree/src/tree/block_buffer.rs +++ b/crates/engine/tree/src/tree/block_buffer.rs @@ -1,8 +1,7 @@ use crate::tree::metrics::BlockBufferMetrics; use alloy_consensus::BlockHeader; use alloy_primitives::{BlockHash, BlockNumber}; -use reth_primitives::RecoveredBlock; -use reth_primitives_traits::Block; +use reth_primitives_traits::{Block, RecoveredBlock}; use schnellru::{ByLength, LruMap}; use std::collections::{BTreeMap, HashMap, HashSet}; @@ -196,7 +195,7 @@ mod tests { use super::*; use alloy_eips::BlockNumHash; use alloy_primitives::BlockHash; - use reth_primitives::RecoveredBlock; + use reth_primitives_traits::RecoveredBlock; use reth_testing_utils::generators::{self, random_block, BlockParams, Rng}; use std::collections::HashMap; @@ -205,7 +204,7 @@ mod tests { rng: &mut R, number: u64, parent: BlockHash, - ) -> RecoveredBlock { + ) -> RecoveredBlock { let block = random_block(rng, number, BlockParams { parent: Some(parent), ..Default::default() }); block.try_recover().unwrap() @@ -228,7 +227,7 @@ mod tests { /// Assert that the block was removed from all buffer collections. fn assert_block_removal( buffer: &BlockBuffer, - block: &RecoveredBlock, + block: &RecoveredBlock, ) { assert!(!buffer.blocks.contains_key(&block.hash())); assert!(buffer diff --git a/crates/engine/tree/src/tree/cached_state.rs b/crates/engine/tree/src/tree/cached_state.rs index 84d2c8a09..500a76005 100644 --- a/crates/engine/tree/src/tree/cached_state.rs +++ b/crates/engine/tree/src/tree/cached_state.rs @@ -4,7 +4,7 @@ use metrics::Gauge; use moka::sync::CacheBuilder; use reth_errors::ProviderResult; use reth_metrics::Metrics; -use reth_primitives::{Account, Bytecode}; +use reth_primitives_traits::{Account, Bytecode}; use reth_provider::{ AccountReader, BlockHashReader, HashedPostStateProvider, StateProofProvider, StateProvider, StateRootProvider, StorageRootProvider, diff --git a/crates/engine/tree/src/tree/error.rs b/crates/engine/tree/src/tree/error.rs index f681cd2f0..73c4259b5 100644 --- a/crates/engine/tree/src/tree/error.rs +++ b/crates/engine/tree/src/tree/error.rs @@ -4,8 +4,7 @@ use alloy_consensus::BlockHeader; use reth_consensus::ConsensusError; use reth_errors::{BlockExecutionError, BlockValidationError, ProviderError}; use reth_evm::execute::InternalBlockExecutionError; -use reth_primitives::SealedBlock; -use reth_primitives_traits::{Block, BlockBody}; +use reth_primitives_traits::{Block, BlockBody, SealedBlock}; use tokio::sync::oneshot::error::TryRecvError; /// This is an error that can come from advancing persistence. Either this can be a diff --git a/crates/engine/tree/src/tree/invalid_block_hook.rs b/crates/engine/tree/src/tree/invalid_block_hook.rs index 339ef9c7d..0670e8553 100644 --- a/crates/engine/tree/src/tree/invalid_block_hook.rs +++ b/crates/engine/tree/src/tree/invalid_block_hook.rs @@ -1,6 +1,6 @@ use alloy_primitives::B256; use reth_engine_primitives::InvalidBlockHook; -use reth_primitives::{NodePrimitives, RecoveredBlock, SealedHeader}; +use reth_primitives_traits::{NodePrimitives, RecoveredBlock, SealedHeader}; use reth_provider::BlockExecutionOutput; use reth_trie::updates::TrieUpdates; diff --git a/crates/engine/tree/src/tree/invalid_headers.rs b/crates/engine/tree/src/tree/invalid_headers.rs index de47c1731..40303355a 100644 --- a/crates/engine/tree/src/tree/invalid_headers.rs +++ b/crates/engine/tree/src/tree/invalid_headers.rs @@ -105,7 +105,7 @@ struct InvalidHeaderCacheMetrics { mod tests { use super::*; use alloy_consensus::Header; - use reth_primitives::SealedHeader; + use reth_primitives_traits::SealedHeader; #[test] fn test_hit_eviction() { diff --git a/crates/engine/tree/src/tree/mod.rs b/crates/engine/tree/src/tree/mod.rs index 32cbba8c3..b48869576 100644 --- a/crates/engine/tree/src/tree/mod.rs +++ b/crates/engine/tree/src/tree/mod.rs @@ -31,6 +31,7 @@ use reth_engine_primitives::{ EngineValidator, ForkchoiceStateTracker, OnForkChoiceUpdated, }; use reth_errors::{ConsensusError, ProviderResult}; +use reth_ethereum_primitives::EthPrimitives; use reth_evm::{ execute::BlockExecutorProvider, system_calls::{NoopHook, OnStateHook}, @@ -38,10 +39,9 @@ use reth_evm::{ use reth_payload_builder::PayloadBuilderHandle; use reth_payload_builder_primitives::PayloadBuilder; use reth_payload_primitives::{EngineApiMessageVersion, PayloadBuilderAttributes}; -use reth_primitives::{ - EthPrimitives, GotExpected, NodePrimitives, RecoveredBlock, SealedBlock, SealedHeader, +use reth_primitives_traits::{ + Block, GotExpected, NodePrimitives, RecoveredBlock, SealedBlock, SealedHeader, }; -use reth_primitives_traits::Block; use reth_provider::{ providers::ConsistentDbView, BlockReader, DBProvider, DatabaseProviderFactory, ExecutionOutcome, HashedPostStateProvider, ProviderError, StateCommitmentProvider, @@ -2817,8 +2817,8 @@ mod tests { use reth_engine_primitives::ForkchoiceStatus; use reth_ethereum_consensus::EthBeaconConsensus; use reth_ethereum_engine_primitives::{EthEngineTypes, EthereumEngineValidator}; + use reth_ethereum_primitives::{Block, EthPrimitives}; use reth_evm::test_utils::MockExecutorProvider; - use reth_primitives::{Block, EthPrimitives}; use reth_primitives_traits::Block as _; use reth_provider::test_utils::MockEthProvider; use reth_rpc_types_compat::engine::{block_to_payload_v1, payload::block_to_payload_v3}; @@ -3021,7 +3021,7 @@ mod tests { fn insert_block( &mut self, - block: RecoveredBlock, + block: RecoveredBlock, ) -> Result> { let execution_outcome = self.block_builder.get_execution_outcome(block.clone()); self.extend_execution_outcome([execution_outcome]); @@ -3086,7 +3086,10 @@ mod tests { } } - async fn send_new_payload(&mut self, block: RecoveredBlock) { + async fn send_new_payload( + &mut self, + block: RecoveredBlock, + ) { let payload = block_to_payload_v3(block.clone_sealed_block()); self.tree .on_new_payload( @@ -3101,7 +3104,7 @@ mod tests { async fn insert_chain( &mut self, - chain: impl IntoIterator> + Clone, + chain: impl IntoIterator> + Clone, ) { for block in chain.clone() { self.insert_block(block.clone()).unwrap(); @@ -3123,7 +3126,7 @@ mod tests { async fn check_fork_chain_insertion( &mut self, - chain: impl IntoIterator> + Clone, + chain: impl IntoIterator> + Clone, ) { for block in chain { self.check_fork_block_added(block.hash()).await; @@ -3132,7 +3135,7 @@ mod tests { async fn check_canon_chain_insertion( &mut self, - chain: impl IntoIterator> + Clone, + chain: impl IntoIterator> + Clone, ) { for block in chain.clone() { self.check_canon_block_added(block.hash()).await; @@ -3164,7 +3167,7 @@ mod tests { } } - fn persist_blocks(&self, blocks: Vec>) { + fn persist_blocks(&self, blocks: Vec>) { let mut block_data: Vec<(B256, Block)> = Vec::with_capacity(blocks.len()); let mut headers_data: Vec<(B256, Header)> = Vec::with_capacity(blocks.len()); @@ -3179,14 +3182,14 @@ mod tests { fn setup_range_insertion_for_valid_chain( &mut self, - chain: Vec>, + chain: Vec>, ) { self.setup_range_insertion_for_chain(chain, None) } fn setup_range_insertion_for_invalid_chain( &mut self, - chain: Vec>, + chain: Vec>, index: usize, ) { self.setup_range_insertion_for_chain(chain, Some(index)) @@ -3194,7 +3197,7 @@ mod tests { fn setup_range_insertion_for_chain( &mut self, - chain: Vec>, + chain: Vec>, invalid_index: Option, ) { // setting up execution outcomes for the chain, the blocks will be diff --git a/crates/engine/tree/src/tree/root.rs b/crates/engine/tree/src/tree/root.rs index dd96692a7..b18dd9e99 100644 --- a/crates/engine/tree/src/tree/root.rs +++ b/crates/engine/tree/src/tree/root.rs @@ -925,7 +925,7 @@ fn extend_multi_proof_targets_ref(targets: &mut MultiProofTargets, other: &Multi #[cfg(test)] mod tests { use super::*; - use reth_primitives::{Account as RethAccount, StorageEntry}; + use reth_primitives_traits::{Account as RethAccount, StorageEntry}; use reth_provider::{ providers::ConsistentDbView, test_utils::create_test_provider_factory, HashingWriter, };