diff --git a/Cargo.lock b/Cargo.lock index 6174c3df0f6..7c637a18471 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,7 +37,7 @@ dependencies = [ "eth2_keystore", "eth2_wallet", "filesystem", - "rand 0.9.2", + "rand 0.9.0", "regex", "rpassword", "serde", @@ -228,7 +228,7 @@ dependencies = [ "paste", "proptest", "proptest-derive", - "rand 0.9.2", + "rand 0.9.0", "ruint", "rustc-hash 2.1.1", "serde", @@ -518,9 +518,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "asn1-rs" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" +checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" dependencies = [ "asn1-rs-derive", "asn1-rs-impl", @@ -528,15 +528,15 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.69", + "thiserror 2.0.12", "time", ] [[package]] name = "asn1-rs-derive" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", @@ -624,17 +624,6 @@ dependencies = [ "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]] name = "async-stream" version = "0.3.6" @@ -700,11 +689,12 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "attohttpc" -version = "0.24.1" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" +checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9" dependencies = [ - "http 0.2.12", + "base64 0.22.1", + "http 1.3.0", "log", "url", ] @@ -901,7 +891,7 @@ dependencies = [ "operation_pool", "parking_lot 0.12.3", "proto_array", - "rand 0.9.2", + "rand 0.9.0", "rayon", "safe_arith", "sensitive_url", @@ -1166,7 +1156,7 @@ dependencies = [ "ethereum_ssz", "fixed_bytes", "hex", - "rand 0.9.2", + "rand 0.9.0", "safe_arith", "serde", "tree_hash", @@ -1564,7 +1554,7 @@ dependencies = [ "monitoring_api", "network", "operation_pool", - "rand 0.9.2", + "rand 0.9.0", "sensitive_url", "serde", "serde_json", @@ -1903,6 +1893,12 @@ dependencies = [ "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]] name = "crossbeam-channel" version = "0.5.15" @@ -1978,16 +1974,6 @@ dependencies = [ "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]] name = "crypto-mac" version = "0.11.0" @@ -2240,9 +2226,9 @@ dependencies = [ [[package]] name = "der-parser" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" dependencies = [ "asn1-rs", "displaydoc", @@ -2865,7 +2851,7 @@ dependencies = [ "multiaddr", "pretty_reqwest_error", "proto_array", - "rand 0.9.2", + "rand 0.9.0", "reqwest 0.11.27", "reqwest-eventsource", "sensitive_url", @@ -2922,7 +2908,7 @@ dependencies = [ "hex", "hmac 0.11.0", "pbkdf2 0.8.0", - "rand 0.9.2", + "rand 0.9.0", "scrypt 0.7.0", "serde", "serde_json", @@ -2963,7 +2949,7 @@ dependencies = [ "eth2_key_derivation", "eth2_keystore", "hex", - "rand 0.9.2", + "rand 0.9.0", "serde", "serde_json", "serde_repr", @@ -3356,7 +3342,7 @@ dependencies = [ "metrics", "parking_lot 0.12.3", "pretty_reqwest_error", - "rand 0.9.2", + "rand 0.9.0", "reqwest 0.11.27", "sensitive_url", "serde", @@ -4027,6 +4013,15 @@ dependencies = [ "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]] name = "hdrhistogram" version = "7.5.4" @@ -4121,11 +4116,10 @@ checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" [[package]] name = "hickory-proto" -version = "0.25.0-alpha.5" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d00147af6310f4392a31680db52a3ed45a2e0f68eb18e8c3fe5537ecc96d9e2" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" dependencies = [ - "async-recursion", "async-trait", "cfg-if", "data-encoding", @@ -4136,7 +4130,8 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.2", + "rand 0.9.0", + "ring", "socket2", "thiserror 2.0.12", "tinyvec", @@ -4147,9 +4142,9 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.25.0-alpha.5" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5762f69ebdbd4ddb2e975cd24690bf21fe6b2604039189c26acddbc427f12887" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" dependencies = [ "cfg-if", "futures-util", @@ -4158,7 +4153,7 @@ dependencies = [ "moka", "once_cell", "parking_lot 0.12.3", - "rand 0.9.2", + "rand 0.9.0", "resolv-conf", "smallvec", "thiserror 2.0.12", @@ -4175,23 +4170,13 @@ dependencies = [ "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]] name = "hmac" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac", "digest 0.9.0", ] @@ -4204,17 +4189,6 @@ dependencies = [ "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]] name = "home" version = "0.5.11" @@ -4318,7 +4292,7 @@ dependencies = [ "operation_pool", "parking_lot 0.12.3", "proto_array", - "rand 0.9.2", + "rand 0.9.0", "safe_arith", "sensitive_url", "serde", @@ -4685,9 +4659,9 @@ dependencies = [ [[package]] name = "igd-next" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93" +checksum = "516893339c97f6011282d5825ac94fc1c7aad5cad26bdc2d0cee068c0bf97f97" dependencies = [ "async-trait", "attohttpc", @@ -4698,28 +4672,7 @@ dependencies = [ "hyper 1.6.0", "hyper-util", "log", - "rand 0.8.5", - "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", + "rand 0.9.0", "tokio", "url", "xmltree", @@ -4815,7 +4768,7 @@ dependencies = [ "lockfile", "metrics", "parking_lot 0.12.3", - "rand 0.9.2", + "rand 0.9.0", "reqwest 0.11.27", "serde", "serde_json", @@ -5178,9 +5131,9 @@ dependencies = [ [[package]] name = "libp2p" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b72dc443ddd0254cb49a794ed6b6728400ee446a0f7ab4a07d0209ee98de20e9" +checksum = "ce71348bf5838e46449ae240631117b487073d5f347c06d434caddcb91dceb5a" dependencies = [ "bytes", "either", @@ -5210,9 +5163,9 @@ dependencies = [ [[package]] name = "libp2p-allow-block-list" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38944b7cb981cc93f2f0fb411ff82d0e983bd226fbcc8d559639a3a73236568b" +checksum = "d16ccf824ee859ca83df301e1c0205270206223fd4b1f2e512a693e1912a8f4a" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5221,9 +5174,9 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe9323175a17caa8a2ed4feaf8a548eeef5e0b72d03840a0eab4bcb0210ce1c" +checksum = "a18b8b607cf3bfa2f8c57db9c7d8569a315d5cc0a282e6bfd5ebfc0a9840b2a0" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5232,9 +5185,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.43.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193c75710ba43f7504ad8f58a62ca0615b1d7e572cb0f1780bc607252c39e9ef" +checksum = "4d28e2d2def7c344170f5c6450c0dbe3dfef655610dbfde2f6ac28a527abbe36" dependencies = [ "either", "fnv", @@ -5244,7 +5197,6 @@ dependencies = [ "multiaddr", "multihash", "multistream-select", - "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", @@ -5258,9 +5210,9 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b780a1150214155b0ed1cdf09fbd2e1b0442604f9146a431d1b21d23eef7bd7" +checksum = "0b770c1c8476736ca98c578cba4b505104ff8e842c2876b528925f9766379f9a" dependencies = [ "async-trait", "futures", @@ -5274,8 +5226,8 @@ dependencies = [ [[package]] name = "libp2p-gossipsub" -version = "0.49.0" -source = "git+https://github.com/sigp/rust-libp2p.git?rev=61b2820#61b2820de7a3fab5ae5e1362c4dfa93bd7c41e98" +version = "0.50.0" +source = "git+https://github.com/sigp/rust-libp2p.git?rev=5acdf89a65d64098f9346efa5769e57bcd19dea9#5acdf89a65d64098f9346efa5769e57bcd19dea9" dependencies = [ "async-channel 2.3.1", "asynchronous-codec", @@ -5287,7 +5239,7 @@ dependencies = [ "futures", "futures-timer", "getrandom 0.2.15", - "hashlink 0.9.1", + "hashlink 0.10.0", "hex_fmt", "libp2p-core", "libp2p-identity", @@ -5304,9 +5256,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c06862544f02d05d62780ff590cc25a75f5c2b9df38ec7a370dcae8bb873cf" +checksum = "8ab792a8b68fdef443a62155b01970c81c3aadab5e659621b063ef252a8e65e8" dependencies = [ "asynchronous-codec", "either", @@ -5325,31 +5277,31 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "asn1_der", "bs58 0.5.1", "ed25519-dalek", "hkdf", - "libsecp256k1", + "k256 0.13.4", "multihash", "p256", "quick-protobuf", "rand 0.8.5", "sec1 0.7.3", "sha2 0.10.8", - "thiserror 1.0.69", + "thiserror 2.0.12", "tracing", "zeroize", ] [[package]] name = "libp2p-mdns" -version = "0.47.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d0ba095e1175d797540e16b62e7576846b883cb5046d4159086837b36846cc" +checksum = "c66872d0f1ffcded2788683f76931be1c52e27f343edb93bc6d0bcd8887be443" dependencies = [ "futures", "hickory-proto", @@ -5366,9 +5318,9 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ce58c64292e87af624fcb86465e7dd8342e46a388d71e8fec0ab37ee789630a" +checksum = "805a555148522cb3414493a5153451910cb1a146c53ffbf4385708349baf62b7" dependencies = [ "futures", "libp2p-core", @@ -5401,9 +5353,9 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.46.0" +version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcc133e0f3cea07acde6eb8a9665cb11b600bd61110b010593a0210b8153b16" +checksum = "bc73eacbe6462a0eb92a6527cac6e63f02026e5407f8831bde8293f19217bfbf" dependencies = [ "asynchronous-codec", "bytes", @@ -5412,7 +5364,6 @@ dependencies = [ "libp2p-identity", "multiaddr", "multihash", - "once_cell", "quick-protobuf", "rand 0.8.5", "snow", @@ -5441,9 +5392,9 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41432a159b00424a0abaa2c80d786cddff81055ac24aa127e0cf375f7858d880" +checksum = "8dc448b2de9f4745784e3751fe8bc6c473d01b8317edd5ababcb0dec803d843f" dependencies = [ "futures", "futures-timer", @@ -5463,9 +5414,9 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "803399b4b6f68adb85e63ab573ac568154b193e9a640f03e0f2890eabbcb37f8" +checksum = "6aa762e5215919a34e31c35d4b18bf2e18566ecab7f8a3d39535f4a3068f8b62" dependencies = [ "either", "fnv", @@ -5476,7 +5427,6 @@ dependencies = [ "libp2p-swarm-derive", "lru", "multistream-select", - "once_cell", "rand 0.8.5", "smallvec", "tokio", @@ -5486,21 +5436,20 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.35.0" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" +checksum = "dd297cf53f0cb3dee4d2620bb319ae47ef27c702684309f682bdb7e55a18ae9c" dependencies = [ "heck 0.5.0", - "proc-macro2", "quote", "syn 2.0.100", ] [[package]] name = "libp2p-tcp" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65346fb4d36035b23fec4e7be4c320436ba53537ce9b6be1d1db1f70c905cad0" +checksum = "65b4e030c52c46c8d01559b2b8ca9b7c4185f10576016853129ca1fe5cd1a644" dependencies = [ "futures", "futures-timer", @@ -5514,9 +5463,9 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42bbf5084fb44133267ad4caaa72a253d68d709edd2ed1cf9b42431a8ead8fd5" +checksum = "96ff65a82e35375cbc31ebb99cacbbf28cb6c4fefe26bf13756ddcf708d40080" dependencies = [ "futures", "futures-rustls", @@ -5525,7 +5474,7 @@ dependencies = [ "rcgen", "ring", "rustls 0.23.23", - "rustls-webpki 0.101.7", + "rustls-webpki 0.103.4", "thiserror 2.0.12", "x509-parser", "yasna", @@ -5533,13 +5482,13 @@ dependencies = [ [[package]] name = "libp2p-upnp" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d457b9ecceb66e7199f049926fad447f1f17f040e8d29d690c086b4cab8ed14a" +checksum = "4757e65fe69399c1a243bbb90ec1ae5a2114b907467bf09f3575e899815bb8d3" dependencies = [ "futures", "futures-timer", - "igd-next 0.15.1", + "igd-next", "libp2p-core", "libp2p-swarm", "tokio", @@ -5571,54 +5520,6 @@ dependencies = [ "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]] name = "libsqlite3-sys" version = "0.25.2" @@ -5725,7 +5626,7 @@ dependencies = [ "prometheus-client", "quickcheck", "quickcheck_macros", - "rand 0.9.2", + "rand 0.9.0", "regex", "serde", "sha2 0.9.9", @@ -6179,7 +6080,7 @@ dependencies = [ "hyper 1.6.0", "hyper-util", "log", - "rand 0.9.2", + "rand 0.9.0", "regex", "serde_json", "serde_urlencoded", @@ -6412,7 +6313,7 @@ dependencies = [ "futures", "genesis", "hex", - "igd-next 0.16.0", + "igd-next", "itertools 0.10.5", "k256 0.13.4", "kzg", @@ -6426,7 +6327,7 @@ dependencies = [ "operation_pool", "parking_lot 0.12.3", "rand 0.8.5", - "rand 0.9.2", + "rand 0.9.0", "rand_chacha 0.3.1", "rand_chacha 0.9.0", "serde_json", @@ -6624,9 +6525,9 @@ dependencies = [ [[package]] name = "oid-registry" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" dependencies = [ "asn1-rs", ] @@ -6636,6 +6537,10 @@ name = "once_cell" version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad" +dependencies = [ + "critical-section", + "portable-atomic", +] [[package]] name = "oneshot_broadcast" @@ -6810,7 +6715,7 @@ dependencies = [ "futures-util", "opentelemetry", "percent-encoding", - "rand 0.9.2", + "rand 0.9.0", "serde_json", "thiserror 2.0.12", ] @@ -6828,7 +6733,7 @@ dependencies = [ "maplit", "metrics", "parking_lot 0.12.3", - "rand 0.9.2", + "rand 0.9.0", "rayon", "serde", "state_processing", @@ -7004,7 +6909,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac", ] [[package]] @@ -7379,9 +7284,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.22.3" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" +checksum = "cf41c1a7c32ed72abe5082fb19505b969095c12da9f5732a4bc9878757fd087c" dependencies = [ "dtoa", "itoa", @@ -7658,13 +7563,14 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", "serde", + "zerocopy 0.8.23", ] [[package]] @@ -8070,7 +7976,7 @@ dependencies = [ "primitive-types 0.12.2", "proptest", "rand 0.8.5", - "rand 0.9.2", + "rand 0.9.0", "rlp", "ruint-macro", "serde", @@ -8266,11 +8172,12 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "web-time", + "zeroize", ] [[package]] @@ -8294,6 +8201,17 @@ dependencies = [ "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]] name = "rustversion" version = "1.0.20" @@ -8844,7 +8762,7 @@ dependencies = [ "maplit", "metrics", "parking_lot 0.12.3", - "rand 0.9.2", + "rand 0.9.0", "rayon", "redb", "safe_arith", @@ -9009,7 +8927,7 @@ dependencies = [ "itertools 0.10.5", "merkle_proof", "metrics", - "rand 0.9.2", + "rand 0.9.0", "rayon", "safe_arith", "smallvec", @@ -9055,7 +8973,7 @@ dependencies = [ "lru", "metrics", "parking_lot 0.12.3", - "rand 0.9.2", + "rand 0.9.0", "redb", "safe_arith", "serde", @@ -9955,7 +9873,7 @@ dependencies = [ "milhouse", "parking_lot 0.12.3", "paste", - "rand 0.9.2", + "rand 0.9.0", "rand_xorshift 0.4.0", "rayon", "regex", @@ -10195,7 +10113,7 @@ dependencies = [ "filesystem", "hex", "lockfile", - "rand 0.9.2", + "rand 0.9.0", "tempfile", "tree_hash", "types", @@ -10225,7 +10143,7 @@ dependencies = [ "lighthouse_version", "logging", "parking_lot 0.12.3", - "rand 0.9.2", + "rand 0.9.0", "sensitive_url", "serde", "serde_json", @@ -11204,9 +11122,9 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" dependencies = [ "asn1-rs", "data-encoding", @@ -11215,7 +11133,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror 1.0.69", + "thiserror 2.0.12", "time", ] diff --git a/Cargo.toml b/Cargo.toml index 413e0faf891..8588be49c0c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -161,7 +161,8 @@ fork_choice = { path = "consensus/fork_choice" } fs2 = "0.4" futures = "0.3" 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" } hashlink = "0.9.0" health_metrics = { path = "common/health_metrics" } diff --git a/beacon_node/lighthouse_network/Cargo.toml b/beacon_node/lighthouse_network/Cargo.toml index 3ee967eeee2..0b2ca9e8183 100644 --- a/beacon_node/lighthouse_network/Cargo.toml +++ b/beacon_node/lighthouse_network/Cargo.toml @@ -32,7 +32,7 @@ lru = { workspace = true } lru_cache = { workspace = true } metrics = { workspace = true } parking_lot = { workspace = true } -prometheus-client = "0.22.0" +prometheus-client = "0.23.0" rand = { workspace = true } regex = { workspace = true } serde = { workspace = true } @@ -54,7 +54,7 @@ unsigned-varint = { version = "0.8", features = ["codec"] } unused_port = { workspace = true } [dependencies.libp2p] -version = "0.55" +version = "0.56" default-features = false features = [ "identify", diff --git a/beacon_node/lighthouse_network/src/service/mod.rs b/beacon_node/lighthouse_network/src/service/mod.rs index 54c01ae16a5..eebc2f02009 100644 --- a/beacon_node/lighthouse_network/src/service/mod.rs +++ b/beacon_node/lighthouse_network/src/service/mod.rs @@ -328,26 +328,25 @@ impl Network { 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 snappy_transform = SnappyTransform::new(spec.max_payload_size as usize, spec.max_compressed_len()); let mut gossipsub = Gossipsub::new_with_subscription_filter_and_transform( MessageAuthenticity::Anonymous, gs_config.clone(), - gossipsub_metrics, filter, snappy_transform, ) .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 .with_peer_score(params, thresholds) .expect("Valid score params and thresholds"); @@ -1374,14 +1373,12 @@ impl Network { } => { debug!( peer_id = %peer_id, - publish = failed_messages.publish, - forward = failed_messages.forward, priority = failed_messages.priority, non_priority = failed_messages.non_priority, "Slow gossipsub peer" ); // 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"); self.peer_manager_mut().report_peer( &peer_id, @@ -1390,7 +1387,7 @@ impl Network { None, "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"); self.peer_manager_mut().report_peer( &peer_id, @@ -1888,6 +1885,7 @@ impl Network { send_back_addr, error, connection_id: _, + peer_id: _, } => { let error_repr = match error { libp2p::swarm::ListenError::Aborted => { @@ -1896,8 +1894,8 @@ impl Network { libp2p::swarm::ListenError::WrongPeerId { obtained, endpoint } => { format!("Wrong peer id, obtained {obtained}, endpoint {endpoint:?}") } - libp2p::swarm::ListenError::LocalPeerId { endpoint } => { - format!("Dialing local peer id {endpoint:?}") + libp2p::swarm::ListenError::LocalPeerId { address } => { + format!("Dialing local peer id {address:?}") } libp2p::swarm::ListenError::Denied { cause } => { format!("Connection was denied with cause: {cause:?}") diff --git a/beacon_node/lighthouse_network/src/service/utils.rs b/beacon_node/lighthouse_network/src/service/utils.rs index 6f77fed9335..a0026837e37 100644 --- a/beacon_node/lighthouse_network/src/service/utils.rs +++ b/beacon_node/lighthouse_network/src/service/utils.rs @@ -6,8 +6,8 @@ use futures::future::Either; use gossipsub; use libp2p::core::{multiaddr::Multiaddr, muxing::StreamMuxerBox, transport::Boxed}; use libp2p::identity::{Keypair, secp256k1}; +use libp2p::metrics::Registry; use libp2p::{PeerId, Transport, core, noise, yamux}; -use prometheus_client::registry::Registry; use ssz::Decode; use std::collections::HashSet; use std::fs::File;