refactor: dedup runtime initializations (#22263)

Co-authored-by: Alexey Shekhirin <github@shekhirin.com>
This commit is contained in:
DaniPopes
2026-02-17 18:35:31 +01:00
committed by GitHub
parent 6ff4f947c8
commit 0ba685386d
72 changed files with 275 additions and 318 deletions

View File

@@ -985,8 +985,8 @@ impl<Node: FullNodeTypes<Types: NodeTypes<ChainSpec: Hardforks>>> BuilderContext
self.config().chain.clone(),
secret_key,
default_peers_path,
self.executor.clone(),
)
.with_task_executor(self.executor.clone())
.set_head(self.head);
Ok(builder)

View File

@@ -343,10 +343,7 @@ mod test {
payload_builder_handle: PayloadBuilderHandle::<EthEngineTypes>::noop(),
};
let task_executor = {
let runtime = tokio::runtime::Runtime::new().unwrap();
Runtime::with_existing_handle(runtime.handle().clone()).unwrap()
};
let task_executor = Runtime::test();
let node = NodeAdapter { components, task_executor, provider: NoopProvider::default() };

View File

@@ -25,6 +25,7 @@ reth-rpc-eth-types.workspace = true
reth-rpc-server-types.workspace = true
reth-rpc-convert.workspace = true
reth-transaction-pool.workspace = true
reth-tasks.workspace = true
reth-tracing.workspace = true
reth-config = { workspace = true, features = ["serde"] }
reth-discv4.workspace = true

View File

@@ -39,6 +39,7 @@ use reth_network::{
HelloMessageWithProtocols, NetworkConfigBuilder, NetworkPrimitives,
};
use reth_network_peers::{mainnet_nodes, TrustedPeer};
use reth_tasks::Runtime;
use secp256k1::SecretKey;
use std::str::FromStr;
use tracing::error;
@@ -326,6 +327,7 @@ impl NetworkArgs {
chain_spec: impl EthChainSpec,
secret_key: SecretKey,
default_peers_file: PathBuf,
executor: Runtime,
) -> NetworkConfigBuilder<N> {
let addr = self.resolved_addr();
let chain_bootnodes = self
@@ -345,7 +347,7 @@ impl NetworkArgs {
.with_enforce_enr_fork_id(self.enforce_enr_fork_id);
// Configure basic network stack
NetworkConfigBuilder::<N>::new(secret_key)
NetworkConfigBuilder::<N>::new(secret_key, executor)
.external_ip_resolver(self.nat.clone())
.sessions_config(
config.sessions.clone().with_upscaled_event_buffer(peers_config.max_peers()),
@@ -1097,6 +1099,7 @@ mod tests {
MAINNET.clone(),
secret_key,
peers_file.clone(),
Runtime::test(),
);
let net_cfg = builder.build_with_noop_provider(MAINNET.clone());

View File

@@ -445,7 +445,7 @@ mod tests {
build_profile: "test",
};
let runtime = Runtime::with_existing_handle(tokio::runtime::Handle::current()).unwrap();
let runtime = Runtime::test();
let hooks = Hooks::builder().build();