mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: simplify networkbuilder (#6580)
This commit is contained in:
@ -199,7 +199,7 @@ impl<DB: Database + DatabaseMetrics + DatabaseMetadata + 'static> 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<DB: Database + DatabaseMetrics + DatabaseMetadata + 'static> NodeBuilderWit
|
||||
network_builder,
|
||||
&executor,
|
||||
transaction_pool.clone(),
|
||||
network_client,
|
||||
provider_factory.clone(),
|
||||
&self.data_dir,
|
||||
);
|
||||
|
||||
|
||||
@ -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<DB>(
|
||||
pub async fn build_network<C>(
|
||||
&self,
|
||||
config: &Config,
|
||||
provider_factory: ProviderFactory<DB>,
|
||||
client: C,
|
||||
executor: TaskExecutor,
|
||||
head: Head,
|
||||
data_dir: &ChainPath<DataDirPath>,
|
||||
) -> eyre::Result<(ProviderFactory<DB>, NetworkBuilder<ProviderFactory<DB>, (), ()>)>
|
||||
) -> eyre::Result<NetworkBuilder<C, (), ()>>
|
||||
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<DB: Database>(
|
||||
pub fn load_network_config<C>(
|
||||
&self,
|
||||
config: &Config,
|
||||
provider_factory: ProviderFactory<DB>,
|
||||
client: C,
|
||||
executor: TaskExecutor,
|
||||
head: Head,
|
||||
secret_key: SecretKey,
|
||||
default_peers_path: PathBuf,
|
||||
) -> NetworkConfig<ProviderFactory<DB>> {
|
||||
) -> NetworkConfig<C> {
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user