From fbbadab3be9ae19980080e342077594aad3f24c9 Mon Sep 17 00:00:00 2001 From: figtracer <1gusredo@gmail.com> Date: Mon, 23 Mar 2026 13:16:20 +0000 Subject: [PATCH] feat(net): include discv5 ENR data in `admin_nodeInfo` response (#23170) --- crates/net/network/src/network.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crates/net/network/src/network.rs b/crates/net/network/src/network.rs index 93e14ec04e..1fa72eab42 100644 --- a/crates/net/network/src/network.rs +++ b/crates/net/network/src/network.rs @@ -282,10 +282,25 @@ impl PeersInfo for NetworkHandle { if local_node_record.address.is_ipv4() { builder.udp4(local_node_record.udp_port); builder.tcp4(local_node_record.tcp_port); + + // add IPv6 fields from discv5 for dual-stack support + if let Some(discv5) = self.inner.discv5.as_ref() { + let discv5_enr = discv5.local_enr(); + if let Some(ip6) = discv5_enr.ip6() { + builder.ip6(ip6); + } + if let Some(udp6) = discv5_enr.udp6() { + builder.udp6(udp6); + } + if let Some(tcp6) = discv5_enr.tcp6() { + builder.tcp6(tcp6); + } + } } else { builder.udp6(local_node_record.udp_port); builder.tcp6(local_node_record.tcp_port); } + builder.build(&self.inner.secret_key).expect("valid enr") } }