Bump discv5 (#9394)

Bump `discv5` to the latest release. This removes the duplicated `hashlink` dependency and also removes `ahash`.


Co-Authored-By: Mac L <mjladson@pm.me>
This commit is contained in:
Mac L
2026-06-12 23:36:47 +04:00
committed by GitHub
parent 539a77c531
commit 90528469db
5 changed files with 41 additions and 52 deletions

71
Cargo.lock generated
View File

@@ -90,18 +90,6 @@ dependencies = [
"subtle",
]
[[package]]
name = "ahash"
version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
dependencies = [
"cfg-if",
"once_cell",
"version_check",
"zerocopy",
]
[[package]]
name = "aho-corasick"
version = "1.1.4"
@@ -695,7 +683,7 @@ version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
dependencies = [
"windows-sys 0.60.2",
"windows-sys 0.61.2",
]
[[package]]
@@ -706,7 +694,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
dependencies = [
"anstyle",
"once_cell_polyfill",
"windows-sys 0.60.2",
"windows-sys 0.61.2",
]
[[package]]
@@ -1400,7 +1388,7 @@ dependencies = [
"bitflags 2.10.0",
"cexpr",
"clang-sys",
"itertools 0.12.1",
"itertools 0.13.0",
"log",
"prettyplease",
"proc-macro2",
@@ -2708,9 +2696,9 @@ dependencies = [
[[package]]
name = "discv5"
version = "0.10.2"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f170f4f6ed0e1df52bf43b403899f0081917ecf1500bfe312505cc3b515a8899"
checksum = "470ad731fddfc5b184e8bd2e3e24ddc6c7b006212af2b3989fd37a3de1217b4b"
dependencies = [
"aes",
"aes-gcm",
@@ -2721,18 +2709,17 @@ dependencies = [
"enr",
"fnv",
"futures",
"hashlink 0.9.1",
"hashlink",
"hex",
"hkdf",
"lazy_static",
"libp2p-identity",
"lru 0.12.5",
"more-asserts",
"multiaddr",
"parking_lot",
"rand 0.8.5",
"smallvec",
"socket2 0.5.10",
"socket2 0.6.4",
"tokio",
"tracing",
"uint 0.10.0",
@@ -3127,7 +3114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@@ -3979,9 +3966,6 @@ name = "hashbrown"
version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
"ahash",
]
[[package]]
name = "hashbrown"
@@ -4005,15 +3989,6 @@ dependencies = [
"serde_core",
]
[[package]]
name = "hashlink"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
dependencies = [
"hashbrown 0.14.5",
]
[[package]]
name = "hashlink"
version = "0.11.0"
@@ -4434,7 +4409,7 @@ dependencies = [
"libc",
"percent-encoding",
"pin-project-lite",
"socket2 0.5.10",
"socket2 0.6.4",
"tokio",
"tower-service",
"tracing",
@@ -5212,7 +5187,7 @@ dependencies = [
"futures",
"futures-timer",
"getrandom 0.2.16",
"hashlink 0.11.0",
"hashlink",
"hex_fmt",
"libp2p-core",
"libp2p-identity",
@@ -5372,7 +5347,7 @@ dependencies = [
"futures",
"futures-timer",
"getrandom 0.2.16",
"hashlink 0.11.0",
"hashlink",
"libp2p-core",
"libp2p-identity",
"libp2p-swarm-derive",
@@ -6330,7 +6305,7 @@ version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@@ -7168,7 +7143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d"
dependencies = [
"anyhow",
"itertools 0.12.1",
"itertools 0.14.0",
"proc-macro2",
"quote",
"syn 2.0.117",
@@ -7181,7 +7156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b"
dependencies = [
"anyhow",
"itertools 0.10.5",
"itertools 0.14.0",
"proc-macro2",
"quote",
"syn 2.0.117",
@@ -7252,7 +7227,7 @@ dependencies = [
"quinn-udp",
"rustc-hash 2.1.1",
"rustls 0.23.40",
"socket2 0.5.10",
"socket2 0.6.4",
"thiserror 2.0.17",
"tokio",
"tracing",
@@ -7289,9 +7264,9 @@ dependencies = [
"cfg_aliases",
"libc",
"once_cell",
"socket2 0.5.10",
"socket2 0.6.4",
"tracing",
"windows-sys 0.59.0",
"windows-sys 0.60.2",
]
[[package]]
@@ -7758,7 +7733,7 @@ dependencies = [
"bitflags 2.10.0",
"fallible-iterator",
"fallible-streaming-iterator",
"hashlink 0.11.0",
"hashlink",
"libsqlite3-sys",
"smallvec",
"sqlite-wasm-rs",
@@ -7836,7 +7811,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@@ -8559,7 +8534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
dependencies = [
"libc",
"windows-sys 0.60.2",
"windows-sys 0.61.2",
]
[[package]]
@@ -8904,7 +8879,7 @@ dependencies = [
"getrandom 0.3.4",
"once_cell",
"rustix",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@@ -10268,7 +10243,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@@ -10860,7 +10835,7 @@ checksum = "631a50d867fafb7093e709d75aaee9e0e0d5deb934021fcea25ac2fe09edc51e"
dependencies = [
"arraydeque",
"encoding_rs",
"hashlink 0.11.0",
"hashlink",
]
[[package]]

View File

@@ -127,7 +127,7 @@ delay_map = "0.4"
deposit_contract = { path = "common/deposit_contract" }
directory = { path = "common/directory" }
dirs = "3"
discv5 = { version = "0.10", features = ["libp2p"] }
discv5 = { version = "0.11", features = ["libp2p"] }
doppelganger_service = { path = "validator_client/doppelganger_service" }
educe = "0.6"
eip_3076 = { path = "common/eip_3076" }

View File

@@ -11,7 +11,7 @@ use lighthouse_network::{
use network_utils::enr_ext::CombinedKeyExt;
use serde::{Deserialize, Serialize};
use ssz::Encode;
use std::net::{SocketAddrV4, SocketAddrV6};
use std::net::{SocketAddr, SocketAddrV4, SocketAddrV6};
use std::time::Duration;
use std::{marker::PhantomData, path::PathBuf};
use tracing::{info, warn};
@@ -218,6 +218,20 @@ impl BootNodeConfigSerialization {
Some(SocketAddrV4::new(ipv4, ipv4_port)),
Some(SocketAddrV6::new(ipv6, ipv6_port, 0, 0)),
),
lighthouse_network::discv5::ListenConfig::FromSockets { ref ipv4, ref ipv6 } => (
ipv4.as_ref()
.and_then(|socket| socket.local_addr().ok())
.and_then(|addr| match addr {
SocketAddr::V4(addr) => Some(addr),
SocketAddr::V6(_) => None,
}),
ipv6.as_ref()
.and_then(|socket| socket.local_addr().ok())
.and_then(|addr| match addr {
SocketAddr::V6(addr) => Some(addr),
SocketAddr::V4(_) => None,
}),
),
};
BootNodeConfigSerialization {

View File

@@ -128,7 +128,7 @@ pub async fn run<E: EthSpec>(
}
// display server metrics
let metrics = discv5.metrics();
let metrics = Discv5::metrics();
info!(
connected_peers = discv5.connected_peers(),
active_sessions = metrics.active_sessions,

View File

@@ -35,7 +35,7 @@ pub static DISCOVERY_SESSIONS: LazyLock<Result<IntGauge>> = LazyLock::new(|| {
});
pub fn scrape_discovery_metrics() {
let metrics = discv5::metrics::Metrics::from(discv5::Discv5::raw_metrics());
let metrics = discv5::Discv5::metrics();
set_float_gauge(&DISCOVERY_REQS, metrics.unsolicited_requests_per_second);
set_gauge(&DISCOVERY_SESSIONS, metrics.active_sessions as i64);
set_gauge_vec(&DISCOVERY_BYTES, &["inbound"], metrics.bytes_recv as i64);