From ca36316f3b30e410ef89fb38a4267ed87ca73c45 Mon Sep 17 00:00:00 2001 From: fantasyup <59591096+fantasyup@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:13:52 -0400 Subject: [PATCH] chore: add capabilities to NetworkStatus (#17236) --- crates/net/network-api/src/lib.rs | 5 ++++- crates/net/network-api/src/noop.rs | 1 + crates/net/network/src/manager.rs | 5 +++++ crates/rpc/rpc/src/eth/helpers/sync_listener.rs | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/crates/net/network-api/src/lib.rs b/crates/net/network-api/src/lib.rs index ff469f16a4..58fe2c124e 100644 --- a/crates/net/network-api/src/lib.rs +++ b/crates/net/network-api/src/lib.rs @@ -35,7 +35,8 @@ pub use events::{ }; use reth_eth_wire_types::{ - capability::Capabilities, DisconnectReason, EthVersion, NetworkPrimitives, UnifiedStatus, + capability::Capabilities, Capability, DisconnectReason, EthVersion, NetworkPrimitives, + UnifiedStatus, }; use reth_network_p2p::sync::NetworkSyncUpdater; use reth_network_peers::NodeRecord; @@ -285,4 +286,6 @@ pub struct NetworkStatus { pub protocol_version: u64, /// Information about the Ethereum Wire Protocol. pub eth_protocol_info: EthProtocolInfo, + /// The list of supported capabilities and their versions. + pub capabilities: Vec, } diff --git a/crates/net/network-api/src/noop.rs b/crates/net/network-api/src/noop.rs index 4b5a49c91c..2183f276ba 100644 --- a/crates/net/network-api/src/noop.rs +++ b/crates/net/network-api/src/noop.rs @@ -73,6 +73,7 @@ where config: Default::default(), head: Default::default(), }, + capabilities: vec![], }) } diff --git a/crates/net/network/src/manager.rs b/crates/net/network/src/manager.rs index dcb77e3093..465039ec19 100644 --- a/crates/net/network/src/manager.rs +++ b/crates/net/network/src/manager.rs @@ -457,6 +457,11 @@ impl NetworkManager { genesis: status.genesis, config: Default::default(), }, + capabilities: hello_message + .protocols + .into_iter() + .map(|protocol| protocol.cap) + .collect(), } } diff --git a/crates/rpc/rpc/src/eth/helpers/sync_listener.rs b/crates/rpc/rpc/src/eth/helpers/sync_listener.rs index 13c8de19b0..e444f76d3a 100644 --- a/crates/rpc/rpc/src/eth/helpers/sync_listener.rs +++ b/crates/rpc/rpc/src/eth/helpers/sync_listener.rs @@ -91,6 +91,7 @@ mod tests { config: Default::default(), head: Default::default(), }, + capabilities: vec![], }) }