From eb1cafa40dfdf9fa89067650aaa72d223357ce2c Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 13 Feb 2024 15:35:17 +0100 Subject: [PATCH] chore: simplify networkbuilder (#6580) --- bin/reth/src/builder.rs | 4 ++-- crates/node-core/src/node_config.rs | 23 +++++++++++------------ 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bin/reth/src/builder.rs b/bin/reth/src/builder.rs index 464024769f..9a8f904d25 100644 --- a/bin/reth/src/builder.rs +++ b/bin/reth/src/builder.rs @@ -199,7 +199,7 @@ impl NodeBuilderWit self.config.build_and_spawn_txpool(&blockchain_db, head, &executor, &self.data_dir)?; // build network - let (network_client, mut network_builder) = self + let mut network_builder = self .config .build_network( &config, @@ -227,7 +227,7 @@ impl NodeBuilderWit network_builder, &executor, transaction_pool.clone(), - network_client, + provider_factory.clone(), &self.data_dir, ); diff --git a/crates/node-core/src/node_config.rs b/crates/node-core/src/node_config.rs index 1a98c89f0d..3e5a4fc9a4 100644 --- a/crates/node-core/src/node_config.rs +++ b/crates/node-core/src/node_config.rs @@ -44,7 +44,7 @@ use reth_primitives::{ BlockHashOrNumber, BlockNumber, ChainSpec, Head, SealedHeader, TxHash, B256, MAINNET, }; use reth_provider::{ - providers::BlockchainProvider, BlockHashReader, BlockReader, + providers::BlockchainProvider, BlockHashReader, BlockNumReader, BlockReader, BlockchainTreePendingStateProvider, CanonStateSubscriptions, HeaderProvider, HeaderSyncMode, ProviderFactory, StageCheckpointReader, }; @@ -384,32 +384,31 @@ impl NodeConfig { } /// Build a network and spawn it - pub async fn build_network( + pub async fn build_network( &self, config: &Config, - provider_factory: ProviderFactory, + client: C, executor: TaskExecutor, head: Head, data_dir: &ChainPath, - ) -> eyre::Result<(ProviderFactory, NetworkBuilder, (), ()>)> + ) -> eyre::Result> where - DB: Database + Unpin + Clone + 'static, + C: BlockNumReader, { info!(target: "reth::cli", "Connecting to P2P network"); let secret_key = self.network_secret(data_dir)?; let default_peers_path = data_dir.known_peers_path(); let network_config = self.load_network_config( config, - provider_factory, + client, executor.clone(), head, secret_key, default_peers_path.clone(), ); - let client = network_config.client.clone(); let builder = NetworkManager::builder(network_config).await?; - Ok((client, builder)) + Ok(builder) } /// Build the blockchain tree @@ -719,15 +718,15 @@ impl NodeConfig { } /// Builds the [NetworkConfig] with the given [ProviderFactory]. - pub fn load_network_config( + pub fn load_network_config( &self, config: &Config, - provider_factory: ProviderFactory, + client: C, executor: TaskExecutor, head: Head, secret_key: SecretKey, default_peers_path: PathBuf, - ) -> NetworkConfig> { + ) -> NetworkConfig { let cfg_builder = self .network .network_config(config, self.chain.clone(), secret_key, default_peers_path) @@ -752,7 +751,7 @@ impl NodeConfig { .sequencer_endpoint(self.rollup.sequencer_http.clone()) .disable_tx_gossip(self.rollup.disable_txpool_gossip); - cfg_builder.build(provider_factory) + cfg_builder.build(client) } /// Builds the [Pipeline] with the given [ProviderFactory] and downloaders.