diff --git a/Cargo.lock b/Cargo.lock index 3f62bb252..5aeec5ffc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,32 +2,13 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli 0.27.3", -] - [[package]] name = "addr2line" version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.31.1", + "gimli", ] [[package]] @@ -78,7 +59,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -93,12 +73,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - [[package]] name = "anstyle" version = "1.0.10" @@ -111,141 +85,6 @@ version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" -[[package]] -name = "ark-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-bls12-381" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest 0.10.7", - "num-bigint", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand", -] - -[[package]] -name = "array-bytes" -version = "6.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" - [[package]] name = "arrayref" version = "0.3.9" @@ -274,22 +113,6 @@ dependencies = [ "time", ] -[[package]] -name = "asn1-rs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" -dependencies = [ - "asn1-rs-derive 0.5.1", - "asn1-rs-impl 0.2.0", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - [[package]] name = "asn1-rs" version = "0.7.0" @@ -318,18 +141,6 @@ dependencies = [ "synstructure 0.12.6", ] -[[package]] -name = "asn1-rs-derive" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", - "synstructure 0.13.1", -] - [[package]] name = "asn1-rs-derive" version = "0.6.0" @@ -364,17 +175,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-io" version = "2.4.0" @@ -388,7 +188,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.44", + "rustix", "slab", "tracing", "windows-sys 0.59.0", @@ -400,7 +200,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.4.0", + "event-listener", "event-listener-strategy", "pin-project-lite 0.2.16", ] @@ -429,36 +229,6 @@ dependencies = [ "pin-project-lite 0.2.16", ] -[[package]] -name = "asynchronous-codec" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" -dependencies = [ - "bytes", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.16", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "attohttpc" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" -dependencies = [ - "http 0.2.12", - "log", - "url", -] - [[package]] name = "autocfg" version = "1.4.0" @@ -471,11 +241,11 @@ version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.24.2", + "addr2line", "cfg-if", "libc", "miniz_oxide", - "object 0.36.7", + "object", "rustc-demangle", "windows-targets 0.52.6", ] @@ -486,72 +256,18 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - [[package]] name = "base64" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - [[package]] name = "base64ct" version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "binary-merkle-tree" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "181f5380e435b8ba6d901f8b16fc8908c6f0f8bea8973113d1c8718d89bb1809" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", -] - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bitcoin-internals" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" - -[[package]] -name = "bitcoin_hashes" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" -dependencies = [ - "bitcoin-internals", - "hex-conservative", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -564,18 +280,6 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "blake2" version = "0.10.6" @@ -638,18 +342,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bounded-collections" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ed0a820ed50891d36358e997d27741a6142e382242df40ff01c89bcdcc7a2b" -dependencies = [ - "log", - "parity-scale-codec", - "scale-info", - "serde", -] - [[package]] name = "bs58" version = "0.4.0" @@ -671,12 +363,6 @@ version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - [[package]] name = "byteorder" version = "1.5.0" @@ -695,8 +381,6 @@ version = "1.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -730,19 +414,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "cid" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" -dependencies = [ - "core2", - "multibase", - "multihash 0.17.0", - "serde", - "unsigned-varint 0.7.2", -] - [[package]] name = "cid" version = "0.10.1" @@ -777,12 +448,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "common-path" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -798,38 +463,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const_format" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - [[package]] name = "constant_time_eq" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" -[[package]] -name = "constcat" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" - [[package]] name = "core-foundation" version = "0.9.4" @@ -865,15 +504,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "cpp_demangle" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" -dependencies = [ - "cfg-if", -] - [[package]] name = "cpufeatures" version = "0.2.17" @@ -884,115 +514,17 @@ dependencies = [ ] [[package]] -name = "cranelift-bforest" -version = "0.95.1" +name = "crc" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" dependencies = [ - "cranelift-entity", + "crc-catalog", ] [[package]] -name = "cranelift-codegen" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" -dependencies = [ - "bumpalo", - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-entity", - "cranelift-isle", - "gimli 0.27.3", - "hashbrown 0.13.2", - "log", - "regalloc2", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" -dependencies = [ - "cranelift-codegen-shared", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" - -[[package]] -name = "cranelift-entity" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" -dependencies = [ - "serde", -] - -[[package]] -name = "cranelift-frontend" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-isle" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" - -[[package]] -name = "cranelift-native" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" -dependencies = [ - "cranelift-codegen", - "libc", - "target-lexicon", -] - -[[package]] -name = "cranelift-wasm" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools 0.10.5", - "log", - "smallvec", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" +name = "crc-catalog" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" @@ -1005,25 +537,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1036,18 +549,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -1059,16 +560,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", - "subtle", -] - [[package]] name = "ctr" version = "0.9.2" @@ -1168,20 +659,6 @@ dependencies = [ "rusticata-macros", ] -[[package]] -name = "der-parser" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" -dependencies = [ - "asn1-rs 0.6.2", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - [[package]] name = "der-parser" version = "10.0.0" @@ -1205,54 +682,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive-syn-parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "derive_more" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - [[package]] name = "digest" version = "0.9.0" @@ -1269,32 +698,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", "crypto-common", "subtle", ] -[[package]] -name = "directories-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "displaydoc" version = "0.2.5" @@ -1306,33 +713,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "docify" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a772b62b1837c8f060432ddcc10b17aae1453ef17617a99bc07789252d2a5896" -dependencies = [ - "docify_macros", -] - -[[package]] -name = "docify_macros" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e6be249b0a462a14784a99b19bf35a667bb5e09de611738bb7362fa4c95ff7" -dependencies = [ - "common-path", - "derive-syn-parse", - "once_cell", - "proc-macro2", - "quote", - "regex", - "syn 2.0.98", - "termcolor", - "toml 0.8.20", - "walkdir", -] - [[package]] name = "downcast" version = "0.11.0" @@ -1345,48 +725,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "dyn-clonable" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a36efbb9bfd58e1723780aa04b61aba95ace6a05d9ffabfdb0b43672552f0805" -dependencies = [ - "dyn-clonable-impl", - "dyn-clone", -] - -[[package]] -name = "dyn-clonable-impl" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "dyn-clone" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "serdect", - "signature", - "spki", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -1407,52 +745,17 @@ dependencies = [ "ed25519", "rand_core 0.6.4", "serde", - "sha2 0.10.8", + "sha2", "subtle", "zeroize", ] -[[package]] -name = "ed25519-zebra" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" -dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519", - "hashbrown 0.14.5", - "hex", - "rand_core 0.6.4", - "sha2 0.10.8", - "zeroize", -] - [[package]] name = "either" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core 0.6.4", - "sec1", - "serdect", - "subtle", - "zeroize", -] - [[package]] name = "enum-as-inner" version = "0.5.1" @@ -1487,25 +790,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "environmental" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" - [[package]] name = "equivalent" version = "1.0.1" @@ -1522,12 +806,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - [[package]] name = "event-listener" version = "5.4.0" @@ -1545,101 +823,22 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener 5.4.0", + "event-listener", "pin-project-lite 0.2.16", ] -[[package]] -name = "expander" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" -dependencies = [ - "blake2", - "file-guard", - "fs-err", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "fastrand" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "fiat-crypto" version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "file-guard" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "file-per-thread-logger" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" -dependencies = [ - "env_logger 0.10.2", - "log", -] - -[[package]] -name = "finality-grandpa" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f8f43dc520133541781ec03a8cab158ae8b7f7169cdf22e9050aa6cf0fbdfc" -dependencies = [ - "either", - "futures", - "futures-timer", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.12.3", - "scale-info", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand", - "rustc-hex", - "static_assertions", -] - [[package]] name = "fixedbitset" version = "0.5.7" @@ -1657,27 +856,12 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" - [[package]] name = "foreign-types" version = "0.3.2" @@ -1708,33 +892,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" -[[package]] -name = "frame-metadata" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daaf440c68eb2c3d88e5760fe8c7af3f9fee9181fab6c2f2c4e7cc48dcc40bb8" -dependencies = [ - "cfg-if", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "futures" version = "0.3.31" @@ -1750,16 +907,6 @@ dependencies = [ "futures-util", ] -[[package]] -name = "futures-bounded" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b07bbbe7d7e78809544c6f718d875627addc73a7c3582447abc052cd3dc67e0" -dependencies = [ - "futures-timer", - "futures-util", -] - [[package]] name = "futures-channel" version = "0.3.31" @@ -1826,16 +973,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "futures-rustls" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" -dependencies = [ - "futures-io", - "rustls 0.21.12", -] - [[package]] name = "futures-sink" version = "0.3.31" @@ -1901,7 +1038,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -1938,16 +1074,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "getrandom_or_panic" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" -dependencies = [ - "rand", - "rand_core 0.6.4", -] - [[package]] name = "ghash" version = "0.5.1" @@ -1958,93 +1084,12 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" -dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", - "stable_deref_trait", -] - [[package]] name = "gimli" version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.7.1", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http 1.2.0", - "indexmap 2.7.1", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hash-db" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" - -[[package]] -name = "hash256-std-hasher" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" -dependencies = [ - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.13.2" @@ -2054,26 +1099,11 @@ dependencies = [ "ahash", ] -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - [[package]] name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] [[package]] name = "heck" @@ -2105,12 +1135,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hex-conservative" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" - [[package]] name = "hex-literal" version = "0.4.1" @@ -2153,7 +1177,7 @@ dependencies = [ "ipconfig", "lru-cache", "once_cell", - "parking_lot 0.12.3", + "parking_lot", "rand", "resolv-conf", "smallvec", @@ -2162,25 +1186,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -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", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.12.1" @@ -2190,17 +1195,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", - "hmac 0.8.1", -] - [[package]] name = "hostname" version = "0.3.1" @@ -2212,17 +1206,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http" version = "1.2.0" @@ -2234,117 +1217,12 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite 0.2.16", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http 1.2.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes", - "futures-util", - "http 1.2.0", - "http-body 1.0.1", - "pin-project-lite 0.2.16", -] - [[package]] name = "httparse" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.14.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite 0.2.16", - "socket2 0.5.8", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2 0.4.7", - "http 1.2.0", - "http-body 1.0.1", - "httparse", - "httpdate", - "itoa", - "pin-project-lite 0.2.16", - "smallvec", - "tokio", -] - -[[package]] -name = "hyper-util" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" -dependencies = [ - "bytes", - "futures-util", - "http 1.2.0", - "http-body 1.0.1", - "hyper 1.6.0", - "pin-project-lite 0.2.16", - "tokio", -] - [[package]] name = "icu_collections" version = "1.5.0" @@ -2476,19 +1354,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.4.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ "idna_adapter", "smallvec", @@ -2538,76 +1406,6 @@ dependencies = [ "windows", ] -[[package]] -name = "igd-next" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" -dependencies = [ - "async-trait", - "attohttpc", - "bytes", - "futures", - "http 0.2.12", - "hyper 0.14.32", - "log", - "rand", - "tokio", - "url", - "xmltree", -] - -[[package]] -name = "impl-codec" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-num-traits" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c" -dependencies = [ - "integer-sqrt", - "num-traits", - "uint 0.10.0", -] - -[[package]] -name = "impl-serde" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - [[package]] name = "indexmap" version = "2.7.1" @@ -2636,32 +1434,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "integer-sqrt" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" -dependencies = [ - "num-traits", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ip_network" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" - [[package]] name = "ipconfig" version = "0.3.2" @@ -2680,35 +1452,6 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" -[[package]] -name = "is-terminal" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.12.1" @@ -2733,15 +1476,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.77" @@ -2752,20 +1486,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "k256" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "serdect", - "sha2 0.10.8", -] - [[package]] name = "keccak" version = "0.1.5" @@ -2775,15 +1495,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "kvdb" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9" -dependencies = [ - "smallvec", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -2807,61 +1518,25 @@ dependencies = [ "futures-timer", "getrandom 0.2.15", "instant", - "libp2p-allow-block-list 0.1.1", - "libp2p-connection-limits 0.1.0", - "libp2p-core 0.39.2", - "libp2p-dns 0.39.0", - "libp2p-identify 0.42.2", - "libp2p-identity 0.1.3", - "libp2p-kad 0.43.3", - "libp2p-mdns 0.43.1", - "libp2p-metrics 0.12.0", + "libp2p-allow-block-list", + "libp2p-connection-limits", + "libp2p-core", + "libp2p-dns", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-mdns", + "libp2p-metrics", "libp2p-mplex", - "libp2p-noise 0.42.2", - "libp2p-ping 0.42.0", - "libp2p-quic 0.7.0-alpha.3", - "libp2p-swarm 0.42.2", - "libp2p-tcp 0.39.0", - "libp2p-websocket 0.41.0", - "libp2p-yamux 0.43.1", - "multiaddr 0.17.1", - "pin-project", -] - -[[package]] -name = "libp2p" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94495eb319a85b70a68b85e2389a95bb3555c71c49025b78c691a854a7e6464" -dependencies = [ - "bytes", - "either", - "futures", - "futures-timer", - "getrandom 0.2.15", - "instant", - "libp2p-allow-block-list 0.2.0", - "libp2p-connection-limits 0.2.1", - "libp2p-core 0.40.1", - "libp2p-dns 0.40.1", - "libp2p-identify 0.43.1", - "libp2p-identity 0.2.10", - "libp2p-kad 0.44.6", - "libp2p-mdns 0.44.0", - "libp2p-metrics 0.13.1", - "libp2p-noise 0.43.2", - "libp2p-ping 0.43.1", - "libp2p-quic 0.9.3", - "libp2p-request-response", - "libp2p-swarm 0.43.7", - "libp2p-tcp 0.40.1", - "libp2p-upnp", - "libp2p-websocket 0.42.2", - "libp2p-yamux 0.44.1", - "multiaddr 0.18.2", + "libp2p-noise", + "libp2p-ping", + "libp2p-quic", + "libp2p-swarm", + "libp2p-tcp", + "libp2p-websocket", + "libp2p-yamux", + "multiaddr", "pin-project", - "rw-stream-sink 0.4.0", - "thiserror 1.0.69", ] [[package]] @@ -2870,21 +1545,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" dependencies = [ - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "void", -] - -[[package]] -name = "libp2p-allow-block-list" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" -dependencies = [ - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "void", ] @@ -2894,21 +1557,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" dependencies = [ - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "void", -] - -[[package]] -name = "libp2p-connection-limits" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" -dependencies = [ - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "void", ] @@ -2923,45 +1574,17 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-identity 0.1.3", + "libp2p-identity", "log", - "multiaddr 0.17.1", + "multiaddr", "multihash 0.17.0", - "multistream-select 0.12.1", - "once_cell", - "parking_lot 0.12.3", - "pin-project", - "quick-protobuf", - "rand", - "rw-stream-sink 0.3.0", - "smallvec", - "thiserror 1.0.69", - "unsigned-varint 0.7.2", - "void", -] - -[[package]] -name = "libp2p-core" -version = "0.40.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd44289ab25e4c9230d9246c475a22241e301b23e8f4061d3bdef304a1a99713" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-identity 0.2.10", - "log", - "multiaddr 0.18.2", - "multihash 0.19.3", - "multistream-select 0.13.0", + "multistream-select", "once_cell", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "quick-protobuf", "rand", - "rw-stream-sink 0.4.0", + "rw-stream-sink", "smallvec", "thiserror 1.0.69", "unsigned-varint 0.7.2", @@ -2975,27 +1598,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" dependencies = [ "futures", - "libp2p-core 0.39.2", - "log", - "parking_lot 0.12.3", - "smallvec", - "trust-dns-resolver 0.22.0", -] - -[[package]] -name = "libp2p-dns" -version = "0.40.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" -dependencies = [ - "async-trait", - "futures", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", + "libp2p-core", "log", - "parking_lot 0.12.3", + "parking_lot", "smallvec", - "trust-dns-resolver 0.23.2", + "trust-dns-resolver", ] [[package]] @@ -3004,40 +1611,17 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" dependencies = [ - "asynchronous-codec 0.6.2", - "either", - "futures", - "futures-timer", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "log", - "lru 0.10.1", - "quick-protobuf", - "quick-protobuf-codec 0.1.0", - "smallvec", - "thiserror 1.0.69", - "void", -] - -[[package]] -name = "libp2p-identify" -version = "0.43.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a96638a0a176bec0a4bcaebc1afa8cf909b114477209d7456ade52c61cd9cd" -dependencies = [ - "asynchronous-codec 0.6.2", + "asynchronous-codec", "either", "futures", - "futures-bounded", "futures-timer", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", - "lru 0.12.5", + "lru", "quick-protobuf", - "quick-protobuf-codec 0.2.0", + "quick-protobuf-codec", "smallvec", "thiserror 1.0.69", "void", @@ -3052,30 +1636,12 @@ dependencies = [ "bs58 0.4.0", "ed25519-dalek", "log", - "multiaddr 0.17.1", + "multiaddr", "multihash 0.17.0", "quick-protobuf", "rand", - "sha2 0.10.8", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "libp2p-identity" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" -dependencies = [ - "bs58 0.5.1", - "ed25519-dalek", - "hkdf", - "multihash 0.19.3", - "quick-protobuf", - "rand", - "sha2 0.10.8", + "sha2", "thiserror 1.0.69", - "tracing", "zeroize", ] @@ -3086,49 +1652,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" dependencies = [ "arrayvec", - "asynchronous-codec 0.6.2", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "log", - "quick-protobuf", - "rand", - "sha2 0.10.8", - "smallvec", - "thiserror 1.0.69", - "uint 0.9.5", - "unsigned-varint 0.7.2", - "void", -] - -[[package]] -name = "libp2p-kad" -version = "0.44.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" -dependencies = [ - "arrayvec", - "asynchronous-codec 0.6.2", + "asynchronous-codec", "bytes", "either", "fnv", "futures", "futures-timer", "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", "quick-protobuf", - "quick-protobuf-codec 0.2.0", "rand", - "sha2 0.10.8", + "sha2", "smallvec", "thiserror 1.0.69", "uint 0.9.5", @@ -3145,36 +1682,15 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", "rand", "smallvec", "socket2 0.4.10", "tokio", - "trust-dns-proto 0.22.0", - "void", -] - -[[package]] -name = "libp2p-mdns" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a2567c305232f5ef54185e9604579a894fd0674819402bb0ac0246da82f52a" -dependencies = [ - "data-encoding", - "futures", - "if-watch", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", - "log", - "rand", - "smallvec", - "socket2 0.5.8", - "tokio", - "trust-dns-proto 0.22.0", + "trust-dns-proto", "void", ] @@ -3184,29 +1700,12 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" dependencies = [ - "libp2p-core 0.39.2", - "libp2p-identify 0.42.2", - "libp2p-kad 0.43.3", - "libp2p-ping 0.42.0", - "libp2p-swarm 0.42.2", - "prometheus-client 0.19.0", -] - -[[package]] -name = "libp2p-metrics" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" -dependencies = [ - "instant", - "libp2p-core 0.40.1", - "libp2p-identify 0.43.1", - "libp2p-identity 0.2.10", - "libp2p-kad 0.44.6", - "libp2p-ping 0.43.1", - "libp2p-swarm 0.43.7", - "once_cell", - "prometheus-client 0.21.2", + "libp2p-core", + "libp2p-identify", + "libp2p-kad", + "libp2p-ping", + "libp2p-swarm", + "prometheus-client", ] [[package]] @@ -3215,13 +1714,13 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d34780b514b159e6f3fd70ba3e72664ec89da28dca2d1e7856ee55e2c7031ba" dependencies = [ - "asynchronous-codec 0.6.2", + "asynchronous-codec", "bytes", "futures", - "libp2p-core 0.39.2", + "libp2p-core", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot", "rand", "smallvec", "unsigned-varint 0.7.2", @@ -3236,13 +1735,13 @@ dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", + "libp2p-core", + "libp2p-identity", "log", "once_cell", "quick-protobuf", "rand", - "sha2 0.10.8", + "sha2", "snow", "static_assertions", "thiserror 1.0.69", @@ -3250,31 +1749,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "libp2p-noise" -version = "0.43.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" -dependencies = [ - "bytes", - "curve25519-dalek 4.1.3", - "futures", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "log", - "multiaddr 0.18.2", - "multihash 0.19.3", - "once_cell", - "quick-protobuf", - "rand", - "sha2 0.10.8", - "snow", - "static_assertions", - "thiserror 1.0.69", - "x25519-dalek 2.0.1", - "zeroize", -] - [[package]] name = "libp2p-ping" version = "0.42.0" @@ -3285,26 +1759,8 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.39.2", - "libp2p-swarm 0.42.2", - "log", - "rand", - "void", -] - -[[package]] -name = "libp2p-ping" -version = "0.43.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e702d75cd0827dfa15f8fd92d15b9932abe38d10d21f47c50438c71dd1b5dae3" -dependencies = [ - "either", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-swarm", "log", "rand", "void", @@ -3320,60 +1776,18 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-tls 0.1.0", + "libp2p-core", + "libp2p-identity", + "libp2p-tls", "log", - "parking_lot 0.12.3", - "quinn-proto 0.9.6", + "parking_lot", + "quinn-proto", "rand", "rustls 0.20.9", "thiserror 1.0.69", "tokio", ] -[[package]] -name = "libp2p-quic" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "130d451d83f21b81eb7b35b360bc7972aeafb15177784adc56528db082e6b927" -dependencies = [ - "bytes", - "futures", - "futures-timer", - "if-watch", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-tls 0.2.1", - "log", - "parking_lot 0.12.3", - "quinn 0.10.2", - "rand", - "ring 0.16.20", - "rustls 0.21.12", - "socket2 0.5.8", - "thiserror 1.0.69", - "tokio", -] - -[[package]] -name = "libp2p-request-response" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e3b4d67870478db72bac87bfc260ee6641d0734e0e3e275798f089c3fecfd4" -dependencies = [ - "async-trait", - "futures", - "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", - "log", - "rand", - "smallvec", - "void", -] - [[package]] name = "libp2p-swarm" version = "0.42.2" @@ -3385,33 +1799,10 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm-derive 0.32.0", - "log", - "rand", - "smallvec", - "tokio", - "void", -] - -[[package]] -name = "libp2p-swarm" -version = "0.43.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "580189e0074af847df90e75ef54f3f30059aedda37ea5a1659e8b9fca05c0141" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm-derive 0.33.0", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm-derive", "log", - "multistream-select 0.13.0", - "once_cell", "rand", "smallvec", "tokio", @@ -3429,19 +1820,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "libp2p-swarm-derive" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" -dependencies = [ - "heck 0.4.1", - "proc-macro-warning 0.4.2", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "libp2p-tcp" version = "0.39.0" @@ -3452,29 +1830,12 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core 0.39.2", + "libp2p-core", "log", "socket2 0.4.10", "tokio", ] -[[package]] -name = "libp2p-tcp" -version = "0.40.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b558dd40d1bcd1aaaed9de898e9ec6a436019ecc2420dd0016e712fbb61c5508" -dependencies = [ - "futures", - "futures-timer", - "if-watch", - "libc", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "log", - "socket2 0.5.8", - "tokio", -] - [[package]] name = "libp2p-tls" version = "0.1.0" @@ -3482,9 +1843,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" dependencies = [ "futures", - "futures-rustls 0.22.2", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", + "futures-rustls", + "libp2p-core", + "libp2p-identity", "rcgen", "ring 0.16.20", "rustls 0.20.9", @@ -3494,41 +1855,6 @@ dependencies = [ "yasna", ] -[[package]] -name = "libp2p-tls" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" -dependencies = [ - "futures", - "futures-rustls 0.24.0", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "rcgen", - "ring 0.16.20", - "rustls 0.21.12", - "rustls-webpki 0.101.7", - "thiserror 1.0.69", - "x509-parser 0.15.1", - "yasna", -] - -[[package]] -name = "libp2p-upnp" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82775a47b34f10f787ad3e2a22e2c1541e6ebef4fe9f28f3ac553921554c94c1" -dependencies = [ - "futures", - "futures-timer", - "igd-next", - "libp2p-core 0.40.1", - "libp2p-swarm 0.43.7", - "log", - "tokio", - "void", -] - [[package]] name = "libp2p-websocket" version = "0.41.0" @@ -3537,36 +1863,15 @@ checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" dependencies = [ "either", "futures", - "futures-rustls 0.22.2", - "libp2p-core 0.39.2", + "futures-rustls", + "libp2p-core", "log", - "parking_lot 0.12.3", + "parking_lot", "quicksink", - "rw-stream-sink 0.3.0", - "soketto 0.7.1", - "url", - "webpki-roots 0.22.6", -] - -[[package]] -name = "libp2p-websocket" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" -dependencies = [ - "either", - "futures", - "futures-rustls 0.24.0", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "log", - "parking_lot 0.12.3", - "pin-project-lite 0.2.16", - "rw-stream-sink 0.4.0", - "soketto 0.8.1", - "thiserror 1.0.69", + "rw-stream-sink", + "soketto", "url", - "webpki-roots 0.25.4", + "webpki-roots", ] [[package]] @@ -3576,83 +1881,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" dependencies = [ "futures", - "libp2p-core 0.39.2", + "libp2p-core", "log", "thiserror 1.0.69", "yamux 0.10.2", ] -[[package]] -name = "libp2p-yamux" -version = "0.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" -dependencies = [ - "futures", - "libp2p-core 0.40.1", - "log", - "thiserror 1.0.69", - "yamux 0.12.1", -] - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.8.0", - "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", - "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 = "libz-sys" version = "1.1.21" @@ -3670,21 +1904,6 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linked_hash_set" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3697,97 +1916,41 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" -[[package]] -name = "litep2p" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ca6ee50a125dc4fc4e9a3ae3640010796d1d07bc517a0ac715fdf0b24a0b6ac" -dependencies = [ - "async-trait", - "bs58 0.5.1", - "bytes", - "cid 0.10.1", - "ed25519-dalek", - "futures", - "futures-timer", - "hex-literal", - "hickory-resolver", - "indexmap 2.7.1", - "libc", - "mockall 0.13.1", - "multiaddr 0.17.1", - "multihash 0.17.0", - "network-interface", - "nohash-hasher", - "parking_lot 0.12.3", - "pin-project", - "prost 0.12.6", - "prost-build", - "rand", - "rcgen", - "ring 0.16.20", - "rustls 0.20.9", - "serde", - "sha2 0.10.8", - "simple-dns 0.7.1", - "smallvec", - "snow", - "socket2 0.5.8", - "static_assertions", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-tungstenite 0.20.1", - "tokio-util", - "tracing", - "uint 0.9.5", - "unsigned-varint 0.8.0", - "url", - "x25519-dalek 2.0.1", - "x509-parser 0.16.0", - "yasna", - "zeroize", -] - [[package]] name = "litep2p" version = "0.9.3" dependencies = [ "async-trait", - "asynchronous-codec 0.7.0", "bs58 0.5.1", "bytes", - "cid 0.10.1", + "cid", "ed25519-dalek", "futures", "futures-timer", "futures_ringbuf", "hex-literal", "hickory-resolver", - "indexmap 2.7.1", + "indexmap", "libc", - "libp2p 0.51.4", - "mockall 0.13.1", - "multiaddr 0.17.1", + "libp2p", + "mockall", + "multiaddr", "multihash 0.17.0", "network-interface", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "prost 0.12.6", "prost-build", "quickcheck", - "quinn 0.9.4", + "quinn", "rand", - "rand_xorshift", "rcgen", "ring 0.16.20", "rustls 0.20.9", - "sc-network", - "sc-utils 17.0.0", "serde", "serde_json", - "sha2 0.10.8", - "simple-dns 0.9.3", + "sha2", + "simple-dns", "smallvec", "snow", "socket2 0.5.8", @@ -3795,7 +1958,7 @@ dependencies = [ "thiserror 2.0.11", "tokio", "tokio-stream", - "tokio-tungstenite 0.26.1", + "tokio-tungstenite", "tokio-util", "tracing", "tracing-subscriber", @@ -3835,15 +1998,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.2", -] - [[package]] name = "lru-cache" version = "0.1.2" @@ -3853,15 +2007,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - [[package]] name = "match_cfg" version = "0.1.0" @@ -3889,45 +2034,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memfd" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" -dependencies = [ - "rustix 0.38.44", -] - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memory-db" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" -dependencies = [ - "hash-db", -] - -[[package]] -name = "merlin" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.6.4", - "zeroize", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3954,21 +2060,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "mockall" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" -dependencies = [ - "cfg-if", - "downcast", - "fragile", - "lazy_static", - "mockall_derive 0.11.4", - "predicates 2.1.5", - "predicates-tree", -] - [[package]] name = "mockall" version = "0.13.1" @@ -3978,23 +2069,11 @@ dependencies = [ "cfg-if", "downcast", "fragile", - "mockall_derive 0.13.1", - "predicates 3.1.3", + "mockall_derive", + "predicates", "predicates-tree", ] -[[package]] -name = "mockall_derive" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "mockall_derive" version = "0.13.1" @@ -4026,25 +2105,6 @@ dependencies = [ "url", ] -[[package]] -name = "multiaddr" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" -dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity 0.2.10", - "multibase", - "multihash 0.19.3", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint 0.8.0", - "url", -] - [[package]] name = "multibase" version = "0.9.1" @@ -4062,14 +2122,10 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", "core2", "digest 0.10.7", "multihash-derive", - "sha2 0.10.8", - "sha3", + "sha2", "unsigned-varint 0.7.2", ] @@ -4085,28 +2141,18 @@ dependencies = [ "core2", "digest 0.10.7", "multihash-derive", - "sha2 0.10.8", + "sha2", "sha3", "unsigned-varint 0.7.2", ] -[[package]] -name = "multihash" -version = "0.19.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" -dependencies = [ - "core2", - "unsigned-varint 0.8.0", -] - [[package]] name = "multihash-derive" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate", "proc-macro-error", "proc-macro2", "quote", @@ -4134,20 +2180,6 @@ dependencies = [ "unsigned-varint 0.7.2", ] -[[package]] -name = "multistream-select" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" -dependencies = [ - "bytes", - "futures", - "log", - "pin-project", - "smallvec", - "unsigned-varint 0.7.2", -] - [[package]] name = "netlink-packet-core" version = "0.7.0" @@ -4251,12 +2283,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -4283,16 +2309,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-format" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" -dependencies = [ - "arrayvec", - "itoa", -] - [[package]] name = "num-integer" version = "0.1.46" @@ -4321,18 +2337,6 @@ dependencies = [ "libc", ] -[[package]] -name = "object" -version = "0.30.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -dependencies = [ - "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "memchr", -] - [[package]] name = "object" version = "0.36.7" @@ -4351,15 +2355,6 @@ dependencies = [ "asn1-rs 0.5.2", ] -[[package]] -name = "oid-registry" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" -dependencies = [ - "asn1-rs 0.6.2", -] - [[package]] name = "oid-registry" version = "0.8.1" @@ -4441,71 +2436,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "parity-bip39" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" -dependencies = [ - "bitcoin_hashes", - "rand", - "rand_core 0.6.4", - "serde", - "unicode-normalization", -] - -[[package]] -name = "parity-scale-codec" -version = "3.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" -dependencies = [ - "arrayvec", - "bitvec", - "byte-slice-cast", - "bytes", - "const_format", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "rustversion", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "parity-wasm" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" - [[package]] name = "parking" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - [[package]] name = "parking_lot" version = "0.12.3" @@ -4513,21 +2449,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", + "parking_lot_core", ] [[package]] @@ -4538,51 +2460,24 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.8", + "redox_syscall", "smallvec", "windows-targets 0.52.6", ] -[[package]] -name = "partial_sort" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" - -[[package]] -name = "password-hash" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "paste" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "password-hash", -] - [[package]] name = "pem" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" dependencies = [ - "base64 0.13.1", + "base64", ] [[package]] @@ -4598,7 +2493,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.7.1", + "indexmap", ] [[package]] @@ -4655,74 +2550,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" -[[package]] -name = "polkavm" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3693e5efdb2bf74e449cd25fd777a28bd7ed87e41f5d5da75eb31b4de48b94" -dependencies = [ - "libc", - "log", - "polkavm-assembler", - "polkavm-common", - "polkavm-linux-raw", -] - -[[package]] -name = "polkavm-assembler" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa96d6d868243acc12de813dd48e756cbadcc8e13964c70d272753266deadc1" -dependencies = [ - "log", -] - -[[package]] -name = "polkavm-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" -dependencies = [ - "log", -] - -[[package]] -name = "polkavm-derive" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" -dependencies = [ - "polkavm-derive-impl-macro", -] - -[[package]] -name = "polkavm-derive-impl" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" -dependencies = [ - "polkavm-common", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "polkavm-derive-impl-macro" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" -dependencies = [ - "polkavm-derive-impl", - "syn 2.0.98", -] - -[[package]] -name = "polkavm-linux-raw" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" - [[package]] name = "polling" version = "3.7.4" @@ -4733,7 +2560,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite 0.2.16", - "rustix 0.38.44", + "rustix", "tracing", "windows-sys 0.59.0", ] @@ -4776,20 +2603,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp", - "itertools 0.10.5", - "normalize-line-endings", - "predicates-core", - "regex", -] - [[package]] name = "predicates" version = "3.1.3" @@ -4826,20 +2639,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "primitive-types" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-num-traits", - "impl-serde", - "scale-info", - "uint 0.10.0", -] - [[package]] name = "proc-macro-crate" version = "1.1.3" @@ -4847,16 +2646,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ "thiserror 1.0.69", - "toml 0.5.11", -] - -[[package]] -name = "proc-macro-crate" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" -dependencies = [ - "toml_edit", + "toml", ] [[package]] @@ -4884,50 +2674,14 @@ dependencies = [ ] [[package]] -name = "proc-macro-warning" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "proc-macro-warning" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "proc-macro2" -version = "1.0.93" +name = "proc-macro2" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] -[[package]] -name = "prometheus" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" -dependencies = [ - "cfg-if", - "fnv", - "lazy_static", - "memchr", - "parking_lot 0.12.3", - "thiserror 1.0.69", -] - [[package]] name = "prometheus-client" version = "0.19.0" @@ -4936,19 +2690,7 @@ checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.3", - "prometheus-client-derive-encode", -] - -[[package]] -name = "prometheus-client" -version = "0.21.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" -dependencies = [ - "dtoa", - "itoa", - "parking_lot 0.12.3", + "parking_lot", "prometheus-client-derive-encode", ] @@ -5038,15 +2780,6 @@ dependencies = [ "prost 0.13.5", ] -[[package]] -name = "psm" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" -dependencies = [ - "cc", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -5068,20 +2801,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" dependencies = [ - "asynchronous-codec 0.6.2", - "bytes", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "quick-protobuf-codec" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" -dependencies = [ - "asynchronous-codec 0.6.2", + "asynchronous-codec", "bytes", "quick-protobuf", "thiserror 1.0.69", @@ -5094,7 +2814,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" dependencies = [ - "env_logger 0.8.4", + "env_logger", "log", "rand", ] @@ -5118,8 +2838,8 @@ checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", "pin-project-lite 0.2.16", - "quinn-proto 0.9.6", - "quinn-udp 0.3.2", + "quinn-proto", + "quinn-udp", "rustc-hash", "rustls 0.20.9", "thiserror 1.0.69", @@ -5128,24 +2848,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "quinn" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" -dependencies = [ - "bytes", - "futures-io", - "pin-project-lite 0.2.16", - "quinn-proto 0.10.6", - "quinn-udp 0.4.1", - "rustc-hash", - "rustls 0.21.12", - "thiserror 1.0.69", - "tokio", - "tracing", -] - [[package]] name = "quinn-proto" version = "0.9.6" @@ -5164,23 +2866,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "quinn-proto" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" -dependencies = [ - "bytes", - "rand", - "ring 0.16.20", - "rustc-hash", - "rustls 0.21.12", - "slab", - "thiserror 1.0.69", - "tinyvec", - "tracing", -] - [[package]] name = "quinn-udp" version = "0.3.2" @@ -5188,25 +2873,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" dependencies = [ "libc", - "quinn-proto 0.9.6", + "quinn-proto", "socket2 0.4.10", "tracing", "windows-sys 0.42.0", ] -[[package]] -name = "quinn-udp" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" -dependencies = [ - "bytes", - "libc", - "socket2 0.5.8", - "tracing", - "windows-sys 0.48.0", -] - [[package]] name = "quote" version = "1.0.38" @@ -5216,12 +2888,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - [[package]] name = "rand" version = "0.8.5" @@ -5261,35 +2927,6 @@ dependencies = [ "getrandom 0.2.15", ] -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "rcgen" version = "0.10.0" @@ -5302,15 +2939,6 @@ dependencies = [ "yasna", ] -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.5.8" @@ -5320,49 +2948,6 @@ dependencies = [ "bitflags 2.8.0", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror 1.0.69", -] - -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "regalloc2" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" -dependencies = [ - "fxhash", - "log", - "slice-group-by", - "smallvec", -] - [[package]] name = "regex" version = "1.11.1" @@ -5417,16 +3002,6 @@ dependencies = [ "quick-error", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac 0.12.1", - "subtle", -] - [[package]] name = "ring" version = "0.16.20" @@ -5496,12 +3071,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - [[package]] name = "rustc_version" version = "0.4.1" @@ -5520,20 +3089,6 @@ dependencies = [ "nom", ] -[[package]] -name = "rustix" -version = "0.36.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - [[package]] name = "rustix" version = "0.38.44" @@ -5543,7 +3098,7 @@ dependencies = [ "bitflags 2.8.0", "errno", "libc", - "linux-raw-sys 0.4.15", + "linux-raw-sys", "windows-sys 0.59.0", ] @@ -5559,18 +3114,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", - "sct", -] - [[package]] name = "rustls" version = "0.23.23" @@ -5579,23 +3122,11 @@ checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" dependencies = [ "once_cell", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki", "subtle", "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework 2.11.1", -] - [[package]] name = "rustls-native-certs" version = "0.8.1" @@ -5605,16 +3136,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", + "security-framework", ] [[package]] @@ -5623,16 +3145,6 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - [[package]] name = "rustls-webpki" version = "0.102.8" @@ -5644,12 +3156,6 @@ dependencies = [ "untrusted 0.9.0", ] -[[package]] -name = "rustversion" -version = "1.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" - [[package]] name = "rw-stream-sink" version = "0.3.0" @@ -5662,458 +3168,56 @@ dependencies = [ ] [[package]] -name = "rw-stream-sink" -version = "0.4.0" +name = "ryu" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" + +[[package]] +name = "schannel" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "futures", - "pin-project", - "static_assertions", + "windows-sys 0.59.0", ] [[package]] -name = "ryu" -version = "1.0.19" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "same-file" -version = "1.0.6" +name = "sct" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "winapi-util", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] -name = "sc-allocator" -version = "30.0.0" +name = "sctp-proto" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a63e577eb150187ddd444a0a6f01e1ece0a5cfc592aacb4204d9f79bdc5265d" +checksum = "d4dea4fe3384a24652f065296ac333c810dfd0c5b39b98a2214762c16aaadc3c" dependencies = [ + "bytes", + "crc", + "fxhash", "log", - "sp-core", - "sp-wasm-interface", + "rand", + "slab", "thiserror 1.0.69", ] [[package]] -name = "sc-client-api" -version = "38.0.0" +name = "security-framework" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89717374ec68c01c2493d65f7e1854814c371ed9e8f9826a160ee9d0d473824" -dependencies = [ - "fnv", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "sc-executor", - "sc-transaction-pool-api", - "sc-utils 18.0.0", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-runtime", - "sp-state-machine", - "sp-statement-store", - "sp-storage", - "sp-trie", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82287d29c4f569b7d6b0589ddb60a0cd5e41c82242b582f347d89a8f28bc305f" -dependencies = [ - "async-trait", - "futures", - "log", - "mockall 0.11.4", - "parking_lot 0.12.3", - "sc-client-api", - "sc-network-types", - "sc-utils 18.0.0", - "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-executor" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b450573fc0ca024bdcb6d508d61c104f862519ca7f78c416bd8042c9db32975" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.3", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", - "schnellru", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", - "sp-trie", - "sp-version", - "sp-wasm-interface", - "tracing", -] - -[[package]] -name = "sc-executor-common" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27f5d872331b68ed4601488100f22e8aa16331de006b51d4c69353930c568a16" -dependencies = [ - "polkavm", - "sc-allocator", - "sp-maybe-compressed-blob", - "sp-wasm-interface", - "thiserror 1.0.69", - "wasm-instrument", -] - -[[package]] -name = "sc-executor-polkavm" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c4b3532c0f6dae1fcbe85f4582618042aefb9c8e2a03f855d298f56362daaa" -dependencies = [ - "log", - "polkavm", - "sc-executor-common", - "sp-wasm-interface", -] - -[[package]] -name = "sc-executor-wasmtime" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d04b8d98a96a83b56eeb1061cd4a7a1949b7c2c147d572d309c4e4d5c0d870f" -dependencies = [ - "anyhow", - "cfg-if", - "libc", - "log", - "parking_lot 0.12.3", - "rustix 0.36.17", - "sc-allocator", - "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmtime", -] - -[[package]] -name = "sc-network" -version = "0.48.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320762f503212863a42c86d14434973b99bd1fdc0b25f5de3ee91d5903d33b1e" -dependencies = [ - "array-bytes", - "async-channel", - "async-trait", - "asynchronous-codec 0.6.2", - "bytes", - "cid 0.9.0", - "either", - "fnv", - "futures", - "futures-timer", - "ip_network", - "libp2p 0.52.4", - "linked_hash_set", - "litep2p 0.9.0", - "log", - "mockall 0.11.4", - "once_cell", - "parity-scale-codec", - "parking_lot 0.12.3", - "partial_sort", - "pin-project", - "prost 0.12.6", - "prost-build", - "rand", - "sc-client-api", - "sc-network-common", - "sc-network-types", - "sc-utils 18.0.0", - "schnellru", - "serde", - "serde_json", - "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "unsigned-varint 0.7.2", - "void", - "wasm-timer", - "zeroize", -] - -[[package]] -name = "sc-network-common" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "425b88da9cc89a85ddb6d693d93aee2a708ad9c230b73f8aa638dbad0c63b535" -dependencies = [ - "async-trait", - "bitflags 1.3.2", - "futures", - "libp2p-identity 0.2.10", - "parity-scale-codec", - "prost-build", - "sc-consensus", - "sc-network-types", - "sp-consensus", - "sp-consensus-grandpa", - "sp-runtime", -] - -[[package]] -name = "sc-network-types" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ca94ca65da717b15b689e9e185b0fa1ba051d523582e2de308aaa18b8392e4" -dependencies = [ - "bs58 0.5.1", - "ed25519-dalek", - "libp2p-identity 0.2.10", - "litep2p 0.9.0", - "log", - "multiaddr 0.18.2", - "multihash 0.19.3", - "rand", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "sc-transaction-pool-api" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e152a4db5b2edbfa31cf1473db512008aa8dad4f85bf1bcb180b01a9e0d0be1" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-utils" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf1bad736c230f16beb1cf48af9e69564df23b13aca9e5751a61266340b4bb5" -dependencies = [ - "async-channel", - "futures", - "futures-timer", - "lazy_static", - "log", - "parking_lot 0.12.3", - "prometheus", - "sp-arithmetic", -] - -[[package]] -name = "sc-utils" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63860daa5455a5f3689bec3e94aad823746bac0f4166761786435043ab01a27" -dependencies = [ - "async-channel", - "futures", - "futures-timer", - "log", - "parking_lot 0.12.3", - "prometheus", - "sp-arithmetic", -] - -[[package]] -name = "scale-info" -version = "2.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" -dependencies = [ - "bitvec", - "cfg-if", - "derive_more", - "parity-scale-codec", - "scale-info-derive", - "serde", -] - -[[package]] -name = "scale-info-derive" -version = "2.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "schannel" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "schnellru" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" -dependencies = [ - "ahash", - "cfg-if", - "hashbrown 0.13.2", -] - -[[package]] -name = "schnorrkel" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" -dependencies = [ - "aead", - "arrayref", - "arrayvec", - "curve25519-dalek 4.1.3", - "getrandom_or_panic", - "merlin", - "rand_core 0.6.4", - "serde_bytes", - "sha2 0.10.8", - "subtle", - "zeroize", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "sctp-proto" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4dea4fe3384a24652f065296ac333c810dfd0c5b39b98a2214762c16aaadc3c" -dependencies = [ - "bytes", - "crc", - "fxhash", - "log", - "rand", - "slab", - "thiserror 1.0.69", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "serdect", - "subtle", - "zeroize", -] - -[[package]] -name = "secp256k1" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" -dependencies = [ - "secp256k1-sys", -] - -[[package]] -name = "secp256k1-sys" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" -dependencies = [ - "cc", -] - -[[package]] -name = "secrecy" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" -dependencies = [ - "zeroize", -] - -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.8.0", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ "bitflags 2.8.0", "core-foundation 0.10.0", @@ -6147,15 +3251,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde_bytes" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" version = "1.0.217" @@ -6179,25 +3274,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_spanned" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" -dependencies = [ - "serde", -] - -[[package]] -name = "serdect" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" -dependencies = [ - "base16ct", - "serde", -] - [[package]] name = "sha-1" version = "0.9.8" @@ -6234,26 +3310,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.9" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", + "digest 0.10.7", ] [[package]] @@ -6285,655 +3348,86 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" name = "signature" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - -[[package]] -name = "simple-dns" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c80e565e7dcc4f1ef247e2f395550d4cf7d777746d5988e7e4e3156b71077fc" -dependencies = [ - "bitflags 2.8.0", -] - -[[package]] -name = "simple-dns" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" -dependencies = [ - "bitflags 2.8.0", -] - -[[package]] -name = "simple-mermaid" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slice-group-by" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "snow" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" -dependencies = [ - "aes-gcm", - "blake2", - "chacha20poly1305", - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", - "ring 0.17.8", - "rustc_version", - "sha2 0.10.8", - "subtle", -] - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "socket2" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "soketto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" -dependencies = [ - "base64 0.13.1", - "bytes", - "flate2", - "futures", - "httparse", - "log", - "rand", - "sha-1", -] - -[[package]] -name = "soketto" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures", - "httparse", - "log", - "rand", - "sha1", -] - -[[package]] -name = "sp-api" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7538a61120585b0e1e89d9de57448732ea4d3f9d175cab882b3c86e9809612a0" -dependencies = [ - "docify", - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro", - "sp-core", - "sp-externalities", - "sp-metadata-ir", - "sp-runtime", - "sp-runtime-interface", - "sp-state-machine", - "sp-trie", - "sp-version", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-api-proc-macro" -version = "21.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37f8b9621cfa68a45d6f9c124e672b8f6780839a6c95279a7877d244fef8d1dc" -dependencies = [ - "Inflector", - "blake2", - "expander", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-application-crypto" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f6850bd745fe9c0a200a8e729a82c8036250e1ad1ef24ed7498b2289935c974" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", -] - -[[package]] -name = "sp-arithmetic" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23" -dependencies = [ - "docify", - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-std", - "static_assertions", -] - -[[package]] -name = "sp-blockchain" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10c9a1cd459bac54920bac5e467609dadfdac3e3503be0a864539aeb11071b70" -dependencies = [ - "futures", - "parity-scale-codec", - "parking_lot 0.12.3", - "schnellru", - "sp-api", - "sp-consensus", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "thiserror 1.0.69", - "tracing", -] - -[[package]] -name = "sp-consensus" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068254c448b84efac1c4a5b15f650851ef24ba77bda21802da34f73410096c09" -dependencies = [ - "async-trait", - "futures", - "log", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-consensus-grandpa" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee1b89de331df0c7b1502d626540d455a058eb86fa49f58cef0364d1a02abda" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", -] - -[[package]] -name = "sp-core" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4532774405a712a366a98080cbb4daa28c38ddff0ec595902ad6ee6a78a809f8" -dependencies = [ - "array-bytes", - "bitflags 1.3.2", - "blake2", - "bounded-collections", - "bs58 0.5.1", - "dyn-clonable", - "ed25519-zebra", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde", - "itertools 0.11.0", - "k256", - "libsecp256k1", - "log", - "merlin", - "parity-bip39", - "parity-scale-codec", - "parking_lot 0.12.3", - "paste", - "primitive-types", - "rand", - "scale-info", - "schnorrkel", - "secp256k1", - "secrecy", - "serde", - "sp-crypto-hashing", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", - "ss58-registry", - "substrate-bip39", - "thiserror 1.0.69", - "tracing", - "w3f-bls", - "zeroize", -] - -[[package]] -name = "sp-crypto-hashing" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" -dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.8", - "sha3", - "twox-hash", -] - -[[package]] -name = "sp-crypto-hashing-proc-macro" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" -dependencies = [ - "quote", - "sp-crypto-hashing", - "syn 2.0.98", -] - -[[package]] -name = "sp-database" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "722cbecdbf5b94578137dbd07feb51e95f7de221be0c1ff4dcfe0bb4cd986929" -dependencies = [ - "kvdb", - "parking_lot 0.12.3", -] - -[[package]] -name = "sp-debug-derive" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-externalities" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cbf059dce180a8bf8b6c8b08b6290fa3d1c7f069a60f1df038ab5dd5fc0ba6" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage", -] - -[[package]] -name = "sp-inherents" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575142ee4947deb9e5b731efbbfd432b1d28fc26f130f4cfdd3660e851907298" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-io" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86554fd101635b388e41ce83c28754ee30078e6a93480e1310914b4b09a67130" -dependencies = [ - "bytes", - "docify", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive", - "rustversion", - "secp256k1", - "sp-core", - "sp-crypto-hashing", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", - "sp-tracing", - "sp-trie", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-keystore" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d41475fcdf253f9f0da839564c1b7f8a95c6a293ddfffd6e48e3671e76f33b" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.3", - "sp-core", - "sp-externalities", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" -dependencies = [ - "thiserror 1.0.69", - "zstd 0.12.4", -] - -[[package]] -name = "sp-metadata-ir" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427be4e8e6a33cb8ffc8c91f8834b9c6f563daf246e8f0da16e9e0db3db55f5a" -dependencies = [ - "frame-metadata", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "sp-panic-handler" -version = "13.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81478b3740b357fa0ea10fcdc1ee02ebae7734e50f80342c4743476d9f78eeea" -dependencies = [ - "backtrace", - "regex", -] - -[[package]] -name = "sp-runtime" -version = "40.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d1356c519f12de28847f57638490b298b0bb35d7df032c6b2948c8a9a168abe" -dependencies = [ - "binary-merkle-tree", - "docify", - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "num-traits", - "parity-scale-codec", - "paste", - "rand", - "scale-info", - "serde", - "simple-mermaid", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", - "sp-trie", - "sp-weights", - "tracing", - "tuplex", -] - -[[package]] -name = "sp-runtime-interface" -version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e83d940449837a8b2a01b4d877dd22d896fd14d3d3ade875787982da994a33" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive", - "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" -dependencies = [ - "Inflector", - "expander", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-state-machine" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bce4ee5ee6c614994077e6e317270eab6fde2bc346b028290286cbf9d0011b7e" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "smallvec", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-trie", - "thiserror 1.0.69", - "tracing", - "trie-db", -] - -[[package]] -name = "sp-statement-store" -version = "19.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c8959bbd46dca069b4b9cf9880e1534406b2bb9c09ac45b8367652db50f3eda" -dependencies = [ - "aes-gcm", - "curve25519-dalek 4.1.3", - "ed25519-dalek", - "hkdf", - "parity-scale-codec", - "rand", - "scale-info", - "sha2 0.10.8", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-crypto-hashing", - "sp-externalities", - "sp-runtime", - "sp-runtime-interface", - "thiserror 1.0.69", - "x25519-dalek 2.0.1", -] - -[[package]] -name = "sp-std" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "rand_core 0.6.4", +] [[package]] -name = "sp-storage" -version = "22.0.0" +name = "simple-dns" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee3b70ca340e41cde9d2e069d354508a6e37a6573d66f7cc38f11549002f64ec" +checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive", + "bitflags 2.8.0", ] [[package]] -name = "sp-tracing" -version = "17.0.1" +name = "slab" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf641a1d17268c8fcfdb8e0fa51a79c2d4222f4cfda5f3944dbdbc384dced8d5" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "parity-scale-codec", - "tracing", - "tracing-core", - "tracing-subscriber", + "autocfg", ] [[package]] -name = "sp-trie" -version = "38.0.0" +name = "smallvec" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1851c4929ae88932c6bcdb9e60f4063e478ca612012af3b6d365c7dc9c591f7f" -dependencies = [ - "ahash", - "hash-db", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "scale-info", - "schnellru", - "sp-core", - "sp-externalities", - "thiserror 1.0.69", - "tracing", - "trie-db", - "trie-root", -] +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] -name = "sp-version" -version = "38.0.0" +name = "snow" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7561e88742bc47b2f5fbdcab77a1cd98cf04117a3e163c1aadd58b9a592a18" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-crypto-hashing-proc-macro", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", - "thiserror 1.0.69", + "aes-gcm", + "blake2", + "chacha20poly1305", + "curve25519-dalek 4.1.3", + "rand_core 0.6.4", + "ring 0.17.8", + "rustc_version", + "sha2", + "subtle", ] [[package]] -name = "sp-version-proc-macro" -version = "15.0.0" +name = "socket2" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cabc8279e835cd9c608d70cb00e693bddec94fe8478e9f3104dad1da5f93ca" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ - "parity-scale-codec", - "proc-macro-warning 1.0.2", - "proc-macro2", - "quote", - "syn 2.0.98", + "libc", + "winapi", ] [[package]] -name = "sp-wasm-interface" -version = "21.0.1" +name = "socket2" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b066baa6d57951600b14ffe1243f54c47f9c23dd89c262e17ca00ae8dca58be9" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "wasmtime", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "sp-weights" -version = "31.0.0" +name = "soketto" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "bounded-collections", - "parity-scale-codec", - "scale-info", - "serde", - "smallvec", - "sp-arithmetic", - "sp-debug-derive", + "base64", + "bytes", + "flate2", + "futures", + "httparse", + "log", + "rand", + "sha-1", ] [[package]] @@ -6958,21 +3452,6 @@ dependencies = [ "der", ] -[[package]] -name = "ss58-registry" -version = "1.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" -dependencies = [ - "Inflector", - "num-format", - "proc-macro2", - "quote", - "serde", - "serde_json", - "unicode-xid", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -6994,7 +3473,7 @@ dependencies = [ "combine", "crc", "fastrand", - "hmac 0.12.1", + "hmac", "libc", "once_cell", "openssl", @@ -7006,34 +3485,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "substrate-bip39" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a" -dependencies = [ - "hmac 0.12.1", - "pbkdf2", - "schnorrkel", - "sha2 0.10.8", - "zeroize", -] - -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b6772e9c3621b8d067a706dfda6a20db6faa7cde39822c58ffc8588d16409c5" -dependencies = [ - "http-body-util", - "hyper 1.6.0", - "hyper-util", - "log", - "prometheus", - "thiserror 1.0.69", - "tokio", -] - [[package]] name = "subtle" version = "2.6.1" @@ -7106,18 +3557,6 @@ dependencies = [ "libc", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - [[package]] name = "tempfile" version = "3.16.0" @@ -7128,19 +3567,10 @@ dependencies = [ "fastrand", "getrandom 0.3.1", "once_cell", - "rustix 0.38.44", + "rustix", "windows-sys 0.59.0", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "termtree" version = "0.5.1" @@ -7263,7 +3693,7 @@ dependencies = [ "bytes", "libc", "mio", - "parking_lot 0.12.3", + "parking_lot", "pin-project-lite 0.2.16", "socket2 0.5.8", "tokio-macros", @@ -7281,16 +3711,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.1" @@ -7312,21 +3732,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -dependencies = [ - "futures-util", - "log", - "rustls 0.21.12", - "rustls-native-certs 0.6.3", - "tokio", - "tokio-rustls 0.24.1", - "tungstenite 0.20.1", -] - [[package]] name = "tokio-tungstenite" version = "0.26.1" @@ -7336,11 +3741,11 @@ dependencies = [ "futures-util", "log", "rustls 0.23.23", - "rustls-native-certs 0.8.1", + "rustls-native-certs", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.1", - "tungstenite 0.26.1", + "tokio-rustls", + "tungstenite", ] [[package]] @@ -7366,46 +3771,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" -dependencies = [ - "indexmap 2.7.1", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - [[package]] name = "tracing" version = "0.1.41" @@ -7463,33 +3828,11 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time", "tracing", "tracing-core", "tracing-log", ] -[[package]] -name = "trie-db" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c992b4f40c234a074d48a757efeabb1a6be88af84c0c23f7ca158950cb0ae7f" -dependencies = [ - "hash-db", - "log", - "rustc-hex", - "smallvec", -] - -[[package]] -name = "trie-root" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" -dependencies = [ - "hash-db", -] - [[package]] name = "trust-dns-proto" version = "0.22.0" @@ -7516,31 +3859,6 @@ dependencies = [ "url", ] -[[package]] -name = "trust-dns-proto" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner 0.6.1", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "smallvec", - "thiserror 1.0.69", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "trust-dns-resolver" version = "0.22.0" @@ -7552,60 +3870,13 @@ dependencies = [ "ipconfig", "lazy_static", "lru-cache", - "parking_lot 0.12.3", - "resolv-conf", - "smallvec", - "thiserror 1.0.69", - "tokio", - "tracing", - "trust-dns-proto 0.22.0", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" -dependencies = [ - "cfg-if", - "futures-util", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot 0.12.3", - "rand", + "parking_lot", "resolv-conf", "smallvec", "thiserror 1.0.69", "tokio", "tracing", - "trust-dns-proto 0.23.2", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 0.2.12", - "httparse", - "log", - "rand", - "rustls 0.21.12", - "sha1", - "thiserror 1.0.69", - "url", - "utf-8", + "trust-dns-proto", ] [[package]] @@ -7617,7 +3888,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.2.0", + "http", "httparse", "log", "rand", @@ -7629,24 +3900,6 @@ dependencies = [ "utf-8", ] -[[package]] -name = "tuplex" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa" - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "digest 0.10.7", - "rand", - "static_assertions", -] - [[package]] name = "typenum" version = "1.17.0" @@ -7720,10 +3973,8 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" dependencies = [ - "asynchronous-codec 0.6.2", + "asynchronous-codec", "bytes", - "futures-io", - "futures-util", ] [[package]] @@ -7790,59 +4041,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "w3f-bls" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024" -dependencies = [ - "ark-bls12-377", - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-serialize-derive", - "arrayref", - "constcat", - "digest 0.10.7", - "rand", - "rand_chacha", - "rand_core 0.6.4", - "sha2 0.10.8", - "sha3", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "walkdir" -version = "2.5.0" +name = "version_check" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] -name = "want" -version = "0.3.1" +name = "void" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "wasi" @@ -7873,7 +4081,6 @@ checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", - "rustversion", "wasm-bindgen-macro", ] @@ -7891,19 +4098,6 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" -dependencies = [ - "cfg-if", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "wasm-bindgen-macro" version = "0.2.100" @@ -7936,235 +4130,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-instrument" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" -dependencies = [ - "parity-wasm", -] - -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures", - "js-sys", - "parking_lot 0.11.2", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasmparser" -version = "0.102.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" -dependencies = [ - "indexmap 1.9.3", - "url", -] - -[[package]] -name = "wasmtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "object 0.30.4", - "once_cell", - "paste", - "psm", - "rayon", - "serde", - "target-lexicon", - "wasmparser", - "wasmtime-cache", - "wasmtime-cranelift", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-asm-macros" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "wasmtime-cache" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" -dependencies = [ - "anyhow", - "base64 0.21.7", - "bincode", - "directories-next", - "file-per-thread-logger", - "log", - "rustix 0.36.17", - "serde", - "sha2 0.10.8", - "toml 0.5.11", - "windows-sys 0.45.0", - "zstd 0.11.2+zstd.1.5.2", -] - -[[package]] -name = "wasmtime-cranelift" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" -dependencies = [ - "anyhow", - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "cranelift-wasm", - "gimli 0.27.3", - "log", - "object 0.30.4", - "target-lexicon", - "thiserror 1.0.69", - "wasmparser", - "wasmtime-cranelift-shared", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-cranelift-shared" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" -dependencies = [ - "anyhow", - "cranelift-codegen", - "cranelift-native", - "gimli 0.27.3", - "object 0.30.4", - "target-lexicon", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-environ" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" -dependencies = [ - "anyhow", - "cranelift-entity", - "gimli 0.27.3", - "indexmap 1.9.3", - "log", - "object 0.30.4", - "serde", - "target-lexicon", - "thiserror 1.0.69", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "wasmtime-jit" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" -dependencies = [ - "addr2line 0.19.0", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle", - "gimli 0.27.3", - "log", - "object 0.30.4", - "rustc-demangle", - "serde", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-jit-debug" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" -dependencies = [ - "object 0.30.4", - "once_cell", - "rustix 0.36.17", -] - -[[package]] -name = "wasmtime-jit-icache-coherence" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" -dependencies = [ - "cfg-if", - "libc", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-runtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" -dependencies = [ - "anyhow", - "cc", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "mach", - "memfd", - "memoffset", - "paste", - "rand", - "rustix 0.36.17", - "wasmtime-asm-macros", - "wasmtime-environ", - "wasmtime-jit-debug", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-types" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" -dependencies = [ - "cranelift-entity", - "serde", - "thiserror 1.0.69", - "wasmparser", -] - [[package]] name = "web-sys" version = "0.3.77" @@ -8204,12 +4169,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - [[package]] name = "widestring" version = "1.1.0" @@ -8232,15 +4191,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -8291,15 +4241,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -8327,21 +4268,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-targets" version = "0.48.5" @@ -8505,15 +4431,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603" -dependencies = [ - "memchr", -] - [[package]] name = "winreg" version = "0.50.0" @@ -8545,15 +4462,6 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - [[package]] name = "x25519-dalek" version = "1.1.1" @@ -8584,24 +4492,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" dependencies = [ "asn1-rs 0.5.2", - "base64 0.13.1", - "data-encoding", - "der-parser 8.2.0", - "lazy_static", - "nom", - "oid-registry 0.6.1", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - -[[package]] -name = "x509-parser" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" -dependencies = [ - "asn1-rs 0.5.2", + "base64", "data-encoding", "der-parser 8.2.0", "lazy_static", @@ -8612,23 +4503,6 @@ dependencies = [ "time", ] -[[package]] -name = "x509-parser" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" -dependencies = [ - "asn1-rs 0.6.2", - "data-encoding", - "der-parser 9.0.0", - "lazy_static", - "nom", - "oid-registry 0.7.1", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - [[package]] name = "x509-parser" version = "0.17.0" @@ -8646,21 +4520,6 @@ dependencies = [ "time", ] -[[package]] -name = "xml-rs" -version = "0.8.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" - -[[package]] -name = "xmltree" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" -dependencies = [ - "xml-rs", -] - [[package]] name = "yamux" version = "0.10.2" @@ -8670,22 +4529,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", - "rand", - "static_assertions", -] - -[[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 0.12.3", - "pin-project", + "parking_lot", "rand", "static_assertions", ] @@ -8699,7 +4543,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "rand", "static_assertions", @@ -8822,51 +4666,3 @@ dependencies = [ "quote", "syn 2.0.98", ] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe 6.0.6", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/Cargo.toml b/Cargo.toml index 35122ef2a..74ead77fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,7 +58,6 @@ ring = { version = "0.16.20", optional = true } webpki = { version = "0.22.4", optional = true } [dev-dependencies] -asynchronous-codec = "0.7.0" libp2p = { version = "0.51.4", features = [ "tokio", "dns", @@ -74,15 +73,11 @@ libp2p = { version = "0.51.4", features = [ "quic", ]} quickcheck = "1.0.3" -rand_xorshift = "0.3.0" -sc-network = "0.48.1" -sc-utils = "17.0.0" serde_json = "1.0.122" tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } futures_ringbuf = "0.4.0" [features] -custom_sc_network = [] quic = ["dep:webpki", "dep:quinn", "dep:rustls", "dep:ring"] webrtc = ["dep:str0m"] websocket = ["dep:tokio-tungstenite"] diff --git a/tests/conformance/mod.rs b/tests/conformance/mod.rs index fa9771f99..d8cefa3c2 100644 --- a/tests/conformance/mod.rs +++ b/tests/conformance/mod.rs @@ -20,5 +20,3 @@ #[cfg(test)] mod rust; -#[cfg(test)] -mod substrate; diff --git a/tests/conformance/substrate/connection.rs b/tests/conformance/substrate/connection.rs deleted file mode 100644 index fd8c28cf5..000000000 --- a/tests/conformance/substrate/connection.rs +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2023 litep2p developers -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -use litep2p::{ - config::ConfigBuilder, - crypto::ed25519::Keypair, - protocol::notification::{handle::NotificationHandle, types::Config as NotificationConfig}, - transport::tcp::config::Config as TcpConfig, - types::protocol::ProtocolName as Litep2pProtocol, - Litep2p, Litep2pEvent, -}; - -use futures::StreamExt; -use libp2p::{ - identity, - swarm::{SwarmBuilder, SwarmEvent}, - PeerId, Swarm, -}; -use sc_network::{ - peer_store::{PeerStore, PeerStoreHandle}, - protocol::notifications::behaviour::{Notifications, ProtocolConfig}, - protocol_controller::{ProtoSetConfig, ProtocolController, SetId}, - types::ProtocolName, -}; -use sc_utils::mpsc::tracing_unbounded; - -use std::collections::HashSet; - -fn initialize_libp2p(in_peers: u32, out_peers: u32) -> (Swarm, PeerStoreHandle) { - let local_key = identity::Keypair::generate_ed25519(); - let local_peer_id = PeerId::from(local_key.public()); - let peer_store = PeerStore::new(vec![]); - - let (tx, rx) = tracing_unbounded("channel", 10_000); - let proto_set_config = ProtoSetConfig { - in_peers, - out_peers, - reserved_nodes: HashSet::new(), - reserved_only: false, - }; - - let (handle, controller) = ProtocolController::new( - SetId::from(0usize), - proto_set_config, - tx.clone(), - Box::new(peer_store.handle()), - ); - let peer_store_handle = peer_store.handle(); - tokio::spawn(controller.run()); - tokio::spawn(peer_store.run()); - - let proto_config = ProtocolConfig { - name: ProtocolName::from("/notif/1"), - fallback_names: vec![], - handshake: vec![1, 3, 3, 7], - max_notification_size: 1000u64, - }; - let behaviour = Notifications::new(vec![handle], rx, vec![proto_config].into_iter()); - let transport = libp2p::tokio_development_transport(local_key).unwrap(); - let mut swarm = SwarmBuilder::with_tokio_executor(transport, behaviour, local_peer_id).build(); - - swarm.listen_on("/ip6/::1/tcp/0".parse().unwrap()).unwrap(); - - (swarm, peer_store_handle) -} - -async fn initialize_litep2p() -> (Litep2p, NotificationHandle) { - let (notif_config1, handle) = NotificationConfig::new( - Litep2pProtocol::from("/notif/1"), - 1024usize, - vec![1, 3, 3, 8], - Vec::new(), - ); - let config1 = ConfigBuilder::new() - .with_keypair(Keypair::generate()) - .with_tcp(TcpConfig { - listen_address: "/ip6/::1/tcp/0".parse().unwrap(), - yamux_config: Default::default(), - }) - .with_notification_protocol(notif_config1) - .build(); - let litep2p = Litep2p::new(config1).await.unwrap(); - - (litep2p, handle) -} - -#[tokio::test] -async fn substrate_keep_alive_timeout() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, _peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - let mut libp2p_connection_open = false; - let mut libp2p_connection_closed = false; - let mut litep2p_connection_open = false; - let mut litep2p_connection_closed = false; - - while !libp2p_connection_open - || !libp2p_connection_closed - || !litep2p_connection_open - || !litep2p_connection_closed - { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::ConnectionEstablished { .. } => { - libp2p_connection_open = true; - } - SwarmEvent::ConnectionClosed { .. } => { - libp2p_connection_closed = true; - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event.unwrap() { - Litep2pEvent::ConnectionEstablished { .. } => { - litep2p_connection_open = true; - } - Litep2pEvent::ConnectionClosed { .. } => { - litep2p_connection_closed = true; - } - _ => {} - }, - event = handle.next() => match event.unwrap() { - event => tracing::debug!("unhanled notification event: {event:?}"), - } - } - } -} diff --git a/tests/conformance/substrate/mod.rs b/tests/conformance/substrate/mod.rs deleted file mode 100644 index 354d073f7..000000000 --- a/tests/conformance/substrate/mod.rs +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2023 litep2p developers -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#![cfg(feature = "custom-sc-network")] - -#[cfg(test)] -mod connection; -#[cfg(test)] -mod notifications; -#[cfg(test)] -mod request_response; -#[cfg(test)] -mod websocket; diff --git a/tests/conformance/substrate/notifications.rs b/tests/conformance/substrate/notifications.rs deleted file mode 100644 index 9d5df646f..000000000 --- a/tests/conformance/substrate/notifications.rs +++ /dev/null @@ -1,636 +0,0 @@ -// Copyright 2023 litep2p developers -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -use litep2p::{ - config::ConfigBuilder, - crypto::ed25519::Keypair, - protocol::notification::{ - handle::NotificationHandle, - types::{ - Config as NotificationConfig, NotificationError, NotificationEvent, ValidationResult, - }, - }, - transport::tcp::config::Config as TcpConfig, - types::protocol::ProtocolName as Litep2pProtocol, - Litep2p, Litep2pEvent, PeerId as Litep2pPeerId, -}; - -use futures::StreamExt; -use libp2p::{ - identity, - swarm::{SwarmBuilder, SwarmEvent}, - PeerId, Swarm, -}; -use sc_network::{ - peer_store::{PeerStore, PeerStoreHandle, PeerStoreProvider}, - protocol::notifications::behaviour::{Notifications, NotificationsOut, ProtocolConfig}, - protocol_controller::{ProtoSetConfig, ProtocolController, SetId}, - types::ProtocolName, - ReputationChange, -}; -use sc_utils::mpsc::tracing_unbounded; - -use std::collections::HashSet; - -fn initialize_libp2p(in_peers: u32, out_peers: u32) -> (Swarm, PeerStoreHandle) { - let local_key = identity::Keypair::generate_ed25519(); - let local_peer_id = PeerId::from(local_key.public()); - let peer_store = PeerStore::new(vec![]); - - let (tx, rx) = tracing_unbounded("channel", 10_000); - let proto_set_config = ProtoSetConfig { - in_peers, - out_peers, - reserved_nodes: HashSet::new(), - reserved_only: false, - }; - - let (handle, controller) = ProtocolController::new( - SetId::from(0usize), - proto_set_config, - tx.clone(), - Box::new(peer_store.handle()), - ); - let peer_store_handle = peer_store.handle(); - tokio::spawn(controller.run()); - tokio::spawn(peer_store.run()); - - let proto_config = ProtocolConfig { - name: ProtocolName::from("/notif/1"), - fallback_names: vec![], - handshake: vec![1, 3, 3, 7], - max_notification_size: 1000u64, - }; - let behaviour = Notifications::new(vec![handle], rx, vec![proto_config].into_iter()); - let transport = libp2p::tokio_development_transport(local_key).unwrap(); - let mut swarm = SwarmBuilder::with_tokio_executor(transport, behaviour, local_peer_id).build(); - - swarm.listen_on("/ip6/::1/tcp/0".parse().unwrap()).unwrap(); - - (swarm, peer_store_handle) -} - -async fn initialize_litep2p() -> (Litep2p, NotificationHandle) { - let (notif_config1, handle) = NotificationConfig::new( - Litep2pProtocol::from("/notif/1"), - 1024usize, - vec![1, 3, 3, 8], - Vec::new(), - ); - let config1 = ConfigBuilder::new() - .with_keypair(Keypair::generate()) - .with_tcp(TcpConfig { - listen_address: "/ip6/::1/tcp/0".parse().unwrap(), - yamux_config: Default::default(), - }) - .with_notification_protocol(notif_config1) - .build(); - let litep2p = Litep2p::new(config1).await.unwrap(); - - (litep2p, handle) -} - -#[tokio::test] -async fn substrate_open_substream() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, mut peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - let litep2p_peer = *litep2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - let mut libp2p_ready = false; - let mut litep2p_ready = false; - let mut litep2p_3333_seen = false; - let mut litep2p_4444_seen = false; - let mut libp2p_1111_seen = false; - let mut libp2p_2222_seen = false; - - while !libp2p_ready - || !litep2p_ready - || !litep2p_3333_seen - || !litep2p_4444_seen - || !libp2p_1111_seen - || !libp2p_2222_seen - { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::ConnectionEstablished { .. } => { - peer_store_handle.add_known_peer(PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap()); - } - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolOpen { - peer_id, set_id, negotiated_fallback, received_handshake, notifications_sink, inbound, - }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - assert_eq!(received_handshake, vec![1, 3, 3, 8]); - assert!(negotiated_fallback.is_none()); - assert!(!inbound); - - notifications_sink.reserve_notification().await.unwrap().send(vec![3, 3, 3, 3]).unwrap(); - notifications_sink.send_sync_notification(vec![4, 4, 4, 4]); - - libp2p_ready = true; - } - SwarmEvent::Behaviour(NotificationsOut::Notification { peer_id, set_id, message }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - - if message == vec![1, 1, 1, 1] { - libp2p_1111_seen = true; - } else if message == vec![2, 2, 2, 2] { - libp2p_2222_seen = true; - } - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event { - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::ValidateSubstream { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_validation_result(peer, ValidationResult::Accept).await; - litep2p_ready = true; - } - NotificationEvent::NotificationStreamOpened { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_sync_notification(peer, vec![1, 1, 1, 1]).unwrap(); - handle.send_async_notification(peer, vec![2, 2, 2, 2]).await.unwrap(); - } - NotificationEvent::NotificationReceived { peer, notification } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - - if notification == vec![3, 3, 3, 3] { - litep2p_3333_seen = true; - } else if notification == vec![4, 4, 4, 4] { - litep2p_4444_seen = true; - } - } - event => tracing::error!("unhanled notification event: {event:?}"), - } - } - } -} - -#[tokio::test] -async fn litep2p_open_substream() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, _peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - let litep2p_peer = *litep2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - let mut libp2p_ready = false; - let mut litep2p_ready = false; - let mut litep2p_3333_seen = false; - let mut litep2p_4444_seen = false; - let mut libp2p_1111_seen = false; - let mut libp2p_2222_seen = false; - - while !libp2p_ready - || !litep2p_ready - || !litep2p_3333_seen - || !litep2p_4444_seen - || !libp2p_1111_seen - || !libp2p_2222_seen - { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolOpen { - peer_id, set_id, negotiated_fallback, received_handshake, notifications_sink, inbound, - }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - assert_eq!(received_handshake, vec![1, 3, 3, 8]); - assert!(negotiated_fallback.is_none()); - assert!(inbound); - - notifications_sink.reserve_notification().await.unwrap().send(vec![3, 3, 3, 3]).unwrap(); - notifications_sink.send_sync_notification(vec![4, 4, 4, 4]); - - libp2p_ready = true; - } - SwarmEvent::Behaviour(NotificationsOut::Notification { peer_id, set_id, message }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - - if message == vec![1, 1, 1, 1] { - libp2p_1111_seen = true; - } else if message == vec![2, 2, 2, 2] { - libp2p_2222_seen = true; - } - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event.unwrap() { - Litep2pEvent::ConnectionEstablished { peer, .. } => { - // TODO: zzz - tokio::time::sleep(std::time::Duration::from_millis(200)).await; - handle.open_substream(peer).await.unwrap(); - } - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::ValidateSubstream { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_validation_result(peer, ValidationResult::Accept).await; - litep2p_ready = true; - } - NotificationEvent::NotificationStreamOpened { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_sync_notification(peer, vec![1, 1, 1, 1]).unwrap(); - handle.send_async_notification(peer, vec![2, 2, 2, 2]).await.unwrap(); - } - NotificationEvent::NotificationReceived { peer, notification } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - - if notification == vec![3, 3, 3, 3] { - litep2p_3333_seen = true; - } else if notification == vec![4, 4, 4, 4] { - litep2p_4444_seen = true; - } - } - event => tracing::error!("unhanled notification event: {event:?}"), - } - } - } -} - -#[tokio::test] -async fn substrate_reject_substream() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - // set inbound peer to count 0 so `ProtocolController` will reject the peer - let (mut libp2p, _peer_store_handle) = initialize_libp2p(0u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => match event { - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event.unwrap() { - Litep2pEvent::ConnectionEstablished { peer, .. } => { - // TODO: zzz - tokio::time::sleep(std::time::Duration::from_millis(200)).await; - handle.open_substream(peer).await.unwrap(); - } - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::NotificationStreamOpenFailure { peer, error } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(error, NotificationError::Rejected); - break; - } - NotificationEvent::NotificationStreamClosed { .. } => break, - event => tracing::error!("unhanled notification event: {event:?}"), - } - } - } -} - -// NOTE: there is a known bug in Substrate where `ProtocolController` opens a connection to the peer -// right after it has been rejected it: -// - https://github.com/paritytech/substrate/issues/13778#issuecomment-1684925132 -// This can cause this test to hang be as `litep2p` thinks it still connected to the peer while in -// fact the peer has disconnected -// -// This needs to fixed in Substrate. -#[tokio::test] -#[ignore] -async fn litep2p_reject_substream() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, mut peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - let litep2p_peer = *litep2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::ConnectionEstablished { .. } => { - peer_store_handle.add_known_peer(PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap()); - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event { - Some(Litep2pEvent::ConnectionClosed { .. }) => break, - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::ValidateSubstream { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_validation_result(peer, ValidationResult::Reject).await; - - tracing::info!("reject substream"); - } - event => tracing::error!("unhanled notification event: {event:?}"), - } - } - } -} - -// NOTE: there is a known bug in Substrate where `ProtocolController` opens a connection to the peer -// right after it has disconnected it: -// - https://github.com/paritytech/substrate/issues/13778#issuecomment-1684925132 -// This can cause this test to fail be as `litep2p` thinks it still connected to the peer while in -// fact the peer has disconnected -// -// TODO: this might have to be fixed on `litep2p` side because in practice nothing should prevent a -// node from disconnecting and reconning right after. -#[tokio::test] -#[ignore] -async fn substrate_close_substream() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, mut peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - let litep2p_peer = *litep2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - let mut libp2p_notification_count = 0; - - loop { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::ConnectionEstablished { .. } => { - peer_store_handle.add_known_peer(PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap()); - } - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolOpen { - peer_id, set_id, negotiated_fallback, received_handshake, notifications_sink, inbound, - }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - assert_eq!(received_handshake, vec![1, 3, 3, 8]); - assert!(negotiated_fallback.is_none()); - assert!(!inbound); - - notifications_sink.reserve_notification().await.unwrap().send(vec![3, 3, 3, 3]).unwrap(); - notifications_sink.send_sync_notification(vec![4, 4, 4, 4]); - } - SwarmEvent::Behaviour(NotificationsOut::Notification { peer_id, set_id, .. }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - - if libp2p_notification_count == 0 { - libp2p_notification_count += 1; - } else { - libp2p_notification_count += 1; - libp2p.behaviour_mut().disconnect_peer(&peer_id, set_id); - } - } - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolClosed { .. }) => { - handle.send_sync_notification( - Litep2pPeerId::from_bytes(&libp2p_peer.to_bytes()).unwrap(), - vec![1 ,2 , 3, 4] - ).unwrap(); - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event.unwrap() { - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::ValidateSubstream { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_validation_result(peer, ValidationResult::Accept).await; - } - NotificationEvent::NotificationStreamOpened { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_sync_notification(peer, vec![1, 1, 1, 1]).unwrap(); - handle.send_async_notification(peer, vec![2, 2, 2, 2]).await.unwrap(); - } - NotificationEvent::NotificationReceived { peer, .. } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - } - NotificationEvent::NotificationStreamClosed { peer } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - break; - } - event => tracing::error!("unhanled notification event: {event:?}"), - } - } - } -} - -// NOTE: Substrate doesn't consider the inbound substream closed as error which would disconnect -// the peer. This is a known bug/annoyance which should be fixed and the protocol should be -// informed if either substream is closed. -// -// This test recreates the current behavior in Substrate whereby the closed connection is detected -// only when the protocol tries to write something to the substream. -#[tokio::test] -async fn litep2p_close_substream() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, mut peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - let litep2p_peer = *litep2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - let mut notif_count = 0; - let mut peerse = None; - - loop { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::ConnectionEstablished { .. } => { - peer_store_handle.add_known_peer(PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap()); - } - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolOpen { - peer_id, set_id, negotiated_fallback, received_handshake, inbound, .. - }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - assert_eq!(received_handshake, vec![1, 3, 3, 8]); - assert!(negotiated_fallback.is_none()); - assert!(!inbound); - } - SwarmEvent::Behaviour(NotificationsOut::Notification { peer_id, set_id, .. }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - - notif_count += 1; - if notif_count == 2 { - handle.close_substream(peerse.unwrap()).await; - } - } - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolClosed { .. }) => { - break; - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event.unwrap() { - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::ValidateSubstream { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_validation_result(peer, ValidationResult::Accept).await; - } - NotificationEvent::NotificationStreamOpened { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_sync_notification(peer, vec![1, 1, 1, 1]).unwrap(); - handle.send_async_notification(peer, vec![2, 2, 2, 2]).await.unwrap(); - peerse = Some(peer); - } - NotificationEvent::NotificationReceived { peer, .. } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - notif_count += 1; - } - NotificationEvent::NotificationStreamClosed { .. } => { - break; - } - event => tracing::error!("unhanled notification event: {event:?}"), - }, - } - } -} - -#[tokio::test] -async fn both_nodes_open_substreams() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, mut peer_store_handle) = initialize_libp2p(1u32, 1u32); - let (mut litep2p, mut handle) = initialize_litep2p().await; - - let libp2p_peer = *libp2p.local_peer_id(); - let litep2p_peer = *litep2p.local_peer_id(); - - let address = litep2p.listen_addresses().next().unwrap().clone(); - libp2p.dial(address).unwrap(); - - let mut libp2p_ready = false; - let mut litep2p_ready = false; - - while !litep2p_ready || !libp2p_ready { - tokio::select! { - event = libp2p.select_next_some() => match event { - SwarmEvent::ConnectionEstablished { .. } => { - peer_store_handle.add_known_peer(PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap()); - tokio::time::sleep(std::time::Duration::from_millis(200)).await; - handle.open_substream(Litep2pPeerId::from_bytes(&libp2p_peer.to_bytes()).unwrap()).await.unwrap(); - } - SwarmEvent::Behaviour(NotificationsOut::CustomProtocolOpen { - peer_id, set_id, negotiated_fallback, received_handshake, .. - }) => { - assert_eq!(peer_id.to_bytes(), litep2p_peer.to_bytes()); - assert_eq!(set_id, SetId::from(0usize)); - assert_eq!(received_handshake, vec![1, 3, 3, 8]); - assert!(negotiated_fallback.is_none()); - - libp2p_ready = true; - } - event => tracing::info!("unhanled libp2p event: {event:?}"), - }, - event = litep2p.next_event() => match event.unwrap() { - event => tracing::info!("unhanled litep2p event: {event:?}"), - }, - event = handle.next() => match event.unwrap() { - NotificationEvent::ValidateSubstream { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - handle.send_validation_result(peer, ValidationResult::Accept).await; - litep2p_ready = true; - } - NotificationEvent::NotificationStreamOpened { protocol, peer, handshake } => { - assert_eq!(protocol, Litep2pProtocol::from("/notif/1")); - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(handshake, vec![1, 3, 3, 7]); - - litep2p_ready = true; - } - event => tracing::error!("unhanled notification event: {event:?}"), - } - } - } -} diff --git a/tests/conformance/substrate/request_response.rs b/tests/conformance/substrate/request_response.rs deleted file mode 100644 index 437dd49dd..000000000 --- a/tests/conformance/substrate/request_response.rs +++ /dev/null @@ -1,434 +0,0 @@ -// Copyright 2023 litep2p developers -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -use futures::{channel::oneshot, stream::FuturesUnordered, StreamExt}; -use libp2p::{ - identity, - swarm::{SwarmBuilder, SwarmEvent}, - PeerId, Swarm, -}; -use litep2p::{ - config::ConfigBuilder, - protocol::request_response::{ - RequestResponseConfig, RequestResponseError, RequestResponseEvent, RequestResponseHandle, - }, - transport::tcp::config::Config as TcpConfig, - Litep2p, Litep2pEvent, -}; -use sc_network::{ - peer_store::PeerStore, - request_responses::{ - IncomingRequest, OutgoingResponse, ProtocolConfig, RequestFailure, - RequestResponsesBehaviour, - }, - types::ProtocolName, - IfDisconnected, OutboundFailure, -}; - -fn initialize_libp2p() -> ( - Swarm, - PeerStore, - async_channel::Receiver, -) { - let local_key = identity::Keypair::generate_ed25519(); - let local_peer_id = PeerId::from(local_key.public()); - let peer_store = PeerStore::new(vec![]); - let peer_store_handle = Box::new(peer_store.handle()); - - let (tx, rx) = async_channel::bounded(64); - let configs = vec![ProtocolConfig { - name: ProtocolName::from("/request/1"), - fallback_names: Vec::new(), - max_request_size: 256, - max_response_size: 2 * 256, - request_timeout: std::time::Duration::from_secs(10), - inbound_queue: Some(tx), - }]; - - let behaviour = RequestResponsesBehaviour::new(configs.into_iter(), peer_store_handle).unwrap(); - - let transport = libp2p::tokio_development_transport(local_key).unwrap(); - let mut swarm = SwarmBuilder::with_tokio_executor(transport, behaviour, local_peer_id).build(); - - swarm.listen_on("/ip6/::1/tcp/0".parse().unwrap()).unwrap(); - - (swarm, peer_store, rx) -} - -async fn initialize_litep2p() -> (Litep2p, RequestResponseHandle) { - let (config, handle) = RequestResponseConfig::new( - litep2p::types::protocol::ProtocolName::from("/request/1"), - 2 * 256, - ); - - let litep2p = Litep2p::new( - ConfigBuilder::new() - .with_tcp(TcpConfig { - listen_address: "/ip6/::1/tcp/0".parse().unwrap(), - yamux_config: Default::default(), - }) - .with_request_response_protocol(config) - .build(), - ) - .await - .unwrap(); - - (litep2p, handle) -} - -#[tokio::test] -async fn request_works() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, peer_store, requests) = initialize_libp2p(); - let (mut litep2p, mut handle) = initialize_litep2p().await; - let address = litep2p.listen_addresses().next().unwrap().clone(); - let litep2p_peer = *litep2p.local_peer_id(); - let libp2p_peer = *libp2p.local_peer_id(); - let mut pending_responses = FuturesUnordered::new(); - - tokio::spawn(peer_store.run()); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => { - match event { - SwarmEvent::NewListenAddr { address, .. } => { - tracing::info!("Listening on {address:?}") - } - event => { - tracing::info!("libp2p: received {event:?}"); - } - } - } - event = litep2p.next_event() => match event.unwrap() { - Litep2pEvent::ConnectionEstablished { peer, .. } => { - // TODO: zzz - tokio::time::sleep(std::time::Duration::from_millis(200)).await; - handle.send_request(peer, vec![0, 1, 2, 3, 4]).await.unwrap(); - } - event => tracing::info!("litep2p: received {event:?}"), - }, - event = handle.next() => match event.unwrap() { - RequestResponseEvent::ResponseReceived { - peer, - request_id, - response, - } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(response, vec![5, 6, 7, 8, 9]); - assert_eq!(request_id, 0usize); - } - RequestResponseEvent::RequestReceived { - peer, - request_id, - request - } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(request, vec![1, 3, 3, 7]); - handle.send_response(request_id, vec![1, 3, 3, 8]).await.unwrap(); - } - event => tracing::warn!("unhandle event: {event:?}"), - }, - request = requests.recv() => match request { - Ok(request) => { - request.pending_response.send(OutgoingResponse { - result: Ok(vec![5, 6, 7, 8, 9]), - reputation_changes: Vec::new(), - sent_feedback: None - }).unwrap(); - - let (tx, rx) = oneshot::channel(); - pending_responses.push(rx); - - libp2p.behaviour_mut().send_request( - &libp2p::PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap(), - "/request/1", - vec![1, 3, 3, 7], - tx, - IfDisconnected::ImmediateError, - ); - } - Err(error) => { - tracing::error!("failed to read reqeuest: {error:?}") - } - }, - event = pending_responses.select_next_some(), if !pending_responses.is_empty() => { - match event { - Ok(response) => { - assert_eq!(response.unwrap(), vec![1, 3, 3, 8]); - break - } - Err(error) => panic!("failed to receive response from peer: {error:?}"), - } - } - _ = tokio::time::sleep(std::time::Duration::from_secs(30)) => { - panic!("failed to receive request in time"); - } - } - } -} - -#[tokio::test] -async fn substrate_reject_request() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, peer_store, requests) = initialize_libp2p(); - let (mut litep2p, mut handle) = initialize_litep2p().await; - let address = litep2p.listen_addresses().next().unwrap().clone(); - let libp2p_peer = *libp2p.local_peer_id(); - - tokio::spawn(peer_store.run()); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => { - match event { - SwarmEvent::NewListenAddr { address, .. } => { - tracing::info!("Listening on {address:?}") - } - event => { - tracing::info!("libp2p: received {event:?}"); - } - } - } - event = litep2p.next_event() => match event.unwrap() { - Litep2pEvent::ConnectionEstablished { peer, .. } => { - // TODO: zzz - tokio::time::sleep(std::time::Duration::from_millis(200)).await; - handle.send_request(peer, vec![0, 1, 2, 3, 4]).await.unwrap(); - } - event => tracing::info!("litep2p: received {event:?}"), - }, - event = handle.next() => match event.unwrap() { - RequestResponseEvent::RequestFailed { peer, error, .. } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(error, RequestResponseError::Rejected); - break; - } - event => tracing::warn!("unhandle event: {event:?}"), - }, - request = requests.recv() => match request { - Ok(request) => { - drop(request); - } - Err(error) => { - tracing::error!("failed to read reqeuest: {error:?}") - } - }, - _ = tokio::time::sleep(std::time::Duration::from_secs(30)) => { - panic!("failed to receive request in time"); - } - } - } -} - -#[tokio::test] -async fn litep2p_reject_request() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, peer_store, _) = initialize_libp2p(); - let (mut litep2p, mut handle) = initialize_litep2p().await; - let address = litep2p.listen_addresses().next().unwrap().clone(); - let litep2p_peer = *litep2p.local_peer_id(); - let mut pending_responses = FuturesUnordered::new(); - - tokio::spawn(peer_store.run()); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => { - match event { - SwarmEvent::NewListenAddr { address, .. } => { - tracing::info!("Listening on {address:?}") - } - SwarmEvent::ConnectionEstablished { .. } => { - let (tx, rx) = oneshot::channel(); - pending_responses.push(rx); - - libp2p.behaviour_mut().send_request( - &libp2p::PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap(), - "/request/1", - vec![1, 3, 3, 7], - tx, - IfDisconnected::ImmediateError, - ); - } - event => { - tracing::info!("libp2p: received {event:?}"); - } - } - } - event = litep2p.next_event() => match event.unwrap() { - event => tracing::info!("litep2p: received {event:?}"), - }, - event = handle.next() => match event.unwrap() { - RequestResponseEvent::RequestReceived { - request_id, - .. - } => { - handle.reject_request(request_id).await; - } - event => tracing::warn!("unhandle event: {event:?}"), - }, - event = pending_responses.select_next_some(), if !pending_responses.is_empty() => { - match event { - Ok(response) => { - assert!(std::matches!(response, Err(RequestFailure::Refused))); - break - } - Err(_) => panic!("failed to read response"), - } - } - _ = tokio::time::sleep(std::time::Duration::from_secs(30)) => { - panic!("failed to receive request in time"); - } - } - } -} - -#[tokio::test] -async fn substrate_request_timeout() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, peer_store, requests) = initialize_libp2p(); - let (mut litep2p, mut handle) = initialize_litep2p().await; - let address = litep2p.listen_addresses().next().unwrap().clone(); - let libp2p_peer = *libp2p.local_peer_id(); - let mut _timeout_request = None; - - tokio::spawn(peer_store.run()); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => { - match event { - SwarmEvent::NewListenAddr { address, .. } => { - tracing::info!("Listening on {address:?}") - } - event => { - tracing::info!("libp2p: received {event:?}"); - } - } - } - event = litep2p.next_event() => match event.unwrap() { - Litep2pEvent::ConnectionEstablished { peer, .. } => { - // TODO: zzz - tokio::time::sleep(std::time::Duration::from_millis(200)).await; - handle.send_request(peer, vec![0, 1, 2, 3, 4]).await.unwrap(); - } - event => tracing::info!("litep2p: received {event:?}"), - }, - event = handle.next() => match event.unwrap() { - RequestResponseEvent::RequestFailed { peer, error, .. } => { - assert_eq!(peer.to_bytes(), libp2p_peer.to_bytes()); - assert_eq!(error, RequestResponseError::Timeout); - break; - } - event => tracing::warn!("unhandle event: {event:?}"), - }, - request = requests.recv() => match request { - Ok(request) => { - _timeout_request = Some(request); - } - Err(error) => { - tracing::error!("failed to read reqeuest: {error:?}") - } - }, - _ = tokio::time::sleep(std::time::Duration::from_secs(30)) => { - panic!("failed to receive request in time"); - } - } - } -} - -#[tokio::test] -async fn litep2p_request_timeout() { - let _ = tracing_subscriber::fmt() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); - - let (mut libp2p, peer_store, _) = initialize_libp2p(); - let (mut litep2p, mut handle) = initialize_litep2p().await; - let address = litep2p.listen_addresses().next().unwrap().clone(); - let litep2p_peer = *litep2p.local_peer_id(); - let mut pending_responses = FuturesUnordered::new(); - - tokio::spawn(peer_store.run()); - libp2p.dial(address).unwrap(); - - loop { - tokio::select! { - event = libp2p.select_next_some() => { - match event { - SwarmEvent::NewListenAddr { address, .. } => { - tracing::info!("Listening on {address:?}") - } - SwarmEvent::ConnectionEstablished { .. } => { - let (tx, rx) = oneshot::channel(); - pending_responses.push(rx); - - libp2p.behaviour_mut().send_request( - &libp2p::PeerId::from_bytes(&litep2p_peer.to_bytes()).unwrap(), - "/request/1", - vec![1, 3, 3, 7], - tx, - IfDisconnected::ImmediateError, - ); - } - event => { - tracing::info!("libp2p: received {event:?}"); - } - } - } - event = litep2p.next_event() => match event.unwrap() { - event => tracing::info!("litep2p: received {event:?}"), - }, - event = handle.next() => match event.unwrap() { - RequestResponseEvent::RequestReceived { .. } => {}, - event => tracing::warn!("unhandle event: {event:?}"), - }, - event = pending_responses.select_next_some(), if !pending_responses.is_empty() => { - match event { - Ok(response) => { - assert!(std::matches!(response, Err(RequestFailure::Network(OutboundFailure::Timeout)))); - break - } - Err(_) => panic!("failed to read response"), - } - } - _ = tokio::time::sleep(std::time::Duration::from_secs(30)) => { - panic!("failed to receive request in time"); - } - } - } -} diff --git a/tests/conformance/substrate/websocket.rs b/tests/conformance/substrate/websocket.rs deleted file mode 100644 index 9d490916b..000000000 --- a/tests/conformance/substrate/websocket.rs +++ /dev/null @@ -1,73 +0,0 @@ -// // Copyright 2023 litep2p developers -// // -// // Permission is hereby granted, free of charge, to any person obtaining a -// // copy of this software and associated documentation files (the "Software"), -// // to deal in the Software without restriction, including without limitation -// // the rights to use, copy, modify, merge, publish, distribute, sublicense, -// // and/or sell copies of the Software, and to permit persons to whom the -// // Software is furnished to do so, subject to the following conditions: -// // -// // The above copyright notice and this permission notice shall be included in -// // all copies or substantial portions of the Software. -// // -// // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// // DEALINGS IN THE SOFTWARE. - -// use litep2p::{ -// config::ConfigBuilder, -// protocol::request_response::types::{Config as RequestResponseConfig, RequestResponseHandle}, -// transport::websocket::config::Config as WebSocketConfig, -// Litep2p, -// }; - -// async fn initialize_litep2p() -> (Litep2p, RequestResponseHandle) { -// let (config, handle) = RequestResponseConfig::new( -// litep2p::types::protocol::ProtocolName::from("/request/1"), -// 64, -// ); - -// let litep2p = Litep2p::new( -// ConfigBuilder::new() -// .with_websocket(WebSocketConfig { -// listen_address: "/ip4/127.0.0.1/tcp/8888/ws".parse().unwrap(), -// }) -// .with_request_response_protocol(config) -// .build(), -// ) -// .await -// .unwrap(); - -// (litep2p, handle) -// } - -// #[tokio::test] -// async fn websocket_works() { -// let _ = tracing_subscriber::fmt() -// .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) -// .try_init(); - -// let (mut litep2p, _handle) = initialize_litep2p().await; - -// tracing::info!("local peer id {}", litep2p.local_peer_id()); - -// litep2p -// .connect("/ip4/127.0.0.1/tcp/30333/ws".parse().unwrap()) -// .await -// .unwrap(); - -// loop { -// tokio::select! { -// event = litep2p.next_event() => { -// tracing::info!("litep2p event: {event:?}"); -// } -// // event = handle.next_event() => { -// // tracing::info!("request-response event: {event:?}"); -// // } -// } -// } -// } diff --git a/tests/protocol/kademlia.rs b/tests/protocol/kademlia.rs index fd6c56be0..21b8d4311 100644 --- a/tests/protocol/kademlia.rs +++ b/tests/protocol/kademlia.rs @@ -32,7 +32,6 @@ use litep2p::{ types::multiaddr::{Multiaddr, Protocol}, Litep2p, PeerId, }; -use sc_network::config::MultiaddrWithPeerId; fn spawn_litep2p(port: u16) { let (kad_config1, _kad_handle1) = KademliaConfigBuilder::new().build(); diff --git a/tests/protocol/request_response.rs b/tests/protocol/request_response.rs index 3d3f2c23f..547ac6a6c 100644 --- a/tests/protocol/request_response.rs +++ b/tests/protocol/request_response.rs @@ -37,7 +37,6 @@ use futures::{channel, StreamExt}; use multiaddr::{Multiaddr, Protocol}; use multihash::Multihash; use rand::{Rng, SeedableRng}; -use rand_xorshift::XorShiftRng; use tokio::time::sleep; #[cfg(feature = "quic")] @@ -2427,10 +2426,7 @@ async fn large_response(transport1: Transport, transport2: Transport) { } }); - // Generate the response first and use a fast insecure RNG to make the test not timeout on - // GitHub CI when generating 15 MB of data. - let mut rng = XorShiftRng::from_rng(rand::thread_rng()).expect("`thread_rng` to seed"); - let response = (0..15 * 1024 * 1024).map(|_| rng.gen::()).collect::>(); + let response: Vec = vec![1; 15 * 1024 * 1024]; let request_id = handle1.try_send_request(peer2, vec![1, 3, 3, 7], DialOptions::Reject).unwrap();