From e9792c1b469b7d37a05af603e88d280ef8360674 Mon Sep 17 00:00:00 2001 From: Georgios Konstantopoulos Date: Tue, 17 Jan 2023 18:19:00 -0800 Subject: [PATCH] fix: compilation errors due to api breakages follow up from https://github.com/paradigmxyz/reth/pull/888 merge conflict fix failure --- bin/reth/src/config.rs | 4 +++- bin/reth/src/p2p/mod.rs | 6 +++++- bin/reth/src/stage/mod.rs | 5 +++++ crates/net/discv4/src/config.rs | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bin/reth/src/config.rs b/bin/reth/src/config.rs index e4d4e641e4..a024ad0e38 100644 --- a/bin/reth/src/config.rs +++ b/bin/reth/src/config.rs @@ -35,10 +35,12 @@ impl Config { let peer_config = reth_network::PeersConfig::default() .with_trusted_nodes(self.peers.trusted_nodes.clone()) .with_connect_trusted_nodes_only(self.peers.connect_trusted_nodes_only); + let discv4 = + Discv4Config::builder().external_ip_resolver(Some(nat_resolution_method)).clone(); NetworkConfig::builder(Arc::new(ProviderImpl::new(db)), rng_secret_key()) .boot_nodes(bootnodes.unwrap_or_else(mainnet_nodes)) .peer_config(peer_config) - .discovery(Discv4Config::builder().external_ip_resolver(Some(nat_resolution_method))) + .discovery(discv4) .chain_spec(chain_spec) .set_discovery(disable_discovery) .build() diff --git a/bin/reth/src/p2p/mod.rs b/bin/reth/src/p2p/mod.rs index 0a497b08dd..dc99fd567f 100644 --- a/bin/reth/src/p2p/mod.rs +++ b/bin/reth/src/p2p/mod.rs @@ -7,6 +7,7 @@ use crate::{ use backon::{ConstantBackoff, Retryable}; use clap::{Parser, Subcommand}; use reth_db::mdbx::{Env, EnvKind, WriteMap}; +use reth_discv4::NatResolver; use reth_interfaces::p2p::{ bodies::client::BodiesClient, headers::client::{HeadersClient, HeadersRequest}, @@ -57,6 +58,9 @@ pub struct Command { #[clap(subcommand)] command: Subcommands, + + #[arg(long, default_value = "any")] + nat: NatResolver, } #[derive(Subcommand, Debug)] @@ -94,7 +98,7 @@ impl Command { config.peers.connect_trusted_nodes_only = self.trusted_only; let network = config - .network_config(noop_db, self.chain.clone(), self.disable_discovery, None) + .network_config(noop_db, self.chain.clone(), self.disable_discovery, None, self.nat) .start_network() .await?; diff --git a/bin/reth/src/stage/mod.rs b/bin/reth/src/stage/mod.rs index 19dd380f20..2037c53798 100644 --- a/bin/reth/src/stage/mod.rs +++ b/bin/reth/src/stage/mod.rs @@ -11,6 +11,7 @@ use crate::{ use reth_consensus::BeaconConsensus; use reth_downloaders::bodies::concurrent::ConcurrentDownloader; +use reth_net_nat::NatResolver; use reth_primitives::ChainSpec; use reth_stages::{ metrics::HeaderMetrics, @@ -84,6 +85,9 @@ pub struct Command { #[clap(flatten)] network: NetworkOpts, + + #[arg(long, default_value = "any")] + nat: NatResolver, } #[derive(Debug, Clone, Copy, Eq, PartialEq, PartialOrd, Ord, ValueEnum)] @@ -141,6 +145,7 @@ impl Command { self.chain.clone(), self.network.disable_discovery, None, + self.nat, ) .start_network() .await?; diff --git a/crates/net/discv4/src/config.rs b/crates/net/discv4/src/config.rs index 9a58cf30d8..d186a4e9ea 100644 --- a/crates/net/discv4/src/config.rs +++ b/crates/net/discv4/src/config.rs @@ -135,7 +135,7 @@ impl Default for Discv4Config { } /// Builder type for [`Discv4Config`] -#[derive(Debug, Default)] +#[derive(Clone, Debug, Default)] pub struct Discv4ConfigBuilder { config: Discv4Config, }