From f052f9c762d97f98a86179c069de7d22669c7e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Gr=C3=BCner?= <47506558+MegaRedHand@users.noreply.github.com> Date: Wed, 28 Oct 2026 17:44:54 -0300 Subject: [PATCH] chore(p2p): switch libp2p from the lambdaclass fork to upstream 0.57.1 The fork's only change of its own was `send_request_with_protocol`, which nothing calls since req/resp became one `request_response::Behaviour` per protocol. Tracking crates.io releases gets upstream fixes without keeping a fork rebased. Upstream changed two gossipsub behaviours this node depends on: - libp2p-gossipsub 0.50 made `MaxCountSubscriptionFilter` the default (100 topics per peer and per RPC, whole subscription RPC ignored when over). A mainnet peer custodying every column subnet is over that alone, so the `Gossipsub` alias keeps `AllowAllSubscriptionFilter`. - `max_messages_per_rpc` became `max_publish_messages`, and an RPC over the limit now fails to decode and closes the inbound stream instead of being truncated. libp2p-mplex is taken from crates.io at the release libp2p's own dev-dependency names. libp2p-quic 0.14 prefers X25519MLKEM768, which brings aws-lc-rs (a C build) into rustls. libp2p-swarm pins wasm-bindgen-futures, which moves the wasm-bindgen crates back. Every new crate was pinned to its newest release past the 14-day publish-age cooldown, except four with no such release: libp2p 0.57.1, libp2p-peer-store 0.1.0, crypto-bigint 0.7.10 and ctutils 0.4.6. crypto-bigint 0.7.0 to 0.7.8 are yanked, and every libp2p 0.57.x reaches it through libp2p-identity 0.3 and k256 0.14, so no older libp2p avoids it. --- CLAUDE.md | 2 +- Cargo.lock | 1332 +++++++++++++++------- crates/net/p2p/Cargo.toml | 11 +- crates/net/p2p/src/beacon/scoring.rs | 6 +- crates/net/p2p/src/lib.rs | 38 +- crates/net/p2p/src/req_resp/behaviour.rs | 13 +- crates/net/p2p/src/swarm_adapter.rs | 20 +- 7 files changed, 957 insertions(+), 465 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index a171704a8..aefa9fe7f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1025,7 +1025,7 @@ behavior. - `libssz` / `libssz-derive` / `libssz-types`: SSZ serialization - `libssz-merkle`: Merkle tree hashing (`hash_tree_root()`) - `spawned-concurrency`: Actor model -- `libp2p`: P2P networking (custom LambdaClass fork) +- `libp2p`: P2P networking (upstream crates.io release) - `vergen-git2`: Build-time git commit/branch info embedded in binary **Storage:** diff --git a/Cargo.lock b/Cargo.lock index cbb58dcb3..a1a21f47d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,7 +34,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", "cpufeatures 0.2.17", ] @@ -46,7 +46,7 @@ checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", "aes", - "cipher", + "cipher 0.4.4", "ctr", "ghash", "subtle", @@ -95,7 +95,7 @@ dependencies = [ "hashbrown 0.17.1", "indexmap 2.14.0", "itoa", - "k256", + "k256 0.13.4", "keccak-asm", "paste", "proptest", @@ -440,12 +440,6 @@ dependencies = [ "rand 0.8.6", ] -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - [[package]] name = "arrayvec" version = "0.7.6" @@ -572,7 +566,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9" dependencies = [ - "base64", + "base64 0.22.1", "http", "log", "url", @@ -595,6 +589,29 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +[[package]] +name = "aws-lc-rs" +version = "1.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faac5829c2b74c28f830747e7818ccfb684261b5f48a1118b1e2a13d36dfab13" +dependencies = [ + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1622d8446a2d4b2ce0c7eefc73dd43a99779028d5ee5c2dd8073a658ba8a2bc" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", + "pkg-config", +] + [[package]] name = "axum" version = "0.8.9" @@ -674,6 +691,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base16ct" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6" + [[package]] name = "base256emoji" version = "1.0.2" @@ -690,6 +713,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" + [[package]] name = "base64ct" version = "1.8.3" @@ -892,9 +921,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" dependencies = [ "serde", ] @@ -932,9 +961,9 @@ checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" [[package]] name = "cbor4ii" -version = "0.3.3" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "472931dd4dfcc785075b09be910147f9c6258883fc4591d0dac6116392b2daa6" +checksum = "a0948fe1a10668d439d5fd476904223ab08a6783945d451fb996728e952ebcc7" dependencies = [ "serde", ] @@ -979,7 +1008,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", "cpufeatures 0.2.17", ] @@ -1002,7 +1031,7 @@ checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20 0.9.1", - "cipher", + "cipher 0.4.4", "poly1305", "zeroize", ] @@ -1026,10 +1055,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common 0.1.7", - "inout", + "inout 0.1.4", "zeroize", ] +[[package]] +name = "cipher" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c" +dependencies = [ + "block-buffer 0.12.0", + "crypto-common 0.2.2", + "inout 0.2.2", +] + [[package]] name = "clang-sys" version = "1.8.1" @@ -1081,6 +1121,21 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +[[package]] +name = "cmake" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +dependencies = [ + "cc", +] + +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + [[package]] name = "cobs" version = "0.3.0" @@ -1096,6 +1151,16 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +[[package]] +name = "combine" +version = "4.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "concat-kdf" version = "0.1.0" @@ -1132,6 +1197,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + [[package]] name = "const-str" version = "0.4.3" @@ -1193,6 +1264,12 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -1300,6 +1377,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "crypto-bigint" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c035cb64cba03dad2fb921f3e218785e8cf9a41790da5eb3a1400f62fa2be11" +dependencies = [ + "cpubits", + "ctutils", + "getrandom 0.4.2", + "hybrid-array", + "num-traits", + "rand_core 0.10.1", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.7" @@ -1317,7 +1410,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" dependencies = [ + "getrandom 0.4.2", "hybrid-array", + "rand_core 0.10.1", ] [[package]] @@ -1326,7 +1421,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher", + "cipher 0.4.4", ] [[package]] @@ -1340,6 +1435,16 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "ctutils" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe3e9d21d39e6f39ff46e03d5b621424f88ee23d8a1672c6bfc9ccc7f2da4f6a" +dependencies = [ + "cmov", + "subtle", +] + [[package]] name = "cuckoofilter" version = "0.5.0" @@ -1360,8 +1465,22 @@ dependencies = [ "cfg-if", "cpufeatures 0.2.17", "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto", + "fiat-crypto 0.2.9", + "rustc_version 0.4.1", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5eed333089e2e1c1ac8c6c0398e5e2497b4c9926ca6d0365ed1e099afa5bc23" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "curve25519-dalek-derive", + "digest 0.11.3", + "fiat-crypto 0.3.0", "rustc_version 0.4.1", "subtle", "zeroize", @@ -1484,7 +1603,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090" dependencies = [ "data-encoding", - "syn 2.0.117", + "syn 1.0.109", ] [[package]] @@ -1536,7 +1655,17 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid", + "const-oid 0.9.6", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a878c850e9e421b20262e9b41f9c860e4785fa07541c266b62ff9d1ef998a80a" +dependencies = [ + "const-oid 0.10.2", "pem-rfc7468", "zeroize", ] @@ -1668,7 +1797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", + "const-oid 0.9.6", "crypto-common 0.1.7", "subtle", ] @@ -1680,7 +1809,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ "block-buffer 0.12.0", + "const-oid 0.10.2", "crypto-common 0.2.2", + "ctutils", ] [[package]] @@ -1712,6 +1843,12 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + [[package]] name = "dyn-clone" version = "1.0.20" @@ -1724,34 +1861,47 @@ version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der", + "der 0.7.10", "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ecdsa" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0681a4fc24c767085329728d8dfba959af91228aa4610cca4f8ce317ba46ae0" +dependencies = [ + "der 0.8.2", + "digest 0.11.3", + "elliptic-curve 0.14.1", + "rfc6979 0.6.0", + "signature 3.0.0", + "spki 0.8.1", + "zeroize", ] [[package]] name = "ed25519" -version = "2.2.3" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +checksum = "29fcf32e6c73d1079f83ab4d782de2d81620346a5f38c6237a86a22f8368980a" dependencies = [ - "pkcs8", - "signature", + "signature 3.0.0", ] [[package]] name = "ed25519-dalek" -version = "2.2.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +checksum = "6ebaa1a2bf1290ab3bfe5a7b771d050ebffab2711c19a81691c683a5144a25de" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 5.0.0", "ed25519", - "serde", - "sha2", + "sha2 0.11.1", "subtle", "zeroize", ] @@ -1780,16 +1930,36 @@ version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct", - "crypto-bigint", + "base16ct 0.2.0", + "crypto-bigint 0.5.5", "digest 0.10.7", - "ff", + "ff 0.13.1", "generic-array", - "group", - "pem-rfc7468", - "pkcs8", + "group 0.13.0", + "pkcs8 0.10.2", "rand_core 0.6.4", - "sec1", + "sec1 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d65aa39b3a5c1c9c1b745c9a019234bb7a21b77abcb4f4d266d706e2d577d65" +dependencies = [ + "base16ct 1.0.0", + "crypto-bigint 0.7.10", + "crypto-common 0.2.2", + "digest 0.11.3", + "ff 0.14.0", + "group 0.14.0", + "hybrid-array", + "pem-rfc7468", + "pkcs8 0.11.0", + "rand_core 0.10.1", + "sec1 0.8.1", "subtle", "zeroize", ] @@ -1806,18 +1976,6 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "enum-ordinalize" version = "4.3.2" @@ -1962,7 +2120,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml_ng", - "sha2", + "sha2 0.10.9", "snap", "tempfile", "thiserror 2.0.18", @@ -2021,14 +2179,14 @@ dependencies = [ name = "ethlambda-engine" version = "0.1.0" dependencies = [ - "base64", + "base64 0.22.1", "ethlambda-types", "hex", - "hmac", + "hmac 0.12.1", "reqwest", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "thiserror 2.0.18", "tokio", "tracing", @@ -2080,7 +2238,7 @@ dependencies = [ "libssz-types 0.3.0 (git+https://github.com/lambdaclass/libssz?rev=5cb14378ffdadcb51b387c003567e2630d0c7073)", "rand 0.8.6", "secp256k1 0.30.0", - "sha2", + "sha2 0.10.9", "snap", "spawned-concurrency", "thiserror 2.0.18", @@ -2156,7 +2314,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml_ng", - "sha2", + "sha2 0.10.9", "snap", "thiserror 2.0.18", "tracing", @@ -2211,7 +2369,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml_ng", - "sha2", + "sha2 0.10.9", "thiserror 2.0.18", ] @@ -2227,7 +2385,7 @@ dependencies = [ "ethlambda-metrics", "ethlambda-types", "hex", - "hmac", + "hmac 0.12.1", "http-body-util", "libc", "libssz 0.3.0 (git+https://github.com/lambdaclass/libssz?rev=5cb14378ffdadcb51b387c003567e2630d0c7073)", @@ -2239,7 +2397,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml_ng", - "sha2", + "sha2 0.10.9", "subtle", "tempfile", "thiserror 2.0.18", @@ -2305,7 +2463,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "thiserror 2.0.18", "tracing", ] @@ -2321,13 +2479,13 @@ dependencies = [ "c-kzg", "ethereum-types", "hex-literal", - "k256", + "k256 0.13.4", "malachite", "num-bigint", - "p256", + "p256 0.13.2", "ripemd", "secp256k1 0.30.0", - "sha2", + "sha2 0.10.9", "thiserror 2.0.18", "tiny-keccak", ] @@ -2364,7 +2522,7 @@ dependencies = [ "ethereum-types", "ethrex-common", "ethrex-crypto", - "k256", + "k256 0.13.4", "lambdaworks-crypto", "rkyv", "serde", @@ -2423,8 +2581,8 @@ dependencies = [ "ethrex-trie", "futures", "hex", - "hkdf", - "hmac", + "hkdf 0.12.4", + "hmac 0.12.1", "indexmap 2.14.0", "lazy_static", "lru", @@ -2434,7 +2592,7 @@ dependencies = [ "rustc-hash", "secp256k1 0.30.0", "serde", - "sha2", + "sha2 0.10.9", "snap", "spawned-concurrency", "spawned-rt", @@ -2607,12 +2765,28 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f686ab92a9fb0eaf188f6c6c87b89490baa6fdb0db4544ba4dc47f7942489f" +dependencies = [ + "rand_core 0.10.1", + "subtle", +] + [[package]] name = "fiat-crypto" version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "fiat-crypto" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" + [[package]] name = "fiat_shamir" version = "0.1.0" @@ -2690,6 +2864,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "funty" version = "2.0.0" @@ -2717,8 +2897,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b604752cefc5aa3ab98992a107a8bd99465d2825c1584e0b60cb6957b21e19d7" dependencies = [ + "futures-timer", "futures-util", - "tokio", ] [[package]] @@ -2800,12 +2980,12 @@ checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" -version = "3.0.4" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" dependencies = [ "gloo-timers", - "send_wrapper", + "send_wrapper 0.4.0", ] [[package]] @@ -2881,11 +3061,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", + "js-sys", "libc", "r-efi 6.0.0", "rand_core 0.10.1", "wasip2", "wasip3", + "wasm-bindgen", ] [[package]] @@ -2925,9 +3107,9 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "gloo-timers" -version = "0.4.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "482ce8a491a501da4cd806bd190275363d674f2845005c6ddbd5d3e1dd54495d" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" dependencies = [ "futures-channel", "futures-core", @@ -2941,11 +3123,22 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff", + "ff 0.13.1", "rand_core 0.6.4", "subtle", ] +[[package]] +name = "group" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd1a1c7a5206c5b7a3f5a0d7ccd3ff85d0c8f5133d62a02680255b0004af5f4" +dependencies = [ + "ff 0.14.0", + "rand_core 0.10.1", + "subtle", +] + [[package]] name = "h2" version = "0.4.14" @@ -3020,11 +3213,11 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230" +checksum = "a596f1b20ed2cc5ecac41a164aaebc7258057060f06c0cf7a2ba3991ee7990fb" dependencies = [ - "hashbrown 0.16.1", + "hashbrown 0.17.1", ] [[package]] @@ -3091,47 +3284,70 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" [[package]] -name = "hickory-proto" -version = "0.25.2" +name = "hickory-net" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +checksum = "c480823ed7c2c5d0f09c41020cb6b7c28029ce60ec42dc942158dcf22f8e0a4d" dependencies = [ "async-trait", "cfg-if", "data-encoding", - "enum-as-inner", "futures-channel", "futures-io", "futures-util", + "hickory-proto", + "idna", + "ipnet", + "jni", + "rand 0.10.1", + "thiserror 2.0.18", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-proto" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b92608f679a6fa515dd1d15c1ff89443026e391200a2c840c7afcba482893d" +dependencies = [ + "data-encoding", "idna", "ipnet", + "jni", "once_cell", - "rand 0.9.4", + "prefix-trie", + "rand 0.10.1", "ring", - "socket2 0.5.10", "thiserror 2.0.18", "tinyvec", - "tokio", "tracing", "url", ] [[package]] name = "hickory-resolver" -version = "0.25.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +checksum = "3f3da5255c95d5a716857d54b5b8f4e8d67c3484d3beaaaae2ce25063b3ba981" dependencies = [ "cfg-if", "futures-util", + "hickory-net", "hickory-proto", "ipconfig", + "ipnet", + "jni", "moka", + "ndk-context", "once_cell", "parking_lot", - "rand 0.9.4", + "rand 0.10.1", "resolv-conf", "smallvec", + "system-configuration", "thiserror 2.0.18", "tokio", "tracing", @@ -3143,7 +3359,16 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac", + "hmac 0.12.1", +] + +[[package]] +name = "hkdf" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" +dependencies = [ + "hmac 0.13.0", ] [[package]] @@ -3155,6 +3380,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "hmac" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" +dependencies = [ + "digest 0.11.3", +] + [[package]] name = "http" version = "1.4.0" @@ -3202,11 +3436,13 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hybrid-array" -version = "0.4.12" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" dependencies = [ + "subtle", "typenum", + "zeroize", ] [[package]] @@ -3244,7 +3480,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots 1.0.7", + "webpki-roots", ] [[package]] @@ -3253,7 +3489,7 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-util", @@ -3264,7 +3500,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2", "tokio", "tower-service", "tracing", @@ -3282,7 +3518,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.57.0", + "windows-core", ] [[package]] @@ -3439,16 +3675,15 @@ dependencies = [ "rtnetlink", "system-configuration", "tokio", - "windows 0.62.2", + "windows", ] [[package]] name = "igd-next" -version = "0.16.2" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516893339c97f6011282d5825ac94fc1c7aad5cad26bdc2d0cee068c0bf97f97" +checksum = "de7238d487a9aff61f81b5ab41c0a841532a115a398b5fa92a2fadd0885e2581" dependencies = [ - "async-trait", "attohttpc", "bytes", "futures", @@ -3457,7 +3692,7 @@ dependencies = [ "hyper", "hyper-util", "log", - "rand 0.9.4", + "rand 0.10.1", "tokio", "url", "xmltree", @@ -3570,16 +3805,25 @@ dependencies = [ "generic-array", ] +[[package]] +name = "inout" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" +dependencies = [ + "hybrid-array", +] + [[package]] name = "ipconfig" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" dependencies = [ - "socket2 0.6.3", + "socket2", "widestring", "windows-registry", - "windows-result 0.4.1", + "windows-result", "windows-sys 0.61.2", ] @@ -3588,6 +3832,9 @@ name = "ipnet" version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" +dependencies = [ + "serde", +] [[package]] name = "is_terminal_polyfill" @@ -3699,23 +3946,70 @@ dependencies = [ ] [[package]] -name = "jobserver" -version = "0.1.34" +name = "jni" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" dependencies = [ - "getrandom 0.3.4", - "libc", + "cfg-if", + "combine", + "jni-macros", + "jni-sys", + "log", + "simd_cesu8", + "thiserror 2.0.18", + "walkdir", + "windows-link", ] [[package]] -name = "js-sys" -version = "0.3.98" +name = "jni-macros" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "simd_cesu8", + "syn 2.0.117", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ - "cfg-if", - "futures-util", "once_cell", "wasm-bindgen", ] @@ -3727,11 +4021,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", - "ecdsa", - "elliptic-curve", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", "once_cell", - "sha2", - "signature", + "sha2 0.10.9", + "signature 2.2.0", +] + +[[package]] +name = "k256" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f50113171a713f4a4231ef82eb26703607139b35dcb56241f0ceab2ae1f7d8" +dependencies = [ + "cpubits", + "ecdsa 0.17.0", + "elliptic-curve 0.14.1", + "primeorder 0.14.0", + "sha2 0.11.1", + "signature 3.0.0", + "wnaf", ] [[package]] @@ -3788,7 +4097,7 @@ dependencies = [ "rand 0.8.6", "rand_chacha 0.3.1", "serde", - "sha2", + "sha2 0.10.9", "sha3 0.10.9", ] @@ -3906,14 +4215,15 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libp2p" -version = "0.57.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd752f66522780daa3acfd0103a2dccb3921e4c09db5f777bfca98227c8e74d" dependencies = [ "bytes", "either", "futures", "futures-timer", - "getrandom 0.2.17", + "getrandom 0.4.2", "libp2p-allow-block-list", "libp2p-autonat", "libp2p-connection-limits", @@ -3929,6 +4239,7 @@ dependencies = [ "libp2p-memory-connection-limits", "libp2p-metrics", "libp2p-noise", + "libp2p-peer-store", "libp2p-ping", "libp2p-plaintext", "libp2p-pnet", @@ -3955,7 +4266,8 @@ dependencies = [ [[package]] name = "libp2p-allow-block-list" version = "0.7.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3074eaa93c889a9f56e5e4ecbbb8a5213652b22af0a1d880504345f2bd8768c4" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3965,7 +4277,8 @@ dependencies = [ [[package]] name = "libp2p-autonat" version = "0.16.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "651fcbe0470d52db88ace805e94fd074aa18537312d43cbb531f761fa6916b43" dependencies = [ "asynchronous-codec", "either", @@ -3976,10 +4289,10 @@ dependencies = [ "libp2p-identity", "libp2p-request-response", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", - "rand_core 0.6.4", + "prost", + "prost-codec", + "rand 0.10.1", + "rand_core 0.10.1", "thiserror 2.0.18", "tracing", "web-time", @@ -3988,7 +4301,8 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" version = "0.7.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11b98b22c89fc70113a8988db523b0715e299c804e08da7eb20b8440b8249833" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3998,7 +4312,8 @@ dependencies = [ [[package]] name = "libp2p-core" version = "0.44.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2b1a55b9d5e51389db344a609d8c2ff35eabd870a8400067d66d2b1b6f8df68" dependencies = [ "either", "fnv", @@ -4010,8 +4325,8 @@ dependencies = [ "multistream-select", "parking_lot", "pin-project", - "quick-protobuf", - "rand 0.8.6", + "prost", + "rand 0.10.1", "rw-stream-sink", "thiserror 2.0.18", "tracing", @@ -4022,7 +4337,8 @@ dependencies = [ [[package]] name = "libp2p-dcutr" version = "0.15.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78e2108e262a7a1c4d547bbed120c3b095864f3f093ad19cf510b1785d472c9" dependencies = [ "asynchronous-codec", "either", @@ -4033,8 +4349,8 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", + "prost", + "prost-codec", "thiserror 2.0.18", "tracing", "web-time", @@ -4043,7 +4359,8 @@ dependencies = [ [[package]] name = "libp2p-dns" version = "0.45.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18694695e98ff9ce26ee245fdede7cd0b4186cb793b25da3258d9c053400a291" dependencies = [ "futures", "hickory-resolver", @@ -4057,19 +4374,21 @@ dependencies = [ [[package]] name = "libp2p-floodsub" version = "0.48.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c5e83addf03482b0aab3e302e370466fb7c76f6c034c40300102e392f69a583" dependencies = [ "asynchronous-codec", "bytes", "cuckoofilter", "fnv", "futures", + "hashlink", "libp2p-core", "libp2p-identity", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", + "prost", + "prost-codec", + "rand 0.10.1", "smallvec", "thiserror 2.0.18", "tracing", @@ -4078,30 +4397,31 @@ dependencies = [ [[package]] name = "libp2p-gossipsub" version = "0.50.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b625461b45e5b36facf07ff3585b831bcaf26cab8907ac8f47d1e8e999999e0" dependencies = [ "async-channel", "asynchronous-codec", - "base64", + "base64 0.23.1", "byteorder", "bytes", "either", "fnv", "futures", "futures-timer", - "getrandom 0.2.17", + "getrandom 0.4.2", "hashlink", "hex_fmt", "libp2p-core", "libp2p-identity", "libp2p-swarm", "prometheus-client", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", + "prost", + "prost-codec", + "rand 0.10.1", "regex", "serde", - "sha2", + "sha2 0.11.1", "tracing", "web-time", ] @@ -4109,7 +4429,8 @@ dependencies = [ [[package]] name = "libp2p-identify" version = "0.48.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2dd130b2cbbcecb55e923c5ba4183e6b9af542b4251680017300c693a6e183c" dependencies = [ "asynchronous-codec", "either", @@ -4119,8 +4440,8 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", + "prost", + "prost-codec", "smallvec", "thiserror 2.0.18", "tracing", @@ -4128,23 +4449,22 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.13" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c7892c221730ba55f7196e98b0b8ba5e04b4155651736036628e9f73ed6fc3" +checksum = "3d77f16caa4f4d2667a1fad5bb1a3a4a4556967c1bff93525ebb2975847fa3de" dependencies = [ "asn1_der", "bs58", "ed25519-dalek", - "hkdf", - "k256", + "hkdf 0.13.0", + "k256 0.14.0", "multihash", - "p256", - "quick-protobuf", - "rand 0.8.6", + "p256 0.14.0", + "prost", + "rand 0.10.1", "ring", - "sec1", "serde", - "sha2", + "sha2 0.11.1", "thiserror 2.0.18", "tracing", "zeroize", @@ -4153,7 +4473,8 @@ dependencies = [ [[package]] name = "libp2p-kad" version = "0.49.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "973caa45045e53f3cf1cf3d596888b82602b30640fd75485836c81aa66e7c38a" dependencies = [ "asynchronous-codec", "bytes", @@ -4165,11 +4486,11 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", + "prost", + "prost-codec", + "rand 0.10.1", "serde", - "sha2", + "sha2 0.11.1", "smallvec", "thiserror 2.0.18", "tracing", @@ -4180,7 +4501,8 @@ dependencies = [ [[package]] name = "libp2p-mdns" version = "0.49.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e82fb6db53f8ba1642bc0695ee589f7bcc1ff9028a9d068a88ee0db5b94667f" dependencies = [ "futures", "hickory-proto", @@ -4188,9 +4510,9 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.6", + "rand 0.10.1", "smallvec", - "socket2 0.6.3", + "socket2", "tokio", "tracing", ] @@ -4198,7 +4520,8 @@ dependencies = [ [[package]] name = "libp2p-memory-connection-limits" version = "0.6.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb31f87447e68f471efeb9042cdfb8cf3141eb033a210dea7a762398fb5b7362" dependencies = [ "libp2p-core", "libp2p-identity", @@ -4211,7 +4534,8 @@ dependencies = [ [[package]] name = "libp2p-metrics" version = "0.18.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3106bb2e4116c9cfa6b87ece6632d9582606fe923aabde27a42a001f3061ff82" dependencies = [ "futures", "libp2p-core", @@ -4231,7 +4555,8 @@ dependencies = [ [[package]] name = "libp2p-mplex" version = "0.44.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df0800d85068bbb1c18b2f3135f4d1b36056e2acc4ea5722128ffb7f471736d" dependencies = [ "asynchronous-codec", "bytes", @@ -4240,7 +4565,7 @@ dependencies = [ "libp2p-identity", "nohash-hasher", "parking_lot", - "rand 0.8.6", + "rand 0.10.1", "smallvec", "tracing", "unsigned-varint", @@ -4249,17 +4574,19 @@ dependencies = [ [[package]] name = "libp2p-noise" version = "0.47.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7895a7bf90479291bff16ffddca81f539fc59d62c17b3cce17620cf75abaa6fd" dependencies = [ "asynchronous-codec", "bytes", "futures", + "getrandom 0.3.4", "libp2p-core", "libp2p-identity", "multiaddr", "multihash", - "quick-protobuf", - "rand 0.8.6", + "prost", + "rand 0.10.1", "snow", "static_assertions", "thiserror 2.0.18", @@ -4268,17 +4595,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "libp2p-peer-store" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d4bf3ee6f9a5607ebc833f1085b0c5c7e8602c9ab7e25f65683715da1e1047" +dependencies = [ + "hashlink", + "libp2p-core", + "libp2p-swarm", +] + [[package]] name = "libp2p-ping" version = "0.48.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f4d4bdcf67cf2c71d092b9ffe851d1769e69b97091f37cffd1e596f3763ee9d" dependencies = [ "futures", "futures-timer", "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.6", + "rand 0.10.1", "tracing", "web-time", ] @@ -4286,35 +4625,38 @@ dependencies = [ [[package]] name = "libp2p-plaintext" version = "0.44.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aef7ae91f7a7bfde84587a875bbb25ad95321926a18c81c9628d5107492446" dependencies = [ "asynchronous-codec", "bytes", "futures", "libp2p-core", "libp2p-identity", - "quick-protobuf", - "quick-protobuf-codec", + "prost", + "prost-codec", "tracing", ] [[package]] name = "libp2p-pnet" version = "0.27.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6fe6ff083a0d0086a6b55293b6765465b93b408c33e9db7080ce39062cec8" dependencies = [ "futures", "pin-project", - "rand 0.8.6", - "salsa20", - "sha3 0.10.9", + "rand 0.10.1", + "salsa20 0.11.0", + "shake", "tracing", ] [[package]] name = "libp2p-quic" version = "0.14.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f78ca359466657b380e469fe8c04df2f4447d1430838e6c3cef4a1c51ccb2ee" dependencies = [ "futures", "futures-timer", @@ -4323,10 +4665,10 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "quinn", - "rand 0.8.6", + "quinn-proto", + "rand 0.10.1", "ring", - "rustls", - "socket2 0.6.3", + "socket2", "thiserror 2.0.18", "tokio", "tracing", @@ -4335,7 +4677,8 @@ dependencies = [ [[package]] name = "libp2p-relay" version = "0.22.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5227b053db429996242c00f6c756fd9b5382b942a03eec34b465431df29697a" dependencies = [ "asynchronous-codec", "bytes", @@ -4346,9 +4689,9 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", + "prost", + "prost-codec", + "rand 0.10.1", "static_assertions", "thiserror 2.0.18", "tracing", @@ -4358,7 +4701,8 @@ dependencies = [ [[package]] name = "libp2p-rendezvous" version = "0.18.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27804e3fbc5c4ce68f7afb10cadb348134df38662f08c1f858f3ee25f0d228f3" dependencies = [ "asynchronous-codec", "bimap", @@ -4369,9 +4713,9 @@ dependencies = [ "libp2p-identity", "libp2p-request-response", "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", + "prost", + "prost-codec", + "rand 0.10.1", "thiserror 2.0.18", "tracing", "web-time", @@ -4380,7 +4724,8 @@ dependencies = [ [[package]] name = "libp2p-request-response" version = "0.30.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca1d1f3a4d7b7080eb959098f276f57ecbc3102f7d3d46f109ccdaa00d2842d9" dependencies = [ "cbor4ii", "futures", @@ -4388,7 +4733,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.6", + "rand 0.10.1", "serde", "serde_json", "smallvec", @@ -4398,19 +4743,20 @@ dependencies = [ [[package]] name = "libp2p-swarm" version = "0.48.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57ccbe1baeaef036ffde4b265871e11c64d29464036bba635378f356bcdca854" dependencies = [ "either", "fnv", "futures", "futures-timer", - "getrandom 0.2.17", + "getrandom 0.4.2", "hashlink", "libp2p-core", "libp2p-identity", "libp2p-swarm-derive", "multistream-select", - "rand 0.8.6", + "rand 0.10.1", "smallvec", "tokio", "tracing", @@ -4421,24 +4767,26 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" version = "0.36.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbfd25141698cdf6878f26a839f28caa54a7906fbb3e6d0988b9eeb34dea3103" dependencies = [ "heck", "quote", - "syn 2.0.117", + "syn 3.0.4", ] [[package]] name = "libp2p-tcp" version = "0.45.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e753c9e69fec40b3687e38a25e34fc5dfa9c6d0e29614c9b4d28ee7dc8c32a7a" dependencies = [ "futures", "futures-timer", "if-watch", "libc", "libp2p-core", - "socket2 0.6.3", + "socket2", "tokio", "tracing", ] @@ -4446,7 +4794,8 @@ dependencies = [ [[package]] name = "libp2p-tls" version = "0.7.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01dc85ad2bbc3506502f430a00dd913ec87f31e1894291cb9b923168babb6485" dependencies = [ "futures", "futures-rustls", @@ -4458,13 +4807,14 @@ dependencies = [ "rustls-webpki", "thiserror 2.0.18", "x509-parser", - "yasna", + "yasna 0.6.0", ] [[package]] name = "libp2p-uds" version = "0.44.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d0a725abf098474610566f4a86bce80fa9c37cbcbbad27ebbc3c198fe15c65f" dependencies = [ "futures", "libp2p-core", @@ -4474,7 +4824,8 @@ dependencies = [ [[package]] name = "libp2p-upnp" version = "0.7.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298e2b41af943bc4e429f03a72b9991c1353a4c5bbb0a45ae06b393002965b70" dependencies = [ "futures", "futures-timer", @@ -4488,7 +4839,8 @@ dependencies = [ [[package]] name = "libp2p-webrtc-utils" version = "0.5.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf673509ef78e313d1e1e17e8589e2bdd10a074692e2f11bbc32f1e480aa74b6" dependencies = [ "asynchronous-codec", "bytes", @@ -4497,11 +4849,11 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-noise", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.6", + "prost", + "prost-codec", + "rand 0.10.1", "serde", - "sha2", + "sha2 0.11.1", "tinytemplate", "tracing", ] @@ -4509,17 +4861,18 @@ dependencies = [ [[package]] name = "libp2p-webrtc-websys" version = "0.5.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4599b0cb5869694f38b024e431565b1624dddb2cb873f359c5cda392427784c" dependencies = [ "bytes", "futures", - "getrandom 0.2.17", + "getrandom 0.4.2", "hex", "js-sys", "libp2p-core", "libp2p-identity", "libp2p-webrtc-utils", - "send_wrapper", + "send_wrapper 0.6.0", "thiserror 2.0.18", "tracing", "wasm-bindgen", @@ -4530,7 +4883,8 @@ dependencies = [ [[package]] name = "libp2p-websocket" version = "0.46.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02f11d7547a049e7a4d641ba73b400714ecaa85974d9700ac2014cdac63bfd47" dependencies = [ "either", "futures", @@ -4544,19 +4898,20 @@ dependencies = [ "thiserror 2.0.18", "tracing", "url", - "webpki-roots 0.26.11", + "webpki-roots", ] [[package]] name = "libp2p-websocket-websys" version = "0.6.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c6716b25e3356fd718d8d66f63f7268190c516918095339f22d2356ab2d9347" dependencies = [ "bytes", "futures", "js-sys", "libp2p-core", - "send_wrapper", + "send_wrapper 0.6.0", "thiserror 2.0.18", "tracing", "wasm-bindgen", @@ -4566,7 +4921,8 @@ dependencies = [ [[package]] name = "libp2p-webtransport-websys" version = "0.6.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ee91aeb40f3a284f764215c667fbcdfbdc246a1d55e2df29f26091eb78799b" dependencies = [ "futures", "js-sys", @@ -4575,7 +4931,7 @@ dependencies = [ "libp2p-noise", "multiaddr", "multihash", - "send_wrapper", + "send_wrapper 0.6.0", "thiserror 2.0.18", "tracing", "wasm-bindgen", @@ -4586,15 +4942,14 @@ dependencies = [ [[package]] name = "libp2p-yamux" version = "0.48.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308e4033fd1ac9312c827405d3bf568ae335a7d8248071dc7c75c8c0b64977f9" dependencies = [ - "either", "futures", "libp2p-core", "thiserror 2.0.18", "tracing", - "yamux 0.12.1", - "yamux 0.13.10", + "yamux", ] [[package]] @@ -4657,7 +5012,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "863eca32d1a43e5ec41106a515552efa8307768d37c68d26b7f21ff13cfee1a7" dependencies = [ "libssz 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -4666,7 +5021,7 @@ version = "0.3.0" source = "git+https://github.com/lambdaclass/libssz?rev=5cb14378ffdadcb51b387c003567e2630d0c7073#5cb14378ffdadcb51b387c003567e2630d0c7073" dependencies = [ "libssz 0.3.0 (git+https://github.com/lambdaclass/libssz?rev=5cb14378ffdadcb51b387c003567e2630d0c7073)", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -4919,12 +5274,12 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +checksum = "fd707c05eadfb37577f01cbec206726feeecf0b9edea259aee6fc9bc541ee253" dependencies = [ - "arrayref", "byteorder", + "bytes", "data-encoding", "libp2p-identity", "multibase", @@ -4961,7 +5316,8 @@ dependencies = [ [[package]] name = "multistream-select" version = "0.14.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1365a5fcbeb5c688f3c849229d06692e27c9af0c16c3126bd1589b680aa39f88" dependencies = [ "bytes", "futures", @@ -4991,6 +5347,12 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + [[package]] name = "netlink-packet-core" version = "0.8.1" @@ -5215,12 +5577,31 @@ dependencies = [ "objc2-encode", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.11.1", +] + [[package]] name = "objc2-encode" version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +dependencies = [ + "libc", + "objc2-core-foundation", +] + [[package]] name = "object" version = "0.37.3" @@ -5273,10 +5654,23 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder 0.13.6", + "sha2 0.10.9", +] + +[[package]] +name = "p256" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c9239b2dbc807adbbe147e8cf72ea7450c3a0aabe62cb8e75ff4ec22e1f72a" +dependencies = [ + "ecdsa 0.17.0", + "elliptic-curve 0.14.1", + "primefield", + "primeorder 0.14.0", + "sha2 0.11.1", ] [[package]] @@ -5357,7 +5751,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", - "hmac", + "hmac 0.12.1", ] [[package]] @@ -5379,15 +5773,15 @@ version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ - "base64", + "base64 0.22.1", "serde_core", ] [[package]] name = "pem-rfc7468" -version = "0.7.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" dependencies = [ "base64ct", ] @@ -5440,8 +5834,18 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der", - "spki", + "der 0.7.10", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451913da69c775a56034ea8d9003d27ee8948e12443eae7c038ba100a4f21cb7" +dependencies = [ + "der 0.8.2", + "spki 0.8.1", ] [[package]] @@ -5554,6 +5958,17 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prefix-trie" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf6e3177f0684016a5c209b00882e15f8bdd3f3bb48f0491df10cd102d0c6e7" +dependencies = [ + "either", + "ipnet", + "num-traits", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -5564,13 +5979,40 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "primefield" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c555a6e4eb7d4e158fcb028c835c3b8642206ddc279b5c6b202ef9a8bdb592f4" +dependencies = [ + "crypto-bigint 0.7.10", + "crypto-common 0.2.2", + "ff 0.14.0", + "rand_core 0.10.1", + "subtle", + "zeroize", +] + [[package]] name = "primeorder" version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "elliptic-curve", + "elliptic-curve 0.13.8", +] + +[[package]] +name = "primeorder" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c9f42978c78a00e3d68f69fc03e57a234debae69da4020a4fb588fcdcd07b06" +dependencies = [ + "elliptic-curve 0.14.1", + "once_cell", + "primefield", + "serdect", + "wnaf", ] [[package]] @@ -5645,9 +6087,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.24.1" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca3d75b4566b9a29fe1ed623587fb058e826eb329a0be4b7c4da1ebb2d7a6ca" +checksum = "1784dc11a05f5a8f57c4a62915686be140f24f70301290b997e317241fa9ffc2" dependencies = [ "dtoa", "itoa", @@ -5657,13 +6099,13 @@ dependencies = [ [[package]] name = "prometheus-client-derive-encode" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9adf1691c04c0a5ff46ff8f262b58beb07b0dbb61f96f9f54f6cbd82106ed87f" +checksum = "01e34894696ff94f64a20c2c373a6440903e9c2789a303d68ec6e6f953f890e4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 3.0.4", ] [[package]] @@ -5695,6 +6137,19 @@ dependencies = [ "prost-derive", ] +[[package]] +name = "prost-codec" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1da63327bb7a8c30a2227df7f43379d0a4731a2eb517b0f61416da6c2a3c739" +dependencies = [ + "asynchronous-codec", + "bytes", + "prost", + "thiserror 2.0.18", + "unsigned-varint", +] + [[package]] name = "prost-derive" version = "0.14.3" @@ -5702,7 +6157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.117", @@ -5754,27 +6209,6 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quick-protobuf" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" -dependencies = [ - "byteorder", -] - -[[package]] -name = "quick-protobuf-codec" -version = "0.4.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" -dependencies = [ - "asynchronous-codec", - "bytes", - "quick-protobuf", - "thiserror 2.0.18", - "unsigned-varint", -] - [[package]] name = "quick-xml" version = "0.39.4" @@ -5798,7 +6232,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.6.3", + "socket2", "thiserror 2.0.18", "tokio", "tracing", @@ -5811,7 +6245,9 @@ version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" dependencies = [ + "aws-lc-rs", "bytes", + "fastbloom", "getrandom 0.3.4", "lru-slab", "rand 0.9.4", @@ -5835,7 +6271,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2", "tracing", "windows-sys 0.60.2", ] @@ -6043,7 +6479,7 @@ dependencies = [ "ring", "rustls-pki-types", "time", - "yasna", + "yasna 0.5.2", ] [[package]] @@ -6097,9 +6533,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", @@ -6109,9 +6545,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.14" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" dependencies = [ "aho-corasick", "memchr", @@ -6120,9 +6556,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "rend" @@ -6139,7 +6575,7 @@ version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-core", "http", @@ -6168,7 +6604,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 1.0.7", + "webpki-roots", ] [[package]] @@ -6183,10 +6619,20 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac", + "hmac 0.12.1", "subtle", ] +[[package]] +name = "rfc6979" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a459cddafb3fe76b31fd8f1108007566c40301feb64dc7b54656eb7388172b" +dependencies = [ + "crypto-bigint 0.7.10", + "hmac 0.13.0", +] + [[package]] name = "rgb" version = "0.8.53" @@ -6395,6 +6841,7 @@ version = "0.23.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" dependencies = [ + "aws-lc-rs", "once_cell", "ring", "rustls-pki-types", @@ -6419,6 +6866,7 @@ version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ + "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -6445,7 +6893,8 @@ dependencies = [ [[package]] name = "rw-stream-sink" version = "0.5.0" -source = "git+https://github.com/lambdaclass/rust-libp2p.git?rev=2f14d0ec9665a01cfb6a02326c90628c4bba521c#2f14d0ec9665a01cfb6a02326c90628c4bba521c" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57736c2b47f266c94699b56dc7b4f0a5a669ee87e5ef62bc4a54d8e05945353d" dependencies = [ "futures", "pin-project", @@ -6473,7 +6922,17 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cipher", + "cipher 0.4.4", +] + +[[package]] +name = "salsa20" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f874456e72520ff1375a06c588eaf074b0f01f9e9e1aada45bd9b7954a6e42c" +dependencies = [ + "cfg-if", + "cipher 0.5.2", ] [[package]] @@ -6522,8 +6981,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" dependencies = [ "pbkdf2", - "salsa20", - "sha2", + "salsa20 0.10.2", + "sha2 0.10.9", ] [[package]] @@ -6532,10 +6991,24 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct", - "der", + "base16ct 0.2.0", + "der 0.7.10", "generic-array", - "pkcs8", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + +[[package]] +name = "sec1" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d" +dependencies = [ + "base16ct 1.0.0", + "ctutils", + "der 0.8.2", + "hybrid-array", "subtle", "zeroize", ] @@ -6604,6 +7077,12 @@ dependencies = [ "pest", ] +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + [[package]] name = "send_wrapper" version = "0.6.0" @@ -6685,7 +7164,7 @@ version = "3.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee78f1fbe43ac4a0e47aadb3dbd357b69eb0d3793e948624cd03dd2750ab1c0a" dependencies = [ - "base64", + "base64 0.22.1", "bs58", "chrono", "hex", @@ -6725,6 +7204,16 @@ dependencies = [ "unsafe-libyaml", ] +[[package]] +name = "serdect" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66cf8fedced2fcf12406bcb34223dffb92eaf34908ede12fed414c82b7f00b3e" +dependencies = [ + "base16ct 1.0.0", + "serde", +] + [[package]] name = "sha1" version = "0.10.6" @@ -6748,6 +7237,17 @@ dependencies = [ "sha2-asm", ] +[[package]] +name = "sha2" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d7069beb7d6ac7b9acd1039986e73443f24234f41074da099d6f994ac9ad19" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.3", +] + [[package]] name = "sha2-asm" version = "0.6.4" @@ -6787,6 +7287,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "shake" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09057cb2149ad4cbd2da1e26b351f9a4c354219421229c69c3063e6f61947c4a" +dependencies = [ + "digest 0.11.3", + "keccak 0.2.0", + "sponge-cursor", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -6822,12 +7333,32 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "signature" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d567dcbaf0049cb8ac2608a76cd95ff9e4412e1899d389ee400918ca7537f5" +dependencies = [ + "digest 0.11.3", + "rand_core 0.10.1", +] + [[package]] name = "simd-adler32" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" +[[package]] +name = "simd_cesu8" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" +dependencies = [ + "rustc_version 0.4.1", + "simdutf8", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -6860,31 +7391,21 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "snow" -version = "0.9.6" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" +checksum = "599b506ccc4aff8cf7844bc42cf783009a434c1e26c964432560fb6d6ad02d82" dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek", - "rand_core 0.6.4", + "curve25519-dalek 4.1.3", + "getrandom 0.3.4", "ring", "rustc_version 0.4.1", - "sha2", + "sha2 0.10.9", "subtle", ] -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "socket2" version = "0.6.3" @@ -6901,7 +7422,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures", "httparse", @@ -6976,9 +7497,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der", + "der 0.7.10", +] + +[[package]] +name = "spki" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef958a98b9d5da290cfc78946e9f3e61e1e62a18db0d92cac0b83cc161491a9" +dependencies = [ + "base64ct", + "der 0.8.2", ] +[[package]] +name = "sponge-cursor" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a0219bd7d979d58245a4f41f695e1ac9f8befdffadd7f61f1bae9e39abc6620" + [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -7085,16 +7622,16 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.33.1" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" +checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" dependencies = [ - "core-foundation-sys", "libc", "memchr", "ntapi", - "rayon", - "windows 0.57.0", + "objc2-core-foundation", + "objc2-io-kit", + "windows", ] [[package]] @@ -7137,7 +7674,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.3.4", "once_cell", "rustix", "windows-sys 0.61.2", @@ -7311,9 +7848,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.3" +version = "1.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +checksum = "ce3335fa71841cda333a58d7615b03901380ecf09d59b3296d21f8bbac0dde4e" dependencies = [ "bytes", "libc", @@ -7321,7 +7858,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.6.3", + "socket2", "tokio-macros", "windows-sys 0.61.2", ] @@ -7789,9 +8326,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.121" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" dependencies = [ "cfg-if", "once_cell", @@ -7802,19 +8339,23 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.71" +version = "0.4.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" dependencies = [ + "cfg-if", + "futures-util", "js-sys", + "once_cell", "wasm-bindgen", + "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.121" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7822,9 +8363,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.121" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" dependencies = [ "bumpalo", "proc-macro2", @@ -7835,9 +8376,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.121" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" dependencies = [ "unicode-ident", ] @@ -7878,9 +8419,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.98" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" dependencies = [ "js-sys", "wasm-bindgen", @@ -7896,15 +8437,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki-roots" -version = "0.26.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" -dependencies = [ - "webpki-roots 1.0.7", -] - [[package]] name = "webpki-roots" version = "1.0.7" @@ -7961,16 +8493,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" -dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.62.2" @@ -7978,7 +8500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ "windows-collections", - "windows-core 0.62.2", + "windows-core", "windows-future", "windows-numerics", ] @@ -7989,19 +8511,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" dependencies = [ - "windows-core 0.62.2", -] - -[[package]] -name = "windows-core" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" -dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", + "windows-core", ] [[package]] @@ -8010,10 +8520,10 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", + "windows-implement", + "windows-interface", "windows-link", - "windows-result 0.4.1", + "windows-result", "windows-strings", ] @@ -8023,22 +8533,11 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ - "windows-core 0.62.2", + "windows-core", "windows-link", "windows-threading", ] -[[package]] -name = "windows-implement" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "windows-implement" version = "0.60.2" @@ -8050,17 +8549,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "windows-interface" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "windows-interface" version = "0.59.3" @@ -8084,7 +8572,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ - "windows-core 0.62.2", + "windows-core", "windows-link", ] @@ -8095,19 +8583,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ "windows-link", - "windows-result 0.4.1", + "windows-result", "windows-strings", ] -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.4.1" @@ -8394,6 +8873,18 @@ dependencies = [ "wasmparser", ] +[[package]] +name = "wnaf" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "795ca18b3fdb5e62bf982199278341ddcf7ebf7d32e25e212ad05d496e95f6fa" +dependencies = [ + "ff 0.14.0", + "group 0.14.0", + "hybrid-array", + "primefield", +] + [[package]] name = "writeable" version = "0.6.3" @@ -8411,21 +8902,20 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +checksum = "e7e8131a03190127fb2263afc72b322ecadae46b6ff8c6f399ff5d02f5559af6" dependencies = [ - "curve25519-dalek", - "rand_core 0.6.4", - "serde", + "curve25519-dalek 5.0.0", + "rand_core 0.10.1", "zeroize", ] [[package]] name = "x509-parser" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" +checksum = "d43b0f71ce057da06bc0851b23ee24f3f86190b07203dd8f567d0b706a185202" dependencies = [ "asn1-rs", "data-encoding", @@ -8479,31 +8969,15 @@ dependencies = [ [[package]] name = "yamux" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" -dependencies = [ - "futures", - "log", - "nohash-hasher", - "parking_lot", - "pin-project", - "rand 0.8.6", - "static_assertions", -] - -[[package]] -name = "yamux" -version = "0.13.10" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1991f6690292030e31b0144d73f5e8368936c58e45e7068254f7138b23b00672" +checksum = "4f4e661d6ba6f09a768e31c6f3d88f9fac596ad5d376515d598a37b62d220b34" dependencies = [ "futures", "log", "nohash-hasher", "parking_lot", "pin-project", - "rand 0.9.4", "static_assertions", "web-time", ] @@ -8517,6 +8991,12 @@ dependencies = [ "time", ] +[[package]] +name = "yasna" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5f6765e852b9b4dc8e2a76843e4d64d1cea8e79bcde0b6901aea8e7c7f08282" + [[package]] name = "yoke" version = "0.8.2" diff --git a/crates/net/p2p/Cargo.toml b/crates/net/p2p/Cargo.toml index cbadf5e4f..9f66f3205 100644 --- a/crates/net/p2p/Cargo.toml +++ b/crates/net/p2p/Cargo.toml @@ -25,16 +25,13 @@ spawned-concurrency.workspace = true futures = "0.3" tokio-stream = "0.1" -# Fork with request-response feature for outbound protocol selection -libp2p = { git = "https://github.com/lambdaclass/rust-libp2p.git", rev = "2f14d0ec9665a01cfb6a02326c90628c4bba521c", features = [ - "full", -] } +libp2p = { version = "0.57.1", features = ["full"] } # Mainnet beacon peers refuse a yamux-only muxer proposal, so the TCP transport # has to offer mplex too. The libp2p facade dropped its `mplex` re-export when -# the muxer was deprecated, so it is taken directly from the same pinned tree. -# See the `muxers` module for the measurement. -libp2p-mplex = { git = "https://github.com/lambdaclass/rust-libp2p.git", rev = "2f14d0ec9665a01cfb6a02326c90628c4bba521c" } +# the muxer was deprecated, so it is taken directly, at the release that +# libp2p's own dev-dependency names. See the `muxers` module for the measurement. +libp2p-mplex = "0.44.0" snap = "1.1" diff --git a/crates/net/p2p/src/beacon/scoring.rs b/crates/net/p2p/src/beacon/scoring.rs index 4f17065cb..188f6a27f 100644 --- a/crates/net/p2p/src/beacon/scoring.rs +++ b/crates/net/p2p/src/beacon/scoring.rs @@ -1284,7 +1284,7 @@ mod tests { node: &mut BuiltSwarm, peer: &mut BuiltSwarm, limit: Duration, - done: impl Fn(&libp2p::gossipsub::Behaviour) -> bool, + done: impl Fn(&crate::Gossipsub) -> bool, ) -> bool { let deadline = tokio::time::Instant::now() + limit; while tokio::time::Instant::now() < deadline { @@ -1351,7 +1351,7 @@ mod tests { let gossipsub = &mut peer.swarm.behaviour_mut().gossipsub; gossipsub.subscribe(topic).expect("peer subscribes"); } - let peer_on_both = |gossipsub: &libp2p::gossipsub::Behaviour| { + let peer_on_both = |gossipsub: &crate::Gossipsub| { gossipsub.all_peers().any(|(id, topics)| { *id == peer_id && topics.contains(&&control.hash()) @@ -1361,7 +1361,7 @@ mod tests { let announced = poll_until(&mut node, &mut peer, Duration::from_secs(10), peer_on_both).await; assert!(announced, "the peer's subscriptions reach the node"); - let in_mesh = |gossipsub: &libp2p::gossipsub::Behaviour, topic: &IdentTopic| { + let in_mesh = |gossipsub: &crate::Gossipsub, topic: &IdentTopic| { gossipsub.mesh_peers(&topic.hash()).any(|id| *id == peer_id) }; diff --git a/crates/net/p2p/src/lib.rs b/crates/net/p2p/src/lib.rs index dc2f1f1fa..227573a91 100644 --- a/crates/net/p2p/src/lib.rs +++ b/crates/net/p2p/src/lib.rs @@ -626,10 +626,25 @@ pub(crate) struct Behaviour { /// connection the swarm never had (libp2p/rust-libp2p#4773, #4870). connection_limits: libp2p::connection_limits::Behaviour, identify: libp2p::identify::Behaviour, - gossipsub: libp2p::gossipsub::Behaviour, + gossipsub: Gossipsub, req_resp: ReqResp, } +/// Gossipsub with no cap on how many topics a peer may subscribe to. +/// +/// libp2p-gossipsub 0.50 made `MaxCountSubscriptionFilter` the default, with +/// upstream limits of 100 topics per peer and per RPC, and a peer over either +/// limit has its whole subscription RPC ignored. A mainnet beacon peer +/// custodying every column subscribes to all `DATA_COLUMN_SIDECAR_SUBNET_COUNT` +/// column subnets alone, and every peer doubles its topic set around a +/// fork-digest rollover, so that default would leave such peers out of every +/// mesh. Naming `AllowAllSubscriptionFilter` keeps the behaviour this node had +/// before the default changed. +pub(crate) type Gossipsub = libp2p::gossipsub::Behaviour< + libp2p::gossipsub::IdentityTransform, + libp2p::gossipsub::AllowAllSubscriptionFilter, +>; + /// No connection limits, which is what the lean network has always run with: a /// devnet's peer count is bounded by the size of the devnet itself, so a cap /// there would only ever cap the operator. @@ -851,7 +866,10 @@ pub(crate) fn gossipsub_config( .message_id_fn(compute_message_id) // Taken from ream .max_transmit_size(MAX_COMPRESSED_PAYLOAD_SIZE) - .max_messages_per_rpc(Some(500)) + // Since libp2p-gossipsub 0.50, an RPC over this limit fails to decode + // and its inbound stream is closed; earlier releases processed + // messages up to the limit and dropped the rest. + .max_publish_messages(500) .allow_self_origin(true) .idontwant_message_size_threshold(1000); if validate_messages { @@ -901,7 +919,7 @@ pub fn build_swarm(config: SwarmConfig) -> Result { }; let validate_messages = matches!(wire, WireConfig::Beacon(_)); - let mut gossipsub = libp2p::gossipsub::Behaviour::new( + let mut gossipsub = Gossipsub::new( MessageAuthenticity::Anonymous, gossipsub_config(seen_ttl, validate_messages), ) @@ -2165,7 +2183,7 @@ async fn handle_swarm_event( /// /// Deliberately exhaustive, with no wildcard arm: `handle_swarm_event`'s own /// catch-all would otherwise silently swallow a `BehaviourEvent` variant this -/// function forgot to name, for the same reason the fork's own `DialError` +/// function forgot to name, for the same reason libp2p's `DialError` /// conversion is matched exhaustively (see `DialOutcome`'s `From` impl in /// `swarm_adapter.rs`). Adding a fifteenth [`ReqResp`] field forces this to /// grow an arm rather than falling through unnoticed. @@ -3378,12 +3396,12 @@ mod tests { /// own protocol's framing, never swapped. /// /// Before the per-protocol split, both requests travelled through one - /// shared `req_resp: request_response::Behaviour` field via the fork's - /// `send_request_with_protocol`, which only narrows the *offered* - /// protocol per call; the outbound `Handler` still pairs a negotiated - /// substream with the *next unpaired* queued request - /// (`requested_outbound.pop_front()` in the pinned fork's - /// `protocols/request-response/src/handler.rs`), which is the send + /// shared `req_resp: request_response::Behaviour` field via the + /// since-dropped lambdaclass libp2p fork's `send_request_with_protocol`, + /// which only narrows the *offered* protocol per call; the outbound + /// `Handler` still pairs a negotiated substream with the *next unpaired* + /// queued request (`requested_outbound.pop_front()` in + /// libp2p-request-response's `src/handler.rs`), which is the send /// order only when negotiation happens to complete in send order too. /// When it doesn't, `write_request` is handed the wrong (protocol, /// request) pair: a `Status` value written under the `metadata/3` diff --git a/crates/net/p2p/src/req_resp/behaviour.rs b/crates/net/p2p/src/req_resp/behaviour.rs index 8242337e7..ea656d05d 100644 --- a/crates/net/p2p/src/req_resp/behaviour.rs +++ b/crates/net/p2p/src/req_resp/behaviour.rs @@ -18,13 +18,12 @@ use crate::{ /// /// A field per id, rather than one field registering every id: a shared /// behaviour hands an outbound request to a positional FIFO queue -/// (`requested_outbound` in the pinned fork's -/// `protocols/request-response/src/handler.rs`) that is drained in -/// substream-negotiation order, not send order, so two requests on different -/// protocols sent back to back on one connection can be matched to each -/// other's substreams once their negotiations complete out of order. A field -/// per protocol makes that structurally unreachable: `NetworkBehaviour`'s -/// derive nests each field's `ConnectionHandler` behind +/// (`requested_outbound` in libp2p-request-response's `src/handler.rs`) that +/// is drained in substream-negotiation order, not send order, so two requests +/// on different protocols sent back to back on one connection can be matched +/// to each other's substreams once their negotiations complete out of order. +/// A field per protocol makes that structurally unreachable: +/// `NetworkBehaviour`'s derive nests each field's `ConnectionHandler` behind /// `ConnectionHandlerSelect`, which offers the union of every child's protocol /// ids to multistream-select and routes a negotiated substream back to exactly /// the one child that offered it (`swarm/src/handler/select.rs`), so each diff --git a/crates/net/p2p/src/swarm_adapter.rs b/crates/net/p2p/src/swarm_adapter.rs index 245827325..7df9eab15 100644 --- a/crates/net/p2p/src/swarm_adapter.rs +++ b/crates/net/p2p/src/swarm_adapter.rs @@ -87,7 +87,7 @@ pub enum DialOutcome { impl From<&libp2p::swarm::DialError> for DialOutcome { /// Matched exhaustively on purpose. `DialError` is not `#[non_exhaustive]` - /// in the pinned fork, so a variant added on a fork upgrade breaks the build + /// in libp2p-swarm, so a variant added on a libp2p upgrade breaks the build /// here and forces a decision, rather than being absorbed by a wildcard as /// `Unreachable` — the classification that leaks bookkeeping if it is wrong. fn from(err: &libp2p::swarm::DialError) -> Self { @@ -380,11 +380,10 @@ pub(crate) fn execute_command(swarm: &mut libp2p::Swarm, cmd: SwarmCo protocol, request_id_tx, } => { - // Upstream `send_request`, never the fork's own - // `send_request_with_protocol`: each field already offers exactly - // the one protocol `protocol` names, so pinning to it per call is - // no longer needed. Which field is exhaustive on purpose; see - // `ReqRespProtocol`'s doc comment. + // Plain `send_request`: each field already offers exactly the one + // protocol `protocol` names, so there is nothing to pin per call. + // Which field is exhaustive on purpose; see `ReqRespProtocol`'s + // doc comment. let behaviour = &mut swarm.behaviour_mut().req_resp; let id = match protocol { ReqRespProtocol::LeanStatus => behaviour.lean_status.send_request(&peer, request), @@ -439,11 +438,10 @@ pub(crate) fn execute_command(swarm: &mut libp2p::Swarm, cmd: SwarmCo SwarmCommand::SendResponse { channel, response } => { // `Behaviour::send_response` is a passthrough to the oneshot // sender the `ResponseChannel` already carries - // (`ch.sender.send(rs)` in the pinned fork, untouched from - // upstream); it reads no state of the `Behaviour` instance it is - // called on, so any field answers identically. `lean_status` is - // picked as a stable, arbitrary anchor rather than routing this by - // protocol too. + // (`ch.sender.send(rs)` in libp2p-request-response); it reads no + // state of the `Behaviour` instance it is called on, so any field + // answers identically. `lean_status` is picked as a stable, + // arbitrary anchor rather than routing this by protocol too. let _ = swarm .behaviour_mut() .req_resp