chore!: rename blockchainprovider2 (#13727)

This commit is contained in:
Matthias Seitz
2025-01-08 13:52:17 +01:00
committed by GitHub
parent 052a730e3c
commit a3f8a9d38b
23 changed files with 112 additions and 114 deletions

View File

@ -29,7 +29,7 @@ use reth_primitives::{
TransactionSigned, TransactionSigned,
}; };
use reth_provider::{ use reth_provider::{
providers::{BlockchainProvider2, ProviderNodeTypes}, providers::{BlockchainProvider, ProviderNodeTypes},
BlockHashReader, BlockReader, BlockWriter, ChainSpecProvider, ProviderFactory, BlockHashReader, BlockReader, BlockWriter, ChainSpecProvider, ProviderFactory,
StageCheckpointReader, StateProviderFactory, StageCheckpointReader, StateProviderFactory,
}; };
@ -132,7 +132,7 @@ impl<C: ChainSpecParser<ChainSpec = ChainSpec>> Command<C> {
.lookup_best_block(provider_factory.clone()) .lookup_best_block(provider_factory.clone())
.wrap_err("the head block is missing")?; .wrap_err("the head block is missing")?;
let blockchain_db = BlockchainProvider2::new(provider_factory.clone())?; let blockchain_db = BlockchainProvider::new(provider_factory.clone())?;
let blob_store = InMemoryBlobStore::default(); let blob_store = InMemoryBlobStore::default();
let validator = let validator =

View File

@ -13,7 +13,7 @@ use reth_node_builder::{
EngineNodeLauncher, EngineNodeLauncher,
}; };
use reth_node_ethereum::{node::EthereumAddOns, EthereumNode}; use reth_node_ethereum::{node::EthereumAddOns, EthereumNode};
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
use reth_tracing::tracing::warn; use reth_tracing::tracing::warn;
use tracing::info; use tracing::info;
@ -79,7 +79,7 @@ fn main() {
.with_memory_block_buffer_target(engine_args.memory_block_buffer_target) .with_memory_block_buffer_target(engine_args.memory_block_buffer_target)
.with_state_root_task(engine_args.state_root_task_enabled); .with_state_root_task(engine_args.state_root_task_enabled);
let handle = builder let handle = builder
.with_types_and_provider::<EthereumNode, BlockchainProvider2<_>>() .with_types_and_provider::<EthereumNode, BlockchainProvider<_>>()
.with_components(EthereumNode::components()) .with_components(EthereumNode::components())
.with_add_ons(EthereumAddOns::default()) .with_add_ons(EthereumAddOns::default())
.launch_with_fn(|builder| { .launch_with_fn(|builder| {

View File

@ -13,7 +13,7 @@ use reth_node_builder::{
PayloadTypes, PayloadTypes,
}; };
use reth_node_core::args::{DiscoveryArgs, NetworkArgs, RpcServerArgs}; use reth_node_core::args::{DiscoveryArgs, NetworkArgs, RpcServerArgs};
use reth_provider::providers::{BlockchainProvider2, NodeTypesForProvider, NodeTypesForTree}; use reth_provider::providers::{BlockchainProvider, NodeTypesForProvider, NodeTypesForTree};
use reth_rpc_server_types::RpcModuleSelection; use reth_rpc_server_types::RpcModuleSelection;
use reth_tasks::TaskManager; use reth_tasks::TaskManager;
use std::sync::Arc; use std::sync::Arc;
@ -114,24 +114,24 @@ pub async fn setup_engine<N>(
is_dev: bool, is_dev: bool,
attributes_generator: impl Fn(u64) -> <<N as NodeTypesWithEngine>::Engine as PayloadTypes>::PayloadBuilderAttributes + Copy + 'static, attributes_generator: impl Fn(u64) -> <<N as NodeTypesWithEngine>::Engine as PayloadTypes>::PayloadBuilderAttributes + Copy + 'static,
) -> eyre::Result<( ) -> eyre::Result<(
Vec<NodeHelperType<N, BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>>>, Vec<NodeHelperType<N, BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>>>,
TaskManager, TaskManager,
Wallet, Wallet,
)> )>
where where
N: Default N: Default
+ Node<TmpNodeAdapter<N, BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>>> + Node<TmpNodeAdapter<N, BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>>>
+ NodeTypesWithEngine + NodeTypesWithEngine
+ NodeTypesForProvider, + NodeTypesForProvider,
N::ComponentsBuilder: NodeComponentsBuilder< N::ComponentsBuilder: NodeComponentsBuilder<
TmpNodeAdapter<N, BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>>, TmpNodeAdapter<N, BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>>,
Components: NodeComponents< Components: NodeComponents<
TmpNodeAdapter<N, BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>>, TmpNodeAdapter<N, BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>>,
Network: PeersHandleProvider, Network: PeersHandleProvider,
>, >,
>, >,
N::AddOns: RethRpcAddOns<Adapter<N, BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>>> N::AddOns: RethRpcAddOns<Adapter<N, BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>>>
+ EngineValidatorAddOn<Adapter<N, BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>>>, + EngineValidatorAddOn<Adapter<N, BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>>>,
LocalPayloadAttributesBuilder<N::ChainSpec>: PayloadAttributesBuilder< LocalPayloadAttributesBuilder<N::ChainSpec>: PayloadAttributesBuilder<
<<N as NodeTypesWithEngine>::Engine as PayloadTypes>::PayloadAttributes, <<N as NodeTypesWithEngine>::Engine as PayloadTypes>::PayloadAttributes,
>, >,
@ -164,7 +164,7 @@ where
let node = N::default(); let node = N::default();
let NodeHandle { node, node_exit_future: _ } = NodeBuilder::new(node_config.clone()) let NodeHandle { node, node_exit_future: _ } = NodeBuilder::new(node_config.clone())
.testing_node(exec.clone()) .testing_node(exec.clone())
.with_types_and_provider::<N, BlockchainProvider2<_>>() .with_types_and_provider::<N, BlockchainProvider<_>>()
.with_components(node.components_builder()) .with_components(node.components_builder())
.with_add_ons(node.add_ons()) .with_add_ons(node.add_ons())
.launch_with_fn(|builder| { .launch_with_fn(|builder| {
@ -204,11 +204,11 @@ where
/// Testing database /// Testing database
pub type TmpDB = Arc<TempDatabase<DatabaseEnv>>; pub type TmpDB = Arc<TempDatabase<DatabaseEnv>>;
type TmpNodeAdapter<N, Provider = BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>> = type TmpNodeAdapter<N, Provider = BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>> =
FullNodeTypesAdapter<N, TmpDB, Provider>; FullNodeTypesAdapter<N, TmpDB, Provider>;
/// Type alias for a `NodeAdapter` /// Type alias for a `NodeAdapter`
pub type Adapter<N, Provider = BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>> = NodeAdapter< pub type Adapter<N, Provider = BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>> = NodeAdapter<
TmpNodeAdapter<N, Provider>, TmpNodeAdapter<N, Provider>,
<<N as Node<TmpNodeAdapter<N, Provider>>>::ComponentsBuilder as NodeComponentsBuilder< <<N as Node<TmpNodeAdapter<N, Provider>>>::ComponentsBuilder as NodeComponentsBuilder<
TmpNodeAdapter<N, Provider>, TmpNodeAdapter<N, Provider>,
@ -216,5 +216,5 @@ pub type Adapter<N, Provider = BlockchainProvider2<NodeTypesWithDBAdapter<N, Tmp
>; >;
/// Type alias for a type of `NodeHelper` /// Type alias for a type of `NodeHelper`
pub type NodeHelperType<N, Provider = BlockchainProvider2<NodeTypesWithDBAdapter<N, TmpDB>>> = pub type NodeHelperType<N, Provider = BlockchainProvider<NodeTypesWithDBAdapter<N, TmpDB>>> =
NodeTestContext<Adapter<N, Provider>, <N as Node<TmpNodeAdapter<N, Provider>>>::AddOns>; NodeTestContext<Adapter<N, Provider>, <N as Node<TmpNodeAdapter<N, Provider>>>::AddOns>;

View File

@ -34,7 +34,7 @@ use reth_node_types::BlockTy;
use reth_payload_builder::PayloadBuilderHandle; use reth_payload_builder::PayloadBuilderHandle;
use reth_payload_primitives::{PayloadAttributesBuilder, PayloadTypes}; use reth_payload_primitives::{PayloadAttributesBuilder, PayloadTypes};
use reth_provider::{ use reth_provider::{
providers::{BlockchainProvider2, EngineNodeTypes}, providers::{BlockchainProvider, EngineNodeTypes},
ChainSpecProvider, ProviderFactory, ChainSpecProvider, ProviderFactory,
}; };
use reth_prune::PrunerWithFactory; use reth_prune::PrunerWithFactory;
@ -69,7 +69,7 @@ where
consensus: Arc<dyn FullConsensus<N::Primitives, Error = ConsensusError>>, consensus: Arc<dyn FullConsensus<N::Primitives, Error = ConsensusError>>,
executor_factory: impl BlockExecutorProvider<Primitives = N::Primitives>, executor_factory: impl BlockExecutorProvider<Primitives = N::Primitives>,
provider: ProviderFactory<N>, provider: ProviderFactory<N>,
blockchain_db: BlockchainProvider2<N>, blockchain_db: BlockchainProvider<N>,
pruner: PrunerWithFactory<ProviderFactory<N>>, pruner: PrunerWithFactory<ProviderFactory<N>>,
payload_builder: PayloadBuilderHandle<N::Engine>, payload_builder: PayloadBuilderHandle<N::Engine>,
payload_validator: V, payload_validator: V,

View File

@ -20,7 +20,7 @@ use reth_node_types::{BlockTy, BodyTy, HeaderTy, NodeTypes, NodeTypesWithEngine}
use reth_payload_builder::PayloadBuilderHandle; use reth_payload_builder::PayloadBuilderHandle;
use reth_primitives::EthPrimitives; use reth_primitives::EthPrimitives;
use reth_provider::{ use reth_provider::{
providers::{BlockchainProvider2, EngineNodeTypes}, providers::{BlockchainProvider, EngineNodeTypes},
ProviderFactory, ProviderFactory,
}; };
use reth_prune::PrunerWithFactory; use reth_prune::PrunerWithFactory;
@ -79,7 +79,7 @@ where
pipeline: Pipeline<N>, pipeline: Pipeline<N>,
pipeline_task_spawner: Box<dyn TaskSpawner>, pipeline_task_spawner: Box<dyn TaskSpawner>,
provider: ProviderFactory<N>, provider: ProviderFactory<N>,
blockchain_db: BlockchainProvider2<N>, blockchain_db: BlockchainProvider<N>,
pruner: PrunerWithFactory<ProviderFactory<N>>, pruner: PrunerWithFactory<ProviderFactory<N>>,
payload_builder: PayloadBuilderHandle<N::Engine>, payload_builder: PayloadBuilderHandle<N::Engine>,
payload_validator: V, payload_validator: V,
@ -162,7 +162,7 @@ mod tests {
use reth_network_p2p::test_utils::TestFullBlockClient; use reth_network_p2p::test_utils::TestFullBlockClient;
use reth_primitives::SealedHeader; use reth_primitives::SealedHeader;
use reth_provider::{ use reth_provider::{
providers::BlockchainProvider2, test_utils::create_test_provider_factory_with_chain_spec, providers::BlockchainProvider, test_utils::create_test_provider_factory_with_chain_spec,
}; };
use reth_prune::Pruner; use reth_prune::Pruner;
use reth_tasks::TokioTaskExecutor; use reth_tasks::TokioTaskExecutor;
@ -192,7 +192,7 @@ mod tests {
let executor_factory = EthExecutorProvider::ethereum(chain_spec.clone()); let executor_factory = EthExecutorProvider::ethereum(chain_spec.clone());
let blockchain_db = let blockchain_db =
BlockchainProvider2::with_latest(provider_factory.clone(), SealedHeader::default()) BlockchainProvider::with_latest(provider_factory.clone(), SealedHeader::default())
.unwrap(); .unwrap();
let engine_payload_validator = EthereumEngineValidator::new(chain_spec.clone()); let engine_payload_validator = EthereumEngineValidator::new(chain_spec.clone());
let (_tx, rx) = watch::channel(FinishedExExHeight::NoExExs); let (_tx, rx) = watch::channel(FinishedExExHeight::NoExExs);

View File

@ -9,7 +9,7 @@ use reth_node_builder::{
}; };
use reth_node_core::args::DevArgs; use reth_node_core::args::DevArgs;
use reth_node_ethereum::{node::EthereumAddOns, EthereumNode}; use reth_node_ethereum::{node::EthereumAddOns, EthereumNode};
use reth_provider::{providers::BlockchainProvider2, CanonStateSubscriptions}; use reth_provider::{providers::BlockchainProvider, CanonStateSubscriptions};
use reth_rpc_eth_api::helpers::EthTransactions; use reth_rpc_eth_api::helpers::EthTransactions;
use reth_tasks::TaskManager; use reth_tasks::TaskManager;
use std::sync::Arc; use std::sync::Arc;
@ -25,7 +25,7 @@ async fn can_run_dev_node() -> eyre::Result<()> {
.with_dev(DevArgs { dev: true, ..Default::default() }); .with_dev(DevArgs { dev: true, ..Default::default() });
let NodeHandle { node, .. } = NodeBuilder::new(node_config.clone()) let NodeHandle { node, .. } = NodeBuilder::new(node_config.clone())
.testing_node(exec.clone()) .testing_node(exec.clone())
.with_types_and_provider::<EthereumNode, BlockchainProvider2<_>>() .with_types_and_provider::<EthereumNode, BlockchainProvider<_>>()
.with_components(EthereumNode::components()) .with_components(EthereumNode::components())
.with_add_ons(EthereumAddOns::default()) .with_add_ons(EthereumAddOns::default())
.launch_with_fn(|builder| { .launch_with_fn(|builder| {

View File

@ -9,7 +9,7 @@ use reth_db::{
use reth_node_api::NodeTypesWithDBAdapter; use reth_node_api::NodeTypesWithDBAdapter;
use reth_node_builder::{EngineNodeLauncher, FullNodeComponents, NodeBuilder, NodeConfig}; use reth_node_builder::{EngineNodeLauncher, FullNodeComponents, NodeBuilder, NodeConfig};
use reth_node_ethereum::node::{EthereumAddOns, EthereumNode}; use reth_node_ethereum::node::{EthereumAddOns, EthereumNode};
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
use reth_tasks::TaskManager; use reth_tasks::TaskManager;
#[test] #[test]
@ -50,7 +50,7 @@ async fn test_eth_launcher() {
let _builder = let _builder =
NodeBuilder::new(config) NodeBuilder::new(config)
.with_database(db) .with_database(db)
.with_types_and_provider::<EthereumNode, BlockchainProvider2< .with_types_and_provider::<EthereumNode, BlockchainProvider<
NodeTypesWithDBAdapter<EthereumNode, Arc<TempDatabase<DatabaseEnv>>>, NodeTypesWithDBAdapter<EthereumNode, Arc<TempDatabase<DatabaseEnv>>>,
>>() >>()
.with_components(EthereumNode::components()) .with_components(EthereumNode::components())

View File

@ -235,7 +235,7 @@ mod tests {
use reth_evm_ethereum::execute::EthExecutorProvider; use reth_evm_ethereum::execute::EthExecutorProvider;
use reth_primitives_traits::crypto::secp256k1::public_key_to_address; use reth_primitives_traits::crypto::secp256k1::public_key_to_address;
use reth_provider::{ use reth_provider::{
providers::BlockchainProvider2, test_utils::create_test_provider_factory_with_chain_spec, providers::BlockchainProvider, test_utils::create_test_provider_factory_with_chain_spec,
}; };
use reth_testing_utils::generators; use reth_testing_utils::generators;
use secp256k1::Keypair; use secp256k1::Keypair;
@ -253,7 +253,7 @@ mod tests {
let executor = EthExecutorProvider::ethereum(chain_spec.clone()); let executor = EthExecutorProvider::ethereum(chain_spec.clone());
let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone()); let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone());
init_genesis(&provider_factory)?; init_genesis(&provider_factory)?;
let blockchain_db = BlockchainProvider2::new(provider_factory.clone())?; let blockchain_db = BlockchainProvider::new(provider_factory.clone())?;
let blocks_and_execution_outputs = let blocks_and_execution_outputs =
blocks_and_execution_outputs(provider_factory, chain_spec, key_pair)?; blocks_and_execution_outputs(provider_factory, chain_spec, key_pair)?;
@ -289,7 +289,7 @@ mod tests {
let executor = EthExecutorProvider::ethereum(chain_spec.clone()); let executor = EthExecutorProvider::ethereum(chain_spec.clone());
let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone()); let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone());
init_genesis(&provider_factory)?; init_genesis(&provider_factory)?;
let blockchain_db = BlockchainProvider2::new(provider_factory.clone())?; let blockchain_db = BlockchainProvider::new(provider_factory.clone())?;
let blocks_and_execution_outcomes = let blocks_and_execution_outcomes =
blocks_and_execution_outputs(provider_factory, chain_spec, key_pair)?; blocks_and_execution_outputs(provider_factory, chain_spec, key_pair)?;

View File

@ -246,7 +246,7 @@ mod tests {
use reth_evm_ethereum::execute::EthExecutorProvider; use reth_evm_ethereum::execute::EthExecutorProvider;
use reth_primitives_traits::crypto::secp256k1::public_key_to_address; use reth_primitives_traits::crypto::secp256k1::public_key_to_address;
use reth_provider::{ use reth_provider::{
providers::BlockchainProvider2, test_utils::create_test_provider_factory_with_chain_spec, providers::BlockchainProvider, test_utils::create_test_provider_factory_with_chain_spec,
}; };
use reth_stages_api::ExecutionStageThresholds; use reth_stages_api::ExecutionStageThresholds;
use reth_testing_utils::generators; use reth_testing_utils::generators;
@ -265,7 +265,7 @@ mod tests {
let executor = EthExecutorProvider::ethereum(chain_spec.clone()); let executor = EthExecutorProvider::ethereum(chain_spec.clone());
let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone()); let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone());
init_genesis(&provider_factory)?; init_genesis(&provider_factory)?;
let blockchain_db = BlockchainProvider2::new(provider_factory.clone())?; let blockchain_db = BlockchainProvider::new(provider_factory.clone())?;
// Create first 2 blocks // Create first 2 blocks
let blocks_and_execution_outcomes = let blocks_and_execution_outcomes =
@ -303,7 +303,7 @@ mod tests {
let executor = EthExecutorProvider::ethereum(chain_spec.clone()); let executor = EthExecutorProvider::ethereum(chain_spec.clone());
let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone()); let provider_factory = create_test_provider_factory_with_chain_spec(chain_spec.clone());
init_genesis(&provider_factory)?; init_genesis(&provider_factory)?;
let blockchain_db = BlockchainProvider2::new(provider_factory.clone())?; let blockchain_db = BlockchainProvider::new(provider_factory.clone())?;
// Create first 2 blocks // Create first 2 blocks
let (blocks, execution_outcome) = let (blocks, execution_outcome) =

View File

@ -666,7 +666,7 @@ mod tests {
use reth_evm_ethereum::execute::EthExecutorProvider; use reth_evm_ethereum::execute::EthExecutorProvider;
use reth_primitives::SealedBlockWithSenders; use reth_primitives::SealedBlockWithSenders;
use reth_provider::{ use reth_provider::{
providers::BlockchainProvider2, test_utils::create_test_provider_factory, BlockReader, providers::BlockchainProvider, test_utils::create_test_provider_factory, BlockReader,
BlockWriter, Chain, DatabaseProviderFactory, StorageLocation, TransactionVariant, BlockWriter, Chain, DatabaseProviderFactory, StorageLocation, TransactionVariant,
}; };
use reth_testing_utils::generators::{self, random_block, BlockParams}; use reth_testing_utils::generators::{self, random_block, BlockParams};
@ -1098,7 +1098,7 @@ mod tests {
async fn exex_handle_new() { async fn exex_handle_new() {
let provider_factory = create_test_provider_factory(); let provider_factory = create_test_provider_factory();
init_genesis(&provider_factory).unwrap(); init_genesis(&provider_factory).unwrap();
let provider = BlockchainProvider2::new(provider_factory).unwrap(); let provider = BlockchainProvider::new(provider_factory).unwrap();
let temp_dir = tempfile::tempdir().unwrap(); let temp_dir = tempfile::tempdir().unwrap();
let wal = Wal::new(temp_dir.path()).unwrap(); let wal = Wal::new(temp_dir.path()).unwrap();
@ -1153,7 +1153,7 @@ mod tests {
async fn test_notification_if_finished_height_gt_chain_tip() { async fn test_notification_if_finished_height_gt_chain_tip() {
let provider_factory = create_test_provider_factory(); let provider_factory = create_test_provider_factory();
init_genesis(&provider_factory).unwrap(); init_genesis(&provider_factory).unwrap();
let provider = BlockchainProvider2::new(provider_factory).unwrap(); let provider = BlockchainProvider::new(provider_factory).unwrap();
let temp_dir = tempfile::tempdir().unwrap(); let temp_dir = tempfile::tempdir().unwrap();
let wal = Wal::new(temp_dir.path()).unwrap(); let wal = Wal::new(temp_dir.path()).unwrap();
@ -1203,7 +1203,7 @@ mod tests {
async fn test_sends_chain_reorged_notification() { async fn test_sends_chain_reorged_notification() {
let provider_factory = create_test_provider_factory(); let provider_factory = create_test_provider_factory();
init_genesis(&provider_factory).unwrap(); init_genesis(&provider_factory).unwrap();
let provider = BlockchainProvider2::new(provider_factory).unwrap(); let provider = BlockchainProvider::new(provider_factory).unwrap();
let temp_dir = tempfile::tempdir().unwrap(); let temp_dir = tempfile::tempdir().unwrap();
let wal = Wal::new(temp_dir.path()).unwrap(); let wal = Wal::new(temp_dir.path()).unwrap();
@ -1246,7 +1246,7 @@ mod tests {
async fn test_sends_chain_reverted_notification() { async fn test_sends_chain_reverted_notification() {
let provider_factory = create_test_provider_factory(); let provider_factory = create_test_provider_factory();
init_genesis(&provider_factory).unwrap(); init_genesis(&provider_factory).unwrap();
let provider = BlockchainProvider2::new(provider_factory).unwrap(); let provider = BlockchainProvider::new(provider_factory).unwrap();
let temp_dir = tempfile::tempdir().unwrap(); let temp_dir = tempfile::tempdir().unwrap();
let wal = Wal::new(temp_dir.path()).unwrap(); let wal = Wal::new(temp_dir.path()).unwrap();
@ -1306,7 +1306,7 @@ mod tests {
provider_rw.insert_block(block.clone(), StorageLocation::Database).unwrap(); provider_rw.insert_block(block.clone(), StorageLocation::Database).unwrap();
provider_rw.commit().unwrap(); provider_rw.commit().unwrap();
let provider = BlockchainProvider2::new(provider_factory).unwrap(); let provider = BlockchainProvider::new(provider_factory).unwrap();
let temp_dir = tempfile::tempdir().unwrap(); let temp_dir = tempfile::tempdir().unwrap();
let wal = Wal::new(temp_dir.path()).unwrap(); let wal = Wal::new(temp_dir.path()).unwrap();

View File

@ -446,7 +446,7 @@ mod tests {
use reth_evm_ethereum::execute::EthExecutorProvider; use reth_evm_ethereum::execute::EthExecutorProvider;
use reth_primitives::{Block, BlockExt}; use reth_primitives::{Block, BlockExt};
use reth_provider::{ use reth_provider::{
providers::BlockchainProvider2, test_utils::create_test_provider_factory, BlockWriter, providers::BlockchainProvider, test_utils::create_test_provider_factory, BlockWriter,
Chain, DatabaseProviderFactory, StorageLocation, Chain, DatabaseProviderFactory, StorageLocation,
}; };
use reth_testing_utils::generators::{self, random_block, BlockParams}; use reth_testing_utils::generators::{self, random_block, BlockParams};
@ -465,7 +465,7 @@ mod tests {
.block(genesis_hash.into())? .block(genesis_hash.into())?
.ok_or_else(|| eyre::eyre!("genesis block not found"))?; .ok_or_else(|| eyre::eyre!("genesis block not found"))?;
let provider = BlockchainProvider2::new(provider_factory.clone())?; let provider = BlockchainProvider::new(provider_factory.clone())?;
let node_head_block = random_block( let node_head_block = random_block(
&mut rng, &mut rng,
@ -547,7 +547,7 @@ mod tests {
.block(genesis_hash.into())? .block(genesis_hash.into())?
.ok_or_else(|| eyre::eyre!("genesis block not found"))?; .ok_or_else(|| eyre::eyre!("genesis block not found"))?;
let provider = BlockchainProvider2::new(provider_factory)?; let provider = BlockchainProvider::new(provider_factory)?;
let node_head = let node_head =
Head { number: genesis_block.number, hash: genesis_hash, ..Default::default() }; Head { number: genesis_block.number, hash: genesis_hash, ..Default::default() };
@ -604,7 +604,7 @@ mod tests {
.block(genesis_hash.into())? .block(genesis_hash.into())?
.ok_or_else(|| eyre::eyre!("genesis block not found"))?; .ok_or_else(|| eyre::eyre!("genesis block not found"))?;
let provider = BlockchainProvider2::new(provider_factory)?; let provider = BlockchainProvider::new(provider_factory)?;
let node_head_block = random_block( let node_head_block = random_block(
&mut rng, &mut rng,
@ -704,7 +704,7 @@ mod tests {
.block(genesis_hash.into())? .block(genesis_hash.into())?
.ok_or_else(|| eyre::eyre!("genesis block not found"))?; .ok_or_else(|| eyre::eyre!("genesis block not found"))?;
let provider = BlockchainProvider2::new(provider_factory)?; let provider = BlockchainProvider::new(provider_factory)?;
let exex_head_block = random_block( let exex_head_block = random_block(
&mut rng, &mut rng,

View File

@ -50,7 +50,7 @@ use reth_provider::{providers::StaticFileProvider, BlockReader, EthStorage, Prov
use reth_tasks::TaskManager; use reth_tasks::TaskManager;
use reth_transaction_pool::test_utils::{testing_pool, TestPool}; use reth_transaction_pool::test_utils::{testing_pool, TestPool};
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
use tempfile::TempDir; use tempfile::TempDir;
use thiserror::Error; use thiserror::Error;
use tokio::sync::mpsc::{Sender, UnboundedReceiver}; use tokio::sync::mpsc::{Sender, UnboundedReceiver};
@ -174,7 +174,7 @@ pub type Adapter = NodeAdapter<
FullNodeTypesAdapter< FullNodeTypesAdapter<
TestNode, TestNode,
TmpDB, TmpDB,
BlockchainProvider2<NodeTypesWithDBAdapter<TestNode, TmpDB>>, BlockchainProvider<NodeTypesWithDBAdapter<TestNode, TmpDB>>,
>, >,
>>::ComponentsBuilder as NodeComponentsBuilder<RethFullAdapter<TmpDB, TestNode>>>::Components, >>::ComponentsBuilder as NodeComponentsBuilder<RethFullAdapter<TmpDB, TestNode>>>::Components,
>; >;
@ -271,7 +271,7 @@ pub async fn test_exex_context_with_chain_spec(
); );
let genesis_hash = init_genesis(&provider_factory)?; let genesis_hash = init_genesis(&provider_factory)?;
let provider = BlockchainProvider2::new(provider_factory.clone())?; let provider = BlockchainProvider::new(provider_factory.clone())?;
let network_manager = NetworkManager::new( let network_manager = NetworkManager::new(
NetworkConfigBuilder::new(SecretKey::new(&mut rand::thread_rng())) NetworkConfigBuilder::new(SecretKey::new(&mut rand::thread_rng()))

View File

@ -33,7 +33,7 @@ use reth_node_core::{
primitives::Head, primitives::Head,
}; };
use reth_provider::{ use reth_provider::{
providers::{BlockchainProvider2, NodeTypesForProvider, NodeTypesForTree}, providers::{BlockchainProvider, NodeTypesForProvider, NodeTypesForTree},
ChainSpecProvider, FullProvider, ChainSpecProvider, FullProvider,
}; };
use reth_tasks::TaskExecutor; use reth_tasks::TaskExecutor;
@ -50,7 +50,7 @@ pub use states::*;
/// The adapter type for a reth node with the builtin provider type /// The adapter type for a reth node with the builtin provider type
// Note: we need to hardcode this because custom components might depend on it in associated types. // Note: we need to hardcode this because custom components might depend on it in associated types.
pub type RethFullAdapter<DB, Types> = pub type RethFullAdapter<DB, Types> =
FullNodeTypesAdapter<Types, DB, BlockchainProvider2<NodeTypesWithDBAdapter<Types, DB>>>; FullNodeTypesAdapter<Types, DB, BlockchainProvider<NodeTypesWithDBAdapter<Types, DB>>>;
#[allow(clippy::doc_markdown)] #[allow(clippy::doc_markdown)]
#[cfg_attr(doc, aquamarine::aquamarine)] #[cfg_attr(doc, aquamarine::aquamarine)]

View File

@ -29,7 +29,7 @@ use reth_node_core::{
}; };
use reth_node_events::{cl::ConsensusLayerHealthEvents, node}; use reth_node_events::{cl::ConsensusLayerHealthEvents, node};
use reth_primitives::EthereumHardforks; use reth_primitives::EthereumHardforks;
use reth_provider::providers::{BlockchainProvider2, NodeTypesForProvider}; use reth_provider::providers::{BlockchainProvider, NodeTypesForProvider};
use reth_tasks::TaskExecutor; use reth_tasks::TaskExecutor;
use reth_tokio_util::EventSender; use reth_tokio_util::EventSender;
use reth_tracing::tracing::{debug, error, info}; use reth_tracing::tracing::{debug, error, info};
@ -75,7 +75,7 @@ where
T: FullNodeTypes< T: FullNodeTypes<
Types = Types, Types = Types,
DB = DB, DB = DB,
Provider = BlockchainProvider2<NodeTypesWithDBAdapter<Types, DB>>, Provider = BlockchainProvider<NodeTypesWithDBAdapter<Types, DB>>,
>, >,
CB: NodeComponentsBuilder<T>, CB: NodeComponentsBuilder<T>,
AO: RethRpcAddOns<NodeAdapter<T, CB::Components>> AO: RethRpcAddOns<NodeAdapter<T, CB::Components>>
@ -127,7 +127,7 @@ where
// passing FullNodeTypes as type parameter here so that we can build // passing FullNodeTypes as type parameter here so that we can build
// later the components. // later the components.
.with_blockchain_db::<T, _>(move |provider_factory| { .with_blockchain_db::<T, _>(move |provider_factory| {
Ok(BlockchainProvider2::new(provider_factory)?) Ok(BlockchainProvider::new(provider_factory)?)
})? })?
.with_components(components_builder, on_component_initialized).await?; .with_components(components_builder, on_component_initialized).await?;

View File

@ -6,7 +6,7 @@ use clap::Parser;
use reth_node_builder::{engine_tree_config::TreeConfig, EngineNodeLauncher, Node}; use reth_node_builder::{engine_tree_config::TreeConfig, EngineNodeLauncher, Node};
use reth_optimism_cli::{chainspec::OpChainSpecParser, Cli}; use reth_optimism_cli::{chainspec::OpChainSpecParser, Cli};
use reth_optimism_node::{args::RollupArgs, OpNode}; use reth_optimism_node::{args::RollupArgs, OpNode};
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
use tracing as _; use tracing as _;
@ -29,7 +29,7 @@ fn main() {
let op_node = OpNode::new(rollup_args.clone()); let op_node = OpNode::new(rollup_args.clone());
let handle = builder let handle = builder
.with_types_and_provider::<OpNode, BlockchainProvider2<_>>() .with_types_and_provider::<OpNode, BlockchainProvider<_>>()
.with_components(op_node.components()) .with_components(op_node.components())
.with_add_ons(op_node.add_ons()) .with_add_ons(op_node.add_ons())
.launch_with_fn(|builder| { .launch_with_fn(|builder| {

View File

@ -8,14 +8,14 @@ use reth_e2e_test_utils::{
use reth_node_api::NodeTypesWithDBAdapter; use reth_node_api::NodeTypesWithDBAdapter;
use reth_optimism_chainspec::OpChainSpecBuilder; use reth_optimism_chainspec::OpChainSpecBuilder;
use reth_payload_builder::EthPayloadBuilderAttributes; use reth_payload_builder::EthPayloadBuilderAttributes;
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
use reth_tasks::TaskManager; use reth_tasks::TaskManager;
use std::sync::Arc; use std::sync::Arc;
use tokio::sync::Mutex; use tokio::sync::Mutex;
/// Optimism Node Helper type /// Optimism Node Helper type
pub(crate) type OpNode = pub(crate) type OpNode =
NodeHelperType<OtherOpNode, BlockchainProvider2<NodeTypesWithDBAdapter<OtherOpNode, TmpDB>>>; NodeHelperType<OtherOpNode, BlockchainProvider<NodeTypesWithDBAdapter<OtherOpNode, TmpDB>>>;
/// Creates the initial setup with `num_nodes` of the node config, started and connected. /// Creates the initial setup with `num_nodes` of the node config, started and connected.
pub async fn setup(num_nodes: usize) -> eyre::Result<(Vec<OpNode>, TaskManager, Wallet)> { pub async fn setup(num_nodes: usize) -> eyre::Result<(Vec<OpNode>, TaskManager, Wallet)> {

View File

@ -5,7 +5,7 @@ use reth_node_api::{FullNodeComponents, NodeTypesWithDBAdapter};
use reth_node_builder::{Node, NodeBuilder, NodeConfig}; use reth_node_builder::{Node, NodeBuilder, NodeConfig};
use reth_optimism_chainspec::BASE_MAINNET; use reth_optimism_chainspec::BASE_MAINNET;
use reth_optimism_node::{args::RollupArgs, OpNode}; use reth_optimism_node::{args::RollupArgs, OpNode};
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
#[test] #[test]
fn test_basic_setup() { fn test_basic_setup() {
@ -16,7 +16,7 @@ fn test_basic_setup() {
let op_node = OpNode::new(args); let op_node = OpNode::new(args);
let _builder = NodeBuilder::new(config) let _builder = NodeBuilder::new(config)
.with_database(db) .with_database(db)
.with_types_and_provider::<OpNode, BlockchainProvider2<NodeTypesWithDBAdapter<OpNode, _>>>() .with_types_and_provider::<OpNode, BlockchainProvider<NodeTypesWithDBAdapter<OpNode, _>>>()
.with_components(op_node.components()) .with_components(op_node.components())
.with_add_ons(op_node.add_ons()) .with_add_ons(op_node.add_ons())
.on_component_initialized(move |ctx| { .on_component_initialized(move |ctx| {

View File

@ -29,7 +29,7 @@ use reth_optimism_payload_builder::builder::OpPayloadTransactions;
use reth_optimism_primitives::{OpPrimitives, OpTransactionSigned}; use reth_optimism_primitives::{OpPrimitives, OpTransactionSigned};
use reth_payload_util::{PayloadTransactions, PayloadTransactionsChain, PayloadTransactionsFixed}; use reth_payload_util::{PayloadTransactions, PayloadTransactionsChain, PayloadTransactionsFixed};
use reth_primitives::RecoveredTx; use reth_primitives::RecoveredTx;
use reth_provider::providers::BlockchainProvider2; use reth_provider::providers::BlockchainProvider;
use reth_tasks::TaskManager; use reth_tasks::TaskManager;
use reth_transaction_pool::{pool::BestPayloadTransactions, PoolTransaction}; use reth_transaction_pool::{pool::BestPayloadTransactions, PoolTransaction};
use std::sync::Arc; use std::sync::Arc;
@ -148,7 +148,7 @@ async fn test_custom_block_priority_config() {
let tasks = TaskManager::current(); let tasks = TaskManager::current();
let node_handle = NodeBuilder::new(config.clone()) let node_handle = NodeBuilder::new(config.clone())
.with_database(db) .with_database(db)
.with_types_and_provider::<OpNode, BlockchainProvider2<_>>() .with_types_and_provider::<OpNode, BlockchainProvider<_>>()
.with_components(build_components(config.chain.chain_id())) .with_components(build_components(config.chain.chain_id()))
.with_add_ons(OpAddOns::default()) .with_add_ons(OpAddOns::default())
.launch_with_fn(|builder| { .launch_with_fn(|builder| {

View File

@ -147,7 +147,7 @@ mod tests {
use super::*; use super::*;
use alloy_primitives::B256; use alloy_primitives::B256;
use reth_provider::{ use reth_provider::{
providers::BlockchainProvider2, providers::BlockchainProvider,
test_utils::{create_test_provider_factory, MockEthProvider}, test_utils::{create_test_provider_factory, MockEthProvider},
}; };
use reth_testing_utils::generators::{self, random_block_range, BlockRangeParams}; use reth_testing_utils::generators::{self, random_block_range, BlockRangeParams};
@ -198,7 +198,7 @@ mod tests {
provider_rw.commit().expect("failed to commit"); provider_rw.commit().expect("failed to commit");
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory).unwrap(); let provider = BlockchainProvider::new(factory).unwrap();
// Since there are no transactions, expected None // Since there are no transactions, expected None
let range = input.get_next_tx_num_range(&provider).expect("Expected range"); let range = input.get_next_tx_num_range(&provider).expect("Expected range");
@ -236,7 +236,7 @@ mod tests {
provider_rw.commit().expect("failed to commit"); provider_rw.commit().expect("failed to commit");
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory).unwrap(); let provider = BlockchainProvider::new(factory).unwrap();
// Get the next tx number range // Get the next tx number range
let range = input.get_next_tx_num_range(&provider).expect("Expected range").unwrap(); let range = input.get_next_tx_num_range(&provider).expect("Expected range").unwrap();
@ -282,7 +282,7 @@ mod tests {
provider_rw.commit().expect("failed to commit"); provider_rw.commit().expect("failed to commit");
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory).unwrap(); let provider = BlockchainProvider::new(factory).unwrap();
// Fetch the range and check if it is correct // Fetch the range and check if it is correct
let range = input.get_next_tx_num_range(&provider).expect("Expected range").unwrap(); let range = input.get_next_tx_num_range(&provider).expect("Expected range").unwrap();
@ -318,7 +318,7 @@ mod tests {
provider_rw.commit().expect("failed to commit"); provider_rw.commit().expect("failed to commit");
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory).unwrap(); let provider = BlockchainProvider::new(factory).unwrap();
// Get the last tx number // Get the last tx number
// Calculate the total number of transactions // Calculate the total number of transactions

View File

@ -1,6 +1,6 @@
#![allow(unused)] #![allow(unused)]
use crate::{ use crate::{
providers::{ConsistentProvider, StaticFileProvider}, providers::{ConsistentProvider, ProviderNodeTypes, StaticFileProvider},
AccountReader, BlockHashReader, BlockIdReader, BlockNumReader, BlockReader, BlockReaderIdExt, AccountReader, BlockHashReader, BlockIdReader, BlockNumReader, BlockReader, BlockReaderIdExt,
BlockSource, CanonChainTracker, CanonStateNotifications, CanonStateSubscriptions, BlockSource, CanonChainTracker, CanonStateNotifications, CanonStateSubscriptions,
ChainSpecProvider, ChainStateBlockReader, ChangeSetReader, DatabaseProvider, ChainSpecProvider, ChainStateBlockReader, ChangeSetReader, DatabaseProvider,
@ -51,15 +51,13 @@ use std::{
}; };
use tracing::trace; use tracing::trace;
use crate::providers::ProviderNodeTypes;
/// The main type for interacting with the blockchain. /// The main type for interacting with the blockchain.
/// ///
/// This type serves as the main entry point for interacting with the blockchain and provides data /// This type serves as the main entry point for interacting with the blockchain and provides data
/// from database storage and from the blockchain tree (pending state etc.) It is a simple wrapper /// from database storage and from the blockchain tree (pending state etc.) It is a simple wrapper
/// type that holds an instance of the database and the blockchain tree. /// type that holds an instance of the database and the blockchain tree.
#[derive(Debug)] #[derive(Debug)]
pub struct BlockchainProvider2<N: NodeTypesWithDB> { pub struct BlockchainProvider<N: NodeTypesWithDB> {
/// Provider factory used to access the database. /// Provider factory used to access the database.
pub(crate) database: ProviderFactory<N>, pub(crate) database: ProviderFactory<N>,
/// Tracks the chain info wrt forkchoice updates and in memory canonical /// Tracks the chain info wrt forkchoice updates and in memory canonical
@ -67,7 +65,7 @@ pub struct BlockchainProvider2<N: NodeTypesWithDB> {
pub(crate) canonical_in_memory_state: CanonicalInMemoryState<N::Primitives>, pub(crate) canonical_in_memory_state: CanonicalInMemoryState<N::Primitives>,
} }
impl<N: NodeTypesWithDB> Clone for BlockchainProvider2<N> { impl<N: NodeTypesWithDB> Clone for BlockchainProvider<N> {
fn clone(&self) -> Self { fn clone(&self) -> Self {
Self { Self {
database: self.database.clone(), database: self.database.clone(),
@ -76,8 +74,8 @@ impl<N: NodeTypesWithDB> Clone for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> BlockchainProvider2<N> { impl<N: ProviderNodeTypes> BlockchainProvider<N> {
/// Create a new [`BlockchainProvider2`] using only the storage, fetching the latest /// Create a new [`BlockchainProvider`] using only the storage, fetching the latest
/// header from the database to initialize the provider. /// header from the database to initialize the provider.
pub fn new(storage: ProviderFactory<N>) -> ProviderResult<Self> { pub fn new(storage: ProviderFactory<N>) -> ProviderResult<Self> {
let provider = storage.provider()?; let provider = storage.provider()?;
@ -160,11 +158,11 @@ impl<N: ProviderNodeTypes> BlockchainProvider2<N> {
} }
} }
impl<N: NodeTypesWithDB> NodePrimitivesProvider for BlockchainProvider2<N> { impl<N: NodeTypesWithDB> NodePrimitivesProvider for BlockchainProvider<N> {
type Primitives = N::Primitives; type Primitives = N::Primitives;
} }
impl<N: ProviderNodeTypes> DatabaseProviderFactory for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> DatabaseProviderFactory for BlockchainProvider<N> {
type DB = N::DB; type DB = N::DB;
type Provider = <ProviderFactory<N> as DatabaseProviderFactory>::Provider; type Provider = <ProviderFactory<N> as DatabaseProviderFactory>::Provider;
type ProviderRW = <ProviderFactory<N> as DatabaseProviderFactory>::ProviderRW; type ProviderRW = <ProviderFactory<N> as DatabaseProviderFactory>::ProviderRW;
@ -178,17 +176,17 @@ impl<N: ProviderNodeTypes> DatabaseProviderFactory for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> StateCommitmentProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> StateCommitmentProvider for BlockchainProvider<N> {
type StateCommitment = N::StateCommitment; type StateCommitment = N::StateCommitment;
} }
impl<N: ProviderNodeTypes> StaticFileProviderFactory for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> StaticFileProviderFactory for BlockchainProvider<N> {
fn static_file_provider(&self) -> StaticFileProvider<Self::Primitives> { fn static_file_provider(&self) -> StaticFileProvider<Self::Primitives> {
self.database.static_file_provider() self.database.static_file_provider()
} }
} }
impl<N: ProviderNodeTypes> HeaderProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> HeaderProvider for BlockchainProvider<N> {
type Header = HeaderTy<N>; type Header = HeaderTy<N>;
fn header(&self, block_hash: &BlockHash) -> ProviderResult<Option<Self::Header>> { fn header(&self, block_hash: &BlockHash) -> ProviderResult<Option<Self::Header>> {
@ -237,7 +235,7 @@ impl<N: ProviderNodeTypes> HeaderProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> BlockHashReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> BlockHashReader for BlockchainProvider<N> {
fn block_hash(&self, number: u64) -> ProviderResult<Option<B256>> { fn block_hash(&self, number: u64) -> ProviderResult<Option<B256>> {
self.consistent_provider()?.block_hash(number) self.consistent_provider()?.block_hash(number)
} }
@ -251,7 +249,7 @@ impl<N: ProviderNodeTypes> BlockHashReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> BlockNumReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> BlockNumReader for BlockchainProvider<N> {
fn chain_info(&self) -> ProviderResult<ChainInfo> { fn chain_info(&self) -> ProviderResult<ChainInfo> {
Ok(self.canonical_in_memory_state.chain_info()) Ok(self.canonical_in_memory_state.chain_info())
} }
@ -269,7 +267,7 @@ impl<N: ProviderNodeTypes> BlockNumReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> BlockIdReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> BlockIdReader for BlockchainProvider<N> {
fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>> { fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>> {
Ok(self.canonical_in_memory_state.pending_block_num_hash()) Ok(self.canonical_in_memory_state.pending_block_num_hash())
} }
@ -283,7 +281,7 @@ impl<N: ProviderNodeTypes> BlockIdReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> BlockReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> BlockReader for BlockchainProvider<N> {
type Block = BlockTy<N>; type Block = BlockTy<N>;
fn find_block_by_hash( fn find_block_by_hash(
@ -355,7 +353,7 @@ impl<N: ProviderNodeTypes> BlockReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> TransactionsProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> TransactionsProvider for BlockchainProvider<N> {
type Transaction = TxTy<N>; type Transaction = TxTy<N>;
fn transaction_id(&self, tx_hash: TxHash) -> ProviderResult<Option<TxNumber>> { fn transaction_id(&self, tx_hash: TxHash) -> ProviderResult<Option<TxNumber>> {
@ -421,7 +419,7 @@ impl<N: ProviderNodeTypes> TransactionsProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> ReceiptProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> ReceiptProvider for BlockchainProvider<N> {
type Receipt = ReceiptTy<N>; type Receipt = ReceiptTy<N>;
fn receipt(&self, id: TxNumber) -> ProviderResult<Option<Self::Receipt>> { fn receipt(&self, id: TxNumber) -> ProviderResult<Option<Self::Receipt>> {
@ -447,13 +445,13 @@ impl<N: ProviderNodeTypes> ReceiptProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> ReceiptProviderIdExt for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> ReceiptProviderIdExt for BlockchainProvider<N> {
fn receipts_by_block_id(&self, block: BlockId) -> ProviderResult<Option<Vec<Self::Receipt>>> { fn receipts_by_block_id(&self, block: BlockId) -> ProviderResult<Option<Vec<Self::Receipt>>> {
self.consistent_provider()?.receipts_by_block_id(block) self.consistent_provider()?.receipts_by_block_id(block)
} }
} }
impl<N: ProviderNodeTypes> WithdrawalsProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> WithdrawalsProvider for BlockchainProvider<N> {
fn withdrawals_by_block( fn withdrawals_by_block(
&self, &self,
id: BlockHashOrNumber, id: BlockHashOrNumber,
@ -463,13 +461,13 @@ impl<N: ProviderNodeTypes> WithdrawalsProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> OmmersProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> OmmersProvider for BlockchainProvider<N> {
fn ommers(&self, id: BlockHashOrNumber) -> ProviderResult<Option<Vec<Self::Header>>> { fn ommers(&self, id: BlockHashOrNumber) -> ProviderResult<Option<Vec<Self::Header>>> {
self.consistent_provider()?.ommers(id) self.consistent_provider()?.ommers(id)
} }
} }
impl<N: ProviderNodeTypes> BlockBodyIndicesProvider for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> BlockBodyIndicesProvider for BlockchainProvider<N> {
fn block_body_indices( fn block_body_indices(
&self, &self,
number: BlockNumber, number: BlockNumber,
@ -478,7 +476,7 @@ impl<N: ProviderNodeTypes> BlockBodyIndicesProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> StageCheckpointReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> StageCheckpointReader for BlockchainProvider<N> {
fn get_stage_checkpoint(&self, id: StageId) -> ProviderResult<Option<StageCheckpoint>> { fn get_stage_checkpoint(&self, id: StageId) -> ProviderResult<Option<StageCheckpoint>> {
self.consistent_provider()?.get_stage_checkpoint(id) self.consistent_provider()?.get_stage_checkpoint(id)
} }
@ -492,7 +490,7 @@ impl<N: ProviderNodeTypes> StageCheckpointReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> PruneCheckpointReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> PruneCheckpointReader for BlockchainProvider<N> {
fn get_prune_checkpoint( fn get_prune_checkpoint(
&self, &self,
segment: PruneSegment, segment: PruneSegment,
@ -505,7 +503,7 @@ impl<N: ProviderNodeTypes> PruneCheckpointReader for BlockchainProvider2<N> {
} }
} }
impl<N: NodeTypesWithDB> ChainSpecProvider for BlockchainProvider2<N> { impl<N: NodeTypesWithDB> ChainSpecProvider for BlockchainProvider<N> {
type ChainSpec = N::ChainSpec; type ChainSpec = N::ChainSpec;
fn chain_spec(&self) -> Arc<N::ChainSpec> { fn chain_spec(&self) -> Arc<N::ChainSpec> {
@ -513,7 +511,7 @@ impl<N: NodeTypesWithDB> ChainSpecProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> StateProviderFactory for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> StateProviderFactory for BlockchainProvider<N> {
/// Storage provider for latest block /// Storage provider for latest block
fn latest(&self) -> ProviderResult<StateProviderBox> { fn latest(&self) -> ProviderResult<StateProviderBox> {
trace!(target: "providers::blockchain", "Getting latest block state provider"); trace!(target: "providers::blockchain", "Getting latest block state provider");
@ -622,7 +620,7 @@ impl<N: ProviderNodeTypes> StateProviderFactory for BlockchainProvider2<N> {
} }
} }
impl<N: NodeTypesWithDB> HashedPostStateProvider for BlockchainProvider2<N> { impl<N: NodeTypesWithDB> HashedPostStateProvider for BlockchainProvider<N> {
fn hashed_post_state(&self, bundle_state: &BundleState) -> HashedPostState { fn hashed_post_state(&self, bundle_state: &BundleState) -> HashedPostState {
HashedPostState::from_bundle_state::<<N::StateCommitment as StateCommitment>::KeyHasher>( HashedPostState::from_bundle_state::<<N::StateCommitment as StateCommitment>::KeyHasher>(
bundle_state.state(), bundle_state.state(),
@ -630,7 +628,7 @@ impl<N: NodeTypesWithDB> HashedPostStateProvider for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> CanonChainTracker for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> CanonChainTracker for BlockchainProvider<N> {
type Header = HeaderTy<N>; type Header = HeaderTy<N>;
fn on_forkchoice_update_received(&self, _update: &ForkchoiceState) { fn on_forkchoice_update_received(&self, _update: &ForkchoiceState) {
@ -663,7 +661,7 @@ impl<N: ProviderNodeTypes> CanonChainTracker for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> BlockReaderIdExt for BlockchainProvider2<N> impl<N: ProviderNodeTypes> BlockReaderIdExt for BlockchainProvider<N>
where where
Self: ReceiptProviderIdExt, Self: ReceiptProviderIdExt,
{ {
@ -701,13 +699,13 @@ where
} }
} }
impl<N: ProviderNodeTypes> CanonStateSubscriptions for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> CanonStateSubscriptions for BlockchainProvider<N> {
fn subscribe_to_canonical_state(&self) -> CanonStateNotifications<Self::Primitives> { fn subscribe_to_canonical_state(&self) -> CanonStateNotifications<Self::Primitives> {
self.canonical_in_memory_state.subscribe_canon_state() self.canonical_in_memory_state.subscribe_canon_state()
} }
} }
impl<N: ProviderNodeTypes> ForkChoiceSubscriptions for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> ForkChoiceSubscriptions for BlockchainProvider<N> {
type Header = HeaderTy<N>; type Header = HeaderTy<N>;
fn subscribe_safe_block(&self) -> ForkChoiceNotifications<Self::Header> { fn subscribe_safe_block(&self) -> ForkChoiceNotifications<Self::Header> {
@ -721,7 +719,7 @@ impl<N: ProviderNodeTypes> ForkChoiceSubscriptions for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> StorageChangeSetReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> StorageChangeSetReader for BlockchainProvider<N> {
fn storage_changeset( fn storage_changeset(
&self, &self,
block_number: BlockNumber, block_number: BlockNumber,
@ -730,7 +728,7 @@ impl<N: ProviderNodeTypes> StorageChangeSetReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> ChangeSetReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> ChangeSetReader for BlockchainProvider<N> {
fn account_block_changeset( fn account_block_changeset(
&self, &self,
block_number: BlockNumber, block_number: BlockNumber,
@ -739,14 +737,14 @@ impl<N: ProviderNodeTypes> ChangeSetReader for BlockchainProvider2<N> {
} }
} }
impl<N: ProviderNodeTypes> AccountReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> AccountReader for BlockchainProvider<N> {
/// Get basic account information. /// Get basic account information.
fn basic_account(&self, address: &Address) -> ProviderResult<Option<Account>> { fn basic_account(&self, address: &Address) -> ProviderResult<Option<Account>> {
self.consistent_provider()?.basic_account(address) self.consistent_provider()?.basic_account(address)
} }
} }
impl<N: ProviderNodeTypes> StateReader for BlockchainProvider2<N> { impl<N: ProviderNodeTypes> StateReader for BlockchainProvider<N> {
type Receipt = ReceiptTy<N>; type Receipt = ReceiptTy<N>;
/// Re-constructs the [`ExecutionOutcome`] from in-memory and database state, if necessary. /// Re-constructs the [`ExecutionOutcome`] from in-memory and database state, if necessary.
@ -769,7 +767,7 @@ impl<N: ProviderNodeTypes> StateReader for BlockchainProvider2<N> {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use crate::{ use crate::{
providers::BlockchainProvider2, providers::BlockchainProvider,
test_utils::{ test_utils::{
create_test_provider_factory, create_test_provider_factory_with_chain_spec, create_test_provider_factory, create_test_provider_factory_with_chain_spec,
MockNodeTypesWithDB, MockNodeTypesWithDB,
@ -860,7 +858,7 @@ mod tests {
in_memory_blocks: usize, in_memory_blocks: usize,
block_range_params: BlockRangeParams, block_range_params: BlockRangeParams,
) -> eyre::Result<( ) -> eyre::Result<(
BlockchainProvider2<MockNodeTypesWithDB>, BlockchainProvider<MockNodeTypesWithDB>,
Vec<SealedBlock>, Vec<SealedBlock>,
Vec<SealedBlock>, Vec<SealedBlock>,
Vec<Vec<Receipt>>, Vec<Vec<Receipt>>,
@ -916,7 +914,7 @@ mod tests {
// Commit to both storages: database and static files // Commit to both storages: database and static files
UnifiedStorageWriter::commit(provider_rw)?; UnifiedStorageWriter::commit(provider_rw)?;
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
// Insert the rest of the blocks and receipts into the in-memory state // Insert the rest of the blocks and receipts into the in-memory state
let chain = NewCanonicalChain::Commit { let chain = NewCanonicalChain::Commit {
@ -962,7 +960,7 @@ mod tests {
in_memory_blocks: usize, in_memory_blocks: usize,
block_range_params: BlockRangeParams, block_range_params: BlockRangeParams,
) -> eyre::Result<( ) -> eyre::Result<(
BlockchainProvider2<MockNodeTypesWithDB>, BlockchainProvider<MockNodeTypesWithDB>,
Vec<SealedBlock>, Vec<SealedBlock>,
Vec<SealedBlock>, Vec<SealedBlock>,
Vec<Vec<Receipt>>, Vec<Vec<Receipt>>,
@ -982,7 +980,7 @@ mod tests {
/// This simulates a RPC method having a different view than when its database transaction was /// This simulates a RPC method having a different view than when its database transaction was
/// created. /// created.
fn persist_block_after_db_tx_creation( fn persist_block_after_db_tx_creation(
provider: BlockchainProvider2<MockNodeTypesWithDB>, provider: BlockchainProvider<MockNodeTypesWithDB>,
block_number: BlockNumber, block_number: BlockNumber,
) { ) {
let hook_provider = provider.clone(); let hook_provider = provider.clone();
@ -1035,7 +1033,7 @@ mod tests {
provider_rw.commit()?; provider_rw.commit()?;
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
// Useful blocks // Useful blocks
let first_db_block = database_blocks.first().unwrap(); let first_db_block = database_blocks.first().unwrap();
@ -1133,7 +1131,7 @@ mod tests {
provider_rw.commit()?; provider_rw.commit()?;
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
// First in memory block // First in memory block
let first_in_mem_block = in_memory_blocks.first().unwrap(); let first_in_mem_block = in_memory_blocks.first().unwrap();
@ -1397,7 +1395,7 @@ mod tests {
provider_rw.insert_historical_block(block_1)?; provider_rw.insert_historical_block(block_1)?;
provider_rw.commit()?; provider_rw.commit()?;
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
// Subscribe twice for canonical state updates. // Subscribe twice for canonical state updates.
let in_memory_state = provider.canonical_in_memory_state(); let in_memory_state = provider.canonical_in_memory_state();
@ -1833,7 +1831,7 @@ mod tests {
)?; )?;
provider_rw.commit()?; provider_rw.commit()?;
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
let in_memory_changesets = in_memory_changesets.into_iter().next().unwrap(); let in_memory_changesets = in_memory_changesets.into_iter().next().unwrap();
let chain = NewCanonicalChain::Commit { let chain = NewCanonicalChain::Commit {

View File

@ -1444,7 +1444,7 @@ impl<N: ProviderNodeTypes> StateReader for ConsistentProvider<N> {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use crate::{ use crate::{
providers::blockchain_provider::BlockchainProvider2, providers::blockchain_provider::BlockchainProvider,
test_utils::create_test_provider_factory, BlockWriter, test_utils::create_test_provider_factory, BlockWriter,
}; };
use alloy_eips::BlockHashOrNumber; use alloy_eips::BlockHashOrNumber;
@ -1524,7 +1524,7 @@ mod tests {
provider_rw.commit()?; provider_rw.commit()?;
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
let consistent_provider = provider.consistent_provider()?; let consistent_provider = provider.consistent_provider()?;
// Useful blocks // Useful blocks
@ -1635,7 +1635,7 @@ mod tests {
provider_rw.commit()?; provider_rw.commit()?;
// Create a new provider // Create a new provider
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
let consistent_provider = provider.consistent_provider()?; let consistent_provider = provider.consistent_provider()?;
// First in memory block // First in memory block
@ -1753,7 +1753,7 @@ mod tests {
)?; )?;
provider_rw.commit()?; provider_rw.commit()?;
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
let in_memory_changesets = in_memory_changesets.into_iter().next().unwrap(); let in_memory_changesets = in_memory_changesets.into_iter().next().unwrap();
let chain = NewCanonicalChain::Commit { let chain = NewCanonicalChain::Commit {

View File

@ -27,7 +27,7 @@ mod consistent_view;
pub use consistent_view::{ConsistentDbView, ConsistentViewError}; pub use consistent_view::{ConsistentDbView, ConsistentViewError};
mod blockchain_provider; mod blockchain_provider;
pub use blockchain_provider::BlockchainProvider2; pub use blockchain_provider::BlockchainProvider;
mod consistent; mod consistent;
pub use consistent::ConsistentProvider; pub use consistent::ConsistentProvider;

View File

@ -18,7 +18,7 @@ use reth::{
api::NodeTypesWithDBAdapter, api::NodeTypesWithDBAdapter,
beacon_consensus::EthBeaconConsensus, beacon_consensus::EthBeaconConsensus,
providers::{ providers::{
providers::{BlockchainProvider2, StaticFileProvider}, providers::{BlockchainProvider, StaticFileProvider},
ProviderFactory, ProviderFactory,
}, },
rpc::eth::EthApi, rpc::eth::EthApi,
@ -61,7 +61,7 @@ async fn main() -> eyre::Result<()> {
// 2. Setup the blockchain provider using only the database provider and a noop for the tree to // 2. Setup the blockchain provider using only the database provider and a noop for the tree to
// satisfy trait bounds. Tree is not used in this example since we are only operating on the // satisfy trait bounds. Tree is not used in this example since we are only operating on the
// disk and don't handle new blocks/live sync etc, which is done by the blockchain tree. // disk and don't handle new blocks/live sync etc, which is done by the blockchain tree.
let provider = BlockchainProvider2::new(factory)?; let provider = BlockchainProvider::new(factory)?;
let rpc_builder = RpcModuleBuilder::default() let rpc_builder = RpcModuleBuilder::default()
.with_provider(provider.clone()) .with_provider(provider.clone())