Update lighthouse to the latest upstream libp2p and gossipsub (#7828)

This commit is contained in:
João Oliveira
2025-08-21 08:57:46 +01:00
committed by GitHub
parent c9ffdf7f71
commit cee30d8ca5
5 changed files with 147 additions and 230 deletions

340
Cargo.lock generated
View File

@@ -37,7 +37,7 @@ dependencies = [
"eth2_keystore", "eth2_keystore",
"eth2_wallet", "eth2_wallet",
"filesystem", "filesystem",
"rand 0.9.2", "rand 0.9.0",
"regex", "regex",
"rpassword", "rpassword",
"serde", "serde",
@@ -228,7 +228,7 @@ dependencies = [
"paste", "paste",
"proptest", "proptest",
"proptest-derive", "proptest-derive",
"rand 0.9.2", "rand 0.9.0",
"ruint", "ruint",
"rustc-hash 2.1.1", "rustc-hash 2.1.1",
"serde", "serde",
@@ -518,9 +518,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]] [[package]]
name = "asn1-rs" name = "asn1-rs"
version = "0.6.2" version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60"
dependencies = [ dependencies = [
"asn1-rs-derive", "asn1-rs-derive",
"asn1-rs-impl", "asn1-rs-impl",
@@ -528,15 +528,15 @@ dependencies = [
"nom", "nom",
"num-traits", "num-traits",
"rusticata-macros", "rusticata-macros",
"thiserror 1.0.69", "thiserror 2.0.12",
"time", "time",
] ]
[[package]] [[package]]
name = "asn1-rs-derive" name = "asn1-rs-derive"
version = "0.5.1" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -624,17 +624,6 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
] ]
[[package]]
name = "async-recursion"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]] [[package]]
name = "async-stream" name = "async-stream"
version = "0.3.6" version = "0.3.6"
@@ -700,11 +689,12 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]] [[package]]
name = "attohttpc" name = "attohttpc"
version = "0.24.1" version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9"
dependencies = [ dependencies = [
"http 0.2.12", "base64 0.22.1",
"http 1.3.0",
"log", "log",
"url", "url",
] ]
@@ -901,7 +891,7 @@ dependencies = [
"operation_pool", "operation_pool",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"proto_array", "proto_array",
"rand 0.9.2", "rand 0.9.0",
"rayon", "rayon",
"safe_arith", "safe_arith",
"sensitive_url", "sensitive_url",
@@ -1166,7 +1156,7 @@ dependencies = [
"ethereum_ssz", "ethereum_ssz",
"fixed_bytes", "fixed_bytes",
"hex", "hex",
"rand 0.9.2", "rand 0.9.0",
"safe_arith", "safe_arith",
"serde", "serde",
"tree_hash", "tree_hash",
@@ -1564,7 +1554,7 @@ dependencies = [
"monitoring_api", "monitoring_api",
"network", "network",
"operation_pool", "operation_pool",
"rand 0.9.2", "rand 0.9.0",
"sensitive_url", "sensitive_url",
"serde", "serde",
"serde_json", "serde_json",
@@ -1903,6 +1893,12 @@ dependencies = [
"itertools 0.10.5", "itertools 0.10.5",
] ]
[[package]]
name = "critical-section"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
[[package]] [[package]]
name = "crossbeam-channel" name = "crossbeam-channel"
version = "0.5.15" version = "0.5.15"
@@ -1978,16 +1974,6 @@ dependencies = [
"typenum", "typenum",
] ]
[[package]]
name = "crypto-mac"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
dependencies = [
"generic-array 0.14.7",
"subtle",
]
[[package]] [[package]]
name = "crypto-mac" name = "crypto-mac"
version = "0.11.0" version = "0.11.0"
@@ -2240,9 +2226,9 @@ dependencies = [
[[package]] [[package]]
name = "der-parser" name = "der-parser"
version = "9.0.0" version = "10.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6"
dependencies = [ dependencies = [
"asn1-rs", "asn1-rs",
"displaydoc", "displaydoc",
@@ -2865,7 +2851,7 @@ dependencies = [
"multiaddr", "multiaddr",
"pretty_reqwest_error", "pretty_reqwest_error",
"proto_array", "proto_array",
"rand 0.9.2", "rand 0.9.0",
"reqwest 0.11.27", "reqwest 0.11.27",
"reqwest-eventsource", "reqwest-eventsource",
"sensitive_url", "sensitive_url",
@@ -2922,7 +2908,7 @@ dependencies = [
"hex", "hex",
"hmac 0.11.0", "hmac 0.11.0",
"pbkdf2 0.8.0", "pbkdf2 0.8.0",
"rand 0.9.2", "rand 0.9.0",
"scrypt 0.7.0", "scrypt 0.7.0",
"serde", "serde",
"serde_json", "serde_json",
@@ -2963,7 +2949,7 @@ dependencies = [
"eth2_key_derivation", "eth2_key_derivation",
"eth2_keystore", "eth2_keystore",
"hex", "hex",
"rand 0.9.2", "rand 0.9.0",
"serde", "serde",
"serde_json", "serde_json",
"serde_repr", "serde_repr",
@@ -3356,7 +3342,7 @@ dependencies = [
"metrics", "metrics",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"pretty_reqwest_error", "pretty_reqwest_error",
"rand 0.9.2", "rand 0.9.0",
"reqwest 0.11.27", "reqwest 0.11.27",
"sensitive_url", "sensitive_url",
"serde", "serde",
@@ -4027,6 +4013,15 @@ dependencies = [
"hashbrown 0.14.5", "hashbrown 0.14.5",
] ]
[[package]]
name = "hashlink"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
dependencies = [
"hashbrown 0.15.2",
]
[[package]] [[package]]
name = "hdrhistogram" name = "hdrhistogram"
version = "7.5.4" version = "7.5.4"
@@ -4121,11 +4116,10 @@ checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f"
[[package]] [[package]]
name = "hickory-proto" name = "hickory-proto"
version = "0.25.0-alpha.5" version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d00147af6310f4392a31680db52a3ed45a2e0f68eb18e8c3fe5537ecc96d9e2" checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502"
dependencies = [ dependencies = [
"async-recursion",
"async-trait", "async-trait",
"cfg-if", "cfg-if",
"data-encoding", "data-encoding",
@@ -4136,7 +4130,8 @@ dependencies = [
"idna", "idna",
"ipnet", "ipnet",
"once_cell", "once_cell",
"rand 0.9.2", "rand 0.9.0",
"ring",
"socket2", "socket2",
"thiserror 2.0.12", "thiserror 2.0.12",
"tinyvec", "tinyvec",
@@ -4147,9 +4142,9 @@ dependencies = [
[[package]] [[package]]
name = "hickory-resolver" name = "hickory-resolver"
version = "0.25.0-alpha.5" version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5762f69ebdbd4ddb2e975cd24690bf21fe6b2604039189c26acddbc427f12887" checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"futures-util", "futures-util",
@@ -4158,7 +4153,7 @@ dependencies = [
"moka", "moka",
"once_cell", "once_cell",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.9.2", "rand 0.9.0",
"resolv-conf", "resolv-conf",
"smallvec", "smallvec",
"thiserror 2.0.12", "thiserror 2.0.12",
@@ -4175,23 +4170,13 @@ dependencies = [
"hmac 0.12.1", "hmac 0.12.1",
] ]
[[package]]
name = "hmac"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
dependencies = [
"crypto-mac 0.8.0",
"digest 0.9.0",
]
[[package]] [[package]]
name = "hmac" name = "hmac"
version = "0.11.0" version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
dependencies = [ dependencies = [
"crypto-mac 0.11.0", "crypto-mac",
"digest 0.9.0", "digest 0.9.0",
] ]
@@ -4204,17 +4189,6 @@ dependencies = [
"digest 0.10.7", "digest 0.10.7",
] ]
[[package]]
name = "hmac-drbg"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
dependencies = [
"digest 0.9.0",
"generic-array 0.14.7",
"hmac 0.8.1",
]
[[package]] [[package]]
name = "home" name = "home"
version = "0.5.11" version = "0.5.11"
@@ -4318,7 +4292,7 @@ dependencies = [
"operation_pool", "operation_pool",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"proto_array", "proto_array",
"rand 0.9.2", "rand 0.9.0",
"safe_arith", "safe_arith",
"sensitive_url", "sensitive_url",
"serde", "serde",
@@ -4685,9 +4659,9 @@ dependencies = [
[[package]] [[package]]
name = "igd-next" name = "igd-next"
version = "0.15.1" version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93" checksum = "516893339c97f6011282d5825ac94fc1c7aad5cad26bdc2d0cee068c0bf97f97"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"attohttpc", "attohttpc",
@@ -4698,28 +4672,7 @@ dependencies = [
"hyper 1.6.0", "hyper 1.6.0",
"hyper-util", "hyper-util",
"log", "log",
"rand 0.8.5", "rand 0.9.0",
"tokio",
"url",
"xmltree",
]
[[package]]
name = "igd-next"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2830127baaaa55dae9aa5ee03158d5aa3687a9c2c11ce66870452580cc695df4"
dependencies = [
"async-trait",
"attohttpc",
"bytes",
"futures",
"http 1.3.0",
"http-body-util",
"hyper 1.6.0",
"hyper-util",
"log",
"rand 0.8.5",
"tokio", "tokio",
"url", "url",
"xmltree", "xmltree",
@@ -4815,7 +4768,7 @@ dependencies = [
"lockfile", "lockfile",
"metrics", "metrics",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.9.2", "rand 0.9.0",
"reqwest 0.11.27", "reqwest 0.11.27",
"serde", "serde",
"serde_json", "serde_json",
@@ -5178,9 +5131,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p" name = "libp2p"
version = "0.55.0" version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b72dc443ddd0254cb49a794ed6b6728400ee446a0f7ab4a07d0209ee98de20e9" checksum = "ce71348bf5838e46449ae240631117b487073d5f347c06d434caddcb91dceb5a"
dependencies = [ dependencies = [
"bytes", "bytes",
"either", "either",
@@ -5210,9 +5163,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-allow-block-list" name = "libp2p-allow-block-list"
version = "0.5.0" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38944b7cb981cc93f2f0fb411ff82d0e983bd226fbcc8d559639a3a73236568b" checksum = "d16ccf824ee859ca83df301e1c0205270206223fd4b1f2e512a693e1912a8f4a"
dependencies = [ dependencies = [
"libp2p-core", "libp2p-core",
"libp2p-identity", "libp2p-identity",
@@ -5221,9 +5174,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-connection-limits" name = "libp2p-connection-limits"
version = "0.5.0" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efe9323175a17caa8a2ed4feaf8a548eeef5e0b72d03840a0eab4bcb0210ce1c" checksum = "a18b8b607cf3bfa2f8c57db9c7d8569a315d5cc0a282e6bfd5ebfc0a9840b2a0"
dependencies = [ dependencies = [
"libp2p-core", "libp2p-core",
"libp2p-identity", "libp2p-identity",
@@ -5232,9 +5185,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-core" name = "libp2p-core"
version = "0.43.0" version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "193c75710ba43f7504ad8f58a62ca0615b1d7e572cb0f1780bc607252c39e9ef" checksum = "4d28e2d2def7c344170f5c6450c0dbe3dfef655610dbfde2f6ac28a527abbe36"
dependencies = [ dependencies = [
"either", "either",
"fnv", "fnv",
@@ -5244,7 +5197,6 @@ dependencies = [
"multiaddr", "multiaddr",
"multihash", "multihash",
"multistream-select", "multistream-select",
"once_cell",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"pin-project", "pin-project",
"quick-protobuf", "quick-protobuf",
@@ -5258,9 +5210,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-dns" name = "libp2p-dns"
version = "0.43.0" version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b780a1150214155b0ed1cdf09fbd2e1b0442604f9146a431d1b21d23eef7bd7" checksum = "0b770c1c8476736ca98c578cba4b505104ff8e842c2876b528925f9766379f9a"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"futures", "futures",
@@ -5274,8 +5226,8 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-gossipsub" name = "libp2p-gossipsub"
version = "0.49.0" version = "0.50.0"
source = "git+https://github.com/sigp/rust-libp2p.git?rev=61b2820#61b2820de7a3fab5ae5e1362c4dfa93bd7c41e98" source = "git+https://github.com/sigp/rust-libp2p.git?rev=5acdf89a65d64098f9346efa5769e57bcd19dea9#5acdf89a65d64098f9346efa5769e57bcd19dea9"
dependencies = [ dependencies = [
"async-channel 2.3.1", "async-channel 2.3.1",
"asynchronous-codec", "asynchronous-codec",
@@ -5287,7 +5239,7 @@ dependencies = [
"futures", "futures",
"futures-timer", "futures-timer",
"getrandom 0.2.15", "getrandom 0.2.15",
"hashlink 0.9.1", "hashlink 0.10.0",
"hex_fmt", "hex_fmt",
"libp2p-core", "libp2p-core",
"libp2p-identity", "libp2p-identity",
@@ -5304,9 +5256,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-identify" name = "libp2p-identify"
version = "0.46.0" version = "0.47.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8c06862544f02d05d62780ff590cc25a75f5c2b9df38ec7a370dcae8bb873cf" checksum = "8ab792a8b68fdef443a62155b01970c81c3aadab5e659621b063ef252a8e65e8"
dependencies = [ dependencies = [
"asynchronous-codec", "asynchronous-codec",
"either", "either",
@@ -5325,31 +5277,31 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-identity" name = "libp2p-identity"
version = "0.2.10" version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774"
dependencies = [ dependencies = [
"asn1_der", "asn1_der",
"bs58 0.5.1", "bs58 0.5.1",
"ed25519-dalek", "ed25519-dalek",
"hkdf", "hkdf",
"libsecp256k1", "k256 0.13.4",
"multihash", "multihash",
"p256", "p256",
"quick-protobuf", "quick-protobuf",
"rand 0.8.5", "rand 0.8.5",
"sec1 0.7.3", "sec1 0.7.3",
"sha2 0.10.8", "sha2 0.10.8",
"thiserror 1.0.69", "thiserror 2.0.12",
"tracing", "tracing",
"zeroize", "zeroize",
] ]
[[package]] [[package]]
name = "libp2p-mdns" name = "libp2p-mdns"
version = "0.47.0" version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11d0ba095e1175d797540e16b62e7576846b883cb5046d4159086837b36846cc" checksum = "c66872d0f1ffcded2788683f76931be1c52e27f343edb93bc6d0bcd8887be443"
dependencies = [ dependencies = [
"futures", "futures",
"hickory-proto", "hickory-proto",
@@ -5366,9 +5318,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-metrics" name = "libp2p-metrics"
version = "0.16.0" version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ce58c64292e87af624fcb86465e7dd8342e46a388d71e8fec0ab37ee789630a" checksum = "805a555148522cb3414493a5153451910cb1a146c53ffbf4385708349baf62b7"
dependencies = [ dependencies = [
"futures", "futures",
"libp2p-core", "libp2p-core",
@@ -5401,9 +5353,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-noise" name = "libp2p-noise"
version = "0.46.0" version = "0.46.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afcc133e0f3cea07acde6eb8a9665cb11b600bd61110b010593a0210b8153b16" checksum = "bc73eacbe6462a0eb92a6527cac6e63f02026e5407f8831bde8293f19217bfbf"
dependencies = [ dependencies = [
"asynchronous-codec", "asynchronous-codec",
"bytes", "bytes",
@@ -5412,7 +5364,6 @@ dependencies = [
"libp2p-identity", "libp2p-identity",
"multiaddr", "multiaddr",
"multihash", "multihash",
"once_cell",
"quick-protobuf", "quick-protobuf",
"rand 0.8.5", "rand 0.8.5",
"snow", "snow",
@@ -5441,9 +5392,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-quic" name = "libp2p-quic"
version = "0.12.0" version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41432a159b00424a0abaa2c80d786cddff81055ac24aa127e0cf375f7858d880" checksum = "8dc448b2de9f4745784e3751fe8bc6c473d01b8317edd5ababcb0dec803d843f"
dependencies = [ dependencies = [
"futures", "futures",
"futures-timer", "futures-timer",
@@ -5463,9 +5414,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-swarm" name = "libp2p-swarm"
version = "0.46.0" version = "0.47.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "803399b4b6f68adb85e63ab573ac568154b193e9a640f03e0f2890eabbcb37f8" checksum = "6aa762e5215919a34e31c35d4b18bf2e18566ecab7f8a3d39535f4a3068f8b62"
dependencies = [ dependencies = [
"either", "either",
"fnv", "fnv",
@@ -5476,7 +5427,6 @@ dependencies = [
"libp2p-swarm-derive", "libp2p-swarm-derive",
"lru", "lru",
"multistream-select", "multistream-select",
"once_cell",
"rand 0.8.5", "rand 0.8.5",
"smallvec", "smallvec",
"tokio", "tokio",
@@ -5486,21 +5436,20 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-swarm-derive" name = "libp2p-swarm-derive"
version = "0.35.0" version = "0.35.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" checksum = "dd297cf53f0cb3dee4d2620bb319ae47ef27c702684309f682bdb7e55a18ae9c"
dependencies = [ dependencies = [
"heck 0.5.0", "heck 0.5.0",
"proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn 2.0.100",
] ]
[[package]] [[package]]
name = "libp2p-tcp" name = "libp2p-tcp"
version = "0.43.0" version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65346fb4d36035b23fec4e7be4c320436ba53537ce9b6be1d1db1f70c905cad0" checksum = "65b4e030c52c46c8d01559b2b8ca9b7c4185f10576016853129ca1fe5cd1a644"
dependencies = [ dependencies = [
"futures", "futures",
"futures-timer", "futures-timer",
@@ -5514,9 +5463,9 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-tls" name = "libp2p-tls"
version = "0.6.1" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42bbf5084fb44133267ad4caaa72a253d68d709edd2ed1cf9b42431a8ead8fd5" checksum = "96ff65a82e35375cbc31ebb99cacbbf28cb6c4fefe26bf13756ddcf708d40080"
dependencies = [ dependencies = [
"futures", "futures",
"futures-rustls", "futures-rustls",
@@ -5525,7 +5474,7 @@ dependencies = [
"rcgen", "rcgen",
"ring", "ring",
"rustls 0.23.23", "rustls 0.23.23",
"rustls-webpki 0.101.7", "rustls-webpki 0.103.4",
"thiserror 2.0.12", "thiserror 2.0.12",
"x509-parser", "x509-parser",
"yasna", "yasna",
@@ -5533,13 +5482,13 @@ dependencies = [
[[package]] [[package]]
name = "libp2p-upnp" name = "libp2p-upnp"
version = "0.4.0" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d457b9ecceb66e7199f049926fad447f1f17f040e8d29d690c086b4cab8ed14a" checksum = "4757e65fe69399c1a243bbb90ec1ae5a2114b907467bf09f3575e899815bb8d3"
dependencies = [ dependencies = [
"futures", "futures",
"futures-timer", "futures-timer",
"igd-next 0.15.1", "igd-next",
"libp2p-core", "libp2p-core",
"libp2p-swarm", "libp2p-swarm",
"tokio", "tokio",
@@ -5571,54 +5520,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "libsecp256k1"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1"
dependencies = [
"arrayref",
"base64 0.13.1",
"digest 0.9.0",
"hmac-drbg",
"libsecp256k1-core",
"libsecp256k1-gen-ecmult",
"libsecp256k1-gen-genmult",
"rand 0.8.5",
"serde",
"sha2 0.9.9",
"typenum",
]
[[package]]
name = "libsecp256k1-core"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451"
dependencies = [
"crunchy",
"digest 0.9.0",
"subtle",
]
[[package]]
name = "libsecp256k1-gen-ecmult"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809"
dependencies = [
"libsecp256k1-core",
]
[[package]]
name = "libsecp256k1-gen-genmult"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c"
dependencies = [
"libsecp256k1-core",
]
[[package]] [[package]]
name = "libsqlite3-sys" name = "libsqlite3-sys"
version = "0.25.2" version = "0.25.2"
@@ -5725,7 +5626,7 @@ dependencies = [
"prometheus-client", "prometheus-client",
"quickcheck", "quickcheck",
"quickcheck_macros", "quickcheck_macros",
"rand 0.9.2", "rand 0.9.0",
"regex", "regex",
"serde", "serde",
"sha2 0.9.9", "sha2 0.9.9",
@@ -6179,7 +6080,7 @@ dependencies = [
"hyper 1.6.0", "hyper 1.6.0",
"hyper-util", "hyper-util",
"log", "log",
"rand 0.9.2", "rand 0.9.0",
"regex", "regex",
"serde_json", "serde_json",
"serde_urlencoded", "serde_urlencoded",
@@ -6412,7 +6313,7 @@ dependencies = [
"futures", "futures",
"genesis", "genesis",
"hex", "hex",
"igd-next 0.16.0", "igd-next",
"itertools 0.10.5", "itertools 0.10.5",
"k256 0.13.4", "k256 0.13.4",
"kzg", "kzg",
@@ -6426,7 +6327,7 @@ dependencies = [
"operation_pool", "operation_pool",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.8.5", "rand 0.8.5",
"rand 0.9.2", "rand 0.9.0",
"rand_chacha 0.3.1", "rand_chacha 0.3.1",
"rand_chacha 0.9.0", "rand_chacha 0.9.0",
"serde_json", "serde_json",
@@ -6624,9 +6525,9 @@ dependencies = [
[[package]] [[package]]
name = "oid-registry" name = "oid-registry"
version = "0.7.1" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7"
dependencies = [ dependencies = [
"asn1-rs", "asn1-rs",
] ]
@@ -6636,6 +6537,10 @@ name = "once_cell"
version = "1.21.0" version = "1.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad" checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad"
dependencies = [
"critical-section",
"portable-atomic",
]
[[package]] [[package]]
name = "oneshot_broadcast" name = "oneshot_broadcast"
@@ -6810,7 +6715,7 @@ dependencies = [
"futures-util", "futures-util",
"opentelemetry", "opentelemetry",
"percent-encoding", "percent-encoding",
"rand 0.9.2", "rand 0.9.0",
"serde_json", "serde_json",
"thiserror 2.0.12", "thiserror 2.0.12",
] ]
@@ -6828,7 +6733,7 @@ dependencies = [
"maplit", "maplit",
"metrics", "metrics",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.9.2", "rand 0.9.0",
"rayon", "rayon",
"serde", "serde",
"state_processing", "state_processing",
@@ -7004,7 +6909,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa"
dependencies = [ dependencies = [
"crypto-mac 0.11.0", "crypto-mac",
] ]
[[package]] [[package]]
@@ -7379,9 +7284,9 @@ dependencies = [
[[package]] [[package]]
name = "prometheus-client" name = "prometheus-client"
version = "0.22.3" version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" checksum = "cf41c1a7c32ed72abe5082fb19505b969095c12da9f5732a4bc9878757fd087c"
dependencies = [ dependencies = [
"dtoa", "dtoa",
"itoa", "itoa",
@@ -7658,13 +7563,14 @@ dependencies = [
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.9.2" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
dependencies = [ dependencies = [
"rand_chacha 0.9.0", "rand_chacha 0.9.0",
"rand_core 0.9.3", "rand_core 0.9.3",
"serde", "serde",
"zerocopy 0.8.23",
] ]
[[package]] [[package]]
@@ -8070,7 +7976,7 @@ dependencies = [
"primitive-types 0.12.2", "primitive-types 0.12.2",
"proptest", "proptest",
"rand 0.8.5", "rand 0.8.5",
"rand 0.9.2", "rand 0.9.0",
"rlp", "rlp",
"ruint-macro", "ruint-macro",
"serde", "serde",
@@ -8266,11 +8172,12 @@ dependencies = [
[[package]] [[package]]
name = "rustls-pki-types" name = "rustls-pki-types"
version = "1.11.0" version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
dependencies = [ dependencies = [
"web-time", "web-time",
"zeroize",
] ]
[[package]] [[package]]
@@ -8294,6 +8201,17 @@ dependencies = [
"untrusted", "untrusted",
] ]
[[package]]
name = "rustls-webpki"
version = "0.103.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc"
dependencies = [
"ring",
"rustls-pki-types",
"untrusted",
]
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.20" version = "1.0.20"
@@ -8844,7 +8762,7 @@ dependencies = [
"maplit", "maplit",
"metrics", "metrics",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.9.2", "rand 0.9.0",
"rayon", "rayon",
"redb", "redb",
"safe_arith", "safe_arith",
@@ -9009,7 +8927,7 @@ dependencies = [
"itertools 0.10.5", "itertools 0.10.5",
"merkle_proof", "merkle_proof",
"metrics", "metrics",
"rand 0.9.2", "rand 0.9.0",
"rayon", "rayon",
"safe_arith", "safe_arith",
"smallvec", "smallvec",
@@ -9055,7 +8973,7 @@ dependencies = [
"lru", "lru",
"metrics", "metrics",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.9.2", "rand 0.9.0",
"redb", "redb",
"safe_arith", "safe_arith",
"serde", "serde",
@@ -9955,7 +9873,7 @@ dependencies = [
"milhouse", "milhouse",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"paste", "paste",
"rand 0.9.2", "rand 0.9.0",
"rand_xorshift 0.4.0", "rand_xorshift 0.4.0",
"rayon", "rayon",
"regex", "regex",
@@ -10195,7 +10113,7 @@ dependencies = [
"filesystem", "filesystem",
"hex", "hex",
"lockfile", "lockfile",
"rand 0.9.2", "rand 0.9.0",
"tempfile", "tempfile",
"tree_hash", "tree_hash",
"types", "types",
@@ -10225,7 +10143,7 @@ dependencies = [
"lighthouse_version", "lighthouse_version",
"logging", "logging",
"parking_lot 0.12.3", "parking_lot 0.12.3",
"rand 0.9.2", "rand 0.9.0",
"sensitive_url", "sensitive_url",
"serde", "serde",
"serde_json", "serde_json",
@@ -11204,9 +11122,9 @@ dependencies = [
[[package]] [[package]]
name = "x509-parser" name = "x509-parser"
version = "0.16.0" version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460"
dependencies = [ dependencies = [
"asn1-rs", "asn1-rs",
"data-encoding", "data-encoding",
@@ -11215,7 +11133,7 @@ dependencies = [
"nom", "nom",
"oid-registry", "oid-registry",
"rusticata-macros", "rusticata-macros",
"thiserror 1.0.69", "thiserror 2.0.12",
"time", "time",
] ]

View File

@@ -161,7 +161,8 @@ fork_choice = { path = "consensus/fork_choice" }
fs2 = "0.4" fs2 = "0.4"
futures = "0.3" futures = "0.3"
genesis = { path = "beacon_node/genesis" } genesis = { path = "beacon_node/genesis" }
gossipsub = { package = "libp2p-gossipsub", git = "https://github.com/sigp/rust-libp2p.git", rev = "61b2820" } # This is tracking the sigp-gossipsub branch on sigp/rust-libp2p commit: Aug 20 2025
gossipsub = { package = "libp2p-gossipsub", git = "https://github.com/sigp/rust-libp2p.git", rev = "5acdf89a65d64098f9346efa5769e57bcd19dea9", "features" = ["metrics"] }
graffiti_file = { path = "validator_client/graffiti_file" } graffiti_file = { path = "validator_client/graffiti_file" }
hashlink = "0.9.0" hashlink = "0.9.0"
health_metrics = { path = "common/health_metrics" } health_metrics = { path = "common/health_metrics" }

View File

@@ -32,7 +32,7 @@ lru = { workspace = true }
lru_cache = { workspace = true } lru_cache = { workspace = true }
metrics = { workspace = true } metrics = { workspace = true }
parking_lot = { workspace = true } parking_lot = { workspace = true }
prometheus-client = "0.22.0" prometheus-client = "0.23.0"
rand = { workspace = true } rand = { workspace = true }
regex = { workspace = true } regex = { workspace = true }
serde = { workspace = true } serde = { workspace = true }
@@ -54,7 +54,7 @@ unsigned-varint = { version = "0.8", features = ["codec"] }
unused_port = { workspace = true } unused_port = { workspace = true }
[dependencies.libp2p] [dependencies.libp2p]
version = "0.55" version = "0.56"
default-features = false default-features = false
features = [ features = [
"identify", "identify",

View File

@@ -328,26 +328,25 @@ impl<E: EthSpec> Network<E> {
max_subscriptions_per_request: max_topics_at_any_fork * 2, max_subscriptions_per_request: max_topics_at_any_fork * 2,
}; };
// If metrics are enabled for libp2p build the configuration
let gossipsub_metrics = ctx.libp2p_registry.as_mut().map(|registry| {
(
registry.sub_registry_with_prefix("gossipsub"),
Default::default(),
)
});
let spec = &ctx.chain_spec; let spec = &ctx.chain_spec;
let snappy_transform = let snappy_transform =
SnappyTransform::new(spec.max_payload_size as usize, spec.max_compressed_len()); SnappyTransform::new(spec.max_payload_size as usize, spec.max_compressed_len());
let mut gossipsub = Gossipsub::new_with_subscription_filter_and_transform( let mut gossipsub = Gossipsub::new_with_subscription_filter_and_transform(
MessageAuthenticity::Anonymous, MessageAuthenticity::Anonymous,
gs_config.clone(), gs_config.clone(),
gossipsub_metrics,
filter, filter,
snappy_transform, snappy_transform,
) )
.map_err(|e| format!("Could not construct gossipsub: {:?}", e))?; .map_err(|e| format!("Could not construct gossipsub: {:?}", e))?;
// If metrics are enabled for libp2p build the configuration
if let Some(ref mut registry) = ctx.libp2p_registry {
gossipsub = gossipsub.with_metrics(
registry.sub_registry_with_prefix("gossipsub"),
Default::default(),
);
}
gossipsub gossipsub
.with_peer_score(params, thresholds) .with_peer_score(params, thresholds)
.expect("Valid score params and thresholds"); .expect("Valid score params and thresholds");
@@ -1374,14 +1373,12 @@ impl<E: EthSpec> Network<E> {
} => { } => {
debug!( debug!(
peer_id = %peer_id, peer_id = %peer_id,
publish = failed_messages.publish,
forward = failed_messages.forward,
priority = failed_messages.priority, priority = failed_messages.priority,
non_priority = failed_messages.non_priority, non_priority = failed_messages.non_priority,
"Slow gossipsub peer" "Slow gossipsub peer"
); );
// Punish the peer if it cannot handle priority messages // Punish the peer if it cannot handle priority messages
if failed_messages.timeout > 10 { if failed_messages.priority > 10 {
debug!(%peer_id, "Slow gossipsub peer penalized for priority failure"); debug!(%peer_id, "Slow gossipsub peer penalized for priority failure");
self.peer_manager_mut().report_peer( self.peer_manager_mut().report_peer(
&peer_id, &peer_id,
@@ -1390,7 +1387,7 @@ impl<E: EthSpec> Network<E> {
None, None,
"publish_timeout_penalty", "publish_timeout_penalty",
); );
} else if failed_messages.total_queue_full() > 10 { } else if failed_messages.non_priority > 10 {
debug!(%peer_id, "Slow gossipsub peer penalized for send queue full"); debug!(%peer_id, "Slow gossipsub peer penalized for send queue full");
self.peer_manager_mut().report_peer( self.peer_manager_mut().report_peer(
&peer_id, &peer_id,
@@ -1888,6 +1885,7 @@ impl<E: EthSpec> Network<E> {
send_back_addr, send_back_addr,
error, error,
connection_id: _, connection_id: _,
peer_id: _,
} => { } => {
let error_repr = match error { let error_repr = match error {
libp2p::swarm::ListenError::Aborted => { libp2p::swarm::ListenError::Aborted => {
@@ -1896,8 +1894,8 @@ impl<E: EthSpec> Network<E> {
libp2p::swarm::ListenError::WrongPeerId { obtained, endpoint } => { libp2p::swarm::ListenError::WrongPeerId { obtained, endpoint } => {
format!("Wrong peer id, obtained {obtained}, endpoint {endpoint:?}") format!("Wrong peer id, obtained {obtained}, endpoint {endpoint:?}")
} }
libp2p::swarm::ListenError::LocalPeerId { endpoint } => { libp2p::swarm::ListenError::LocalPeerId { address } => {
format!("Dialing local peer id {endpoint:?}") format!("Dialing local peer id {address:?}")
} }
libp2p::swarm::ListenError::Denied { cause } => { libp2p::swarm::ListenError::Denied { cause } => {
format!("Connection was denied with cause: {cause:?}") format!("Connection was denied with cause: {cause:?}")

View File

@@ -6,8 +6,8 @@ use futures::future::Either;
use gossipsub; use gossipsub;
use libp2p::core::{multiaddr::Multiaddr, muxing::StreamMuxerBox, transport::Boxed}; use libp2p::core::{multiaddr::Multiaddr, muxing::StreamMuxerBox, transport::Boxed};
use libp2p::identity::{Keypair, secp256k1}; use libp2p::identity::{Keypair, secp256k1};
use libp2p::metrics::Registry;
use libp2p::{PeerId, Transport, core, noise, yamux}; use libp2p::{PeerId, Transport, core, noise, yamux};
use prometheus_client::registry::Registry;
use ssz::Decode; use ssz::Decode;
use std::collections::HashSet; use std::collections::HashSet;
use std::fs::File; use std::fs::File;