mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore!: rename blockchainprovider2 (#13727)
This commit is contained in:
@ -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 =
|
||||||
|
|||||||
@ -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| {
|
||||||
|
|||||||
@ -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>;
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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| {
|
||||||
|
|||||||
@ -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())
|
||||||
|
|||||||
@ -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)?;
|
||||||
|
|||||||
@ -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) =
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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()))
|
||||||
|
|||||||
@ -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)]
|
||||||
|
|||||||
@ -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?;
|
||||||
|
|
||||||
|
|||||||
@ -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| {
|
||||||
|
|||||||
@ -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)> {
|
||||||
|
|||||||
@ -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| {
|
||||||
|
|||||||
@ -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| {
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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())
|
||||||
|
|||||||
Reference in New Issue
Block a user