diff --git a/Cargo.lock b/Cargo.lock index 9612b3620e6..13adcadffb3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,6 +36,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array 0.14.7", +] + [[package]] name = "aead" version = "0.4.3" @@ -43,6 +52,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ "generic-array 0.14.7", + "rand_core 0.6.4", ] [[package]] @@ -55,6 +65,17 @@ dependencies = [ "generic-array 0.14.7", ] +[[package]] +name = "aes" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" +dependencies = [ + "aes-soft", + "aesni", + "cipher 0.2.5", +] + [[package]] name = "aes" version = "0.7.5" @@ -106,6 +127,26 @@ dependencies = [ "subtle", ] +[[package]] +name = "aes-soft" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" +dependencies = [ + "cipher 0.2.5", + "opaque-debug 0.3.0", +] + +[[package]] +name = "aesni" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" +dependencies = [ + "cipher 0.2.5", + "opaque-debug 0.3.0", +] + [[package]] name = "ahash" version = "0.7.6" @@ -233,13 +274,177 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df752953c49ce90719c7bf1fc587bc8227aed04732ea0c0f85e5397d7fdbd1a1" dependencies = [ "include_dir", - "itertools", + "itertools 0.10.5", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[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-ed-on-bls12-381-bandersnatch" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[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 0.4.0", + "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-secret-scalar" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=c86ebd4#c86ebd4114d3165d05f9ce28c1d9e8d7a9a4e801" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "ark-transcript", + "digest 0.10.7", + "rand_core 0.6.4", + "zeroize", +] + +[[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 0.8.5", +] + +[[package]] +name = "ark-transcript" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=c86ebd4#c86ebd4114d3165d05f9ce28c1d9e8d7a9a4e801" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "digest 0.10.7", + "rand_core 0.6.4", + "sha3", +] + [[package]] name = "array-bytes" version = "6.1.0" @@ -264,6 +469,73 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "asn1-rs" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" +dependencies = [ + "asn1-rs-derive 0.1.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.25", +] + +[[package]] +name = "asn1-rs" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" +dependencies = [ + "asn1-rs-derive 0.4.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.25", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "assert_cmd" version = "2.0.12" @@ -360,6 +632,12 @@ dependencies = [ "pin-project-lite 0.2.10", ] +[[package]] +name = "atomic-waker" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" + [[package]] name = "atty" version = "0.2.14" @@ -392,12 +670,39 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "bandersnatch_vrfs" +version = "0.0.1" +source = "git+https://github.com/w3f/ring-vrf?rev=c86ebd4#c86ebd4114d3165d05f9ce28c1d9e8d7a9a4e801" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff", + "ark-serialize", + "ark-std", + "dleq_vrf", + "fflonk", + "merlin 3.0.0", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "ring 0.1.0", + "sha2 0.10.7", + "zeroize", +] + [[package]] name = "base-x" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + [[package]] name = "base16ct" version = "0.2.0" @@ -527,7 +832,6 @@ dependencies = [ "cc", "cfg-if", "constant_time_eq 0.3.0", - "digest 0.10.7", ] [[package]] @@ -536,7 +840,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding", + "block-padding 0.1.5", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -560,6 +864,16 @@ dependencies = [ "generic-array 0.14.7", ] +[[package]] +name = "block-modes" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" +dependencies = [ + "block-padding 0.2.1", + "cipher 0.2.5", +] + [[package]] name = "block-padding" version = "0.1.5" @@ -569,6 +883,12 @@ dependencies = [ "byte-tools", ] +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + [[package]] name = "bounded-collections" version = "0.1.8" @@ -587,15 +907,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" -[[package]] -name = "bs58" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" -dependencies = [ - "tinyvec", -] - [[package]] name = "bstr" version = "1.6.0" @@ -714,6 +1025,17 @@ dependencies = [ "libc", ] +[[package]] +name = "ccm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" +dependencies = [ + "aead 0.3.2", + "cipher 0.2.5", + "subtle", +] + [[package]] name = "cexpr" version = "0.6.0" @@ -779,7 +1101,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", - "time", + "time 0.1.45", "wasm-bindgen", "winapi", ] @@ -792,11 +1114,20 @@ checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", - "multihash 0.17.0", + "multihash", "serde", "unsigned-varint", ] +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.7", +] + [[package]] name = "cipher" version = "0.3.0" @@ -908,11 +1239,25 @@ version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b" dependencies = [ - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "unicode-width", ] +[[package]] +name = "common" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#0e948f3c28cbacecdd3020403c4841c0eb339213" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "fflonk", + "merlin 3.0.0", +] + [[package]] name = "common-path" version = "1.0.0" @@ -1115,13 +1460,28 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools", + "itertools 0.10.5", "log", "smallvec", "wasmparser", "wasmtime-types", ] +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + [[package]] name = "crc32fast" version = "1.3.2" @@ -1180,6 +1540,18 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-bigint" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-bigint" version = "0.5.2" @@ -1269,18 +1641,32 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d4ba9852b42210c7538b75484f9daa0655e9a3ac04f693747bb0f02cf3cfe16" +checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2" dependencies = [ "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", "fiat-crypto", - "packed_simd_2", "platforms", + "rustc_version 0.4.0", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + [[package]] name = "cxx" version = "1.0.102" @@ -1325,6 +1711,41 @@ dependencies = [ "syn 2.0.28", ] +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core", + "quote", + "syn 1.0.109", +] + [[package]] name = "data-encoding" version = "2.4.0" @@ -1351,6 +1772,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "der" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + [[package]] name = "der" version = "0.7.7" @@ -1361,14 +1793,90 @@ dependencies = [ "zeroize", ] +[[package]] +name = "der-parser" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" +dependencies = [ + "asn1-rs 0.3.1", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "8.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" +dependencies = [ + "asn1-rs 0.5.2", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" + +[[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.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_builder" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_builder_macro" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" +dependencies = [ + "derive_builder_core", "syn 1.0.109", ] @@ -1460,6 +1968,33 @@ dependencies = [ "winapi", ] +[[package]] +name = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "dleq_vrf" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=c86ebd4#c86ebd4114d3165d05f9ce28c1d9e8d7a9a4e801" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-secret-scalar", + "ark-serialize", + "ark-std", + "ark-transcript", + "arrayvec 0.7.4", + "rand_core 0.6.4", + "zeroize", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -1538,40 +2073,53 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272" +[[package]] +name = "ecdsa" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +dependencies = [ + "der 0.6.1", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", + "signature 1.6.4", +] + [[package]] name = "ecdsa" version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ - "der", + "der 0.7.7", "digest 0.10.7", - "elliptic-curve", - "rfc6979", + "elliptic-curve 0.13.5", + "rfc6979 0.4.0", "signature 2.1.0", - "spki", + "spki 0.7.2", ] [[package]] name = "ed25519" -version = "1.5.3" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" dependencies = [ - "signature 1.6.4", + "pkcs8 0.10.2", + "signature 2.1.0", ] [[package]] name = "ed25519-dalek" -version = "1.0.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.0.0", "ed25519", - "rand 0.7.3", + "rand_core 0.6.4", "serde", - "sha2 0.9.9", + "sha2 0.10.7", "zeroize", ] @@ -1595,21 +2143,43 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +[[package]] +name = "elliptic-curve" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +dependencies = [ + "base16ct 0.1.1", + "crypto-bigint 0.4.9", + "der 0.6.1", + "digest 0.10.7", + "ff 0.12.1", + "generic-array 0.14.7", + "group 0.12.1", + "hkdf", + "pem-rfc7468", + "pkcs8 0.9.0", + "rand_core 0.6.4", + "sec1 0.3.0", + "subtle", + "zeroize", +] + [[package]] name = "elliptic-curve" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" dependencies = [ - "base16ct", - "crypto-bigint", + "base16ct 0.2.0", + "crypto-bigint 0.5.2", "digest 0.10.7", - "ff", + "ff 0.13.0", "generic-array 0.14.7", - "group", - "pkcs8", + "group 0.13.0", + "pkcs8 0.10.2", "rand_core 0.6.4", - "sec1", + "sec1 0.7.3", "subtle", "zeroize", ] @@ -1762,6 +2332,16 @@ dependencies = [ "libc", ] +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "ff" version = "0.13.0" @@ -1772,6 +2352,19 @@ dependencies = [ "subtle", ] +[[package]] +name = "fflonk" +version = "0.1.0" +source = "git+https://github.com/w3f/fflonk#26a5045b24e169cffc1f9328ca83d71061145c40" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "merlin 3.0.0", +] + [[package]] name = "fiat-crypto" version = "0.1.20" @@ -1834,6 +2427,17 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "flate2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +dependencies = [ + "crc32fast", + "libz-sys", + "miniz_oxide", +] + [[package]] name = "float-cmp" version = "0.9.0" @@ -1852,7 +2456,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", ] @@ -1875,7 +2479,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-support-procedural", @@ -1900,7 +2504,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "Inflector", "array-bytes", @@ -1912,7 +2516,7 @@ dependencies = [ "frame-system", "gethostname", "handlebars", - "itertools", + "itertools 0.10.5", "lazy_static", "linked-hash-map", "log", @@ -1948,7 +2552,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -1963,7 +2567,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1974,7 +2578,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1991,11 +2595,12 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", "frame-try-runtime", + "log", "parity-scale-codec", "scale-info", "sp-core", @@ -2020,7 +2625,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-recursion", "futures", @@ -2032,6 +2637,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", + "sp-state-machine", "spinners", "substrate-rpc-client", "tokio", @@ -2041,10 +2647,11 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "aquamarine", "bitflags 1.3.2", + "docify", "environmental", "frame-metadata", "frame-support-procedural", @@ -2066,6 +2673,7 @@ dependencies = [ "sp-genesis-builder", "sp-inherents", "sp-io", + "sp-metadata-ir", "sp-runtime", "sp-staking", "sp-state-machine", @@ -2078,14 +2686,14 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", "expander", "frame-support-procedural-tools", - "itertools", + "itertools 0.10.5", "macro_magic", "proc-macro-warning", "proc-macro2", @@ -2096,7 +2704,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2108,7 +2716,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro2", "quote", @@ -2118,7 +2726,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "cfg-if", "frame-support", @@ -2137,7 +2745,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -2152,7 +2760,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "sp-api", @@ -2161,7 +2769,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "parity-scale-codec", @@ -2285,7 +2893,7 @@ checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", "rustls 0.20.8", - "webpki", + "webpki 0.22.0", ] [[package]] @@ -2435,13 +3043,24 @@ dependencies = [ "regex", ] +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "group" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff", + "ff 0.13.0", "rand_core 0.6.4", "subtle", ] @@ -2545,12 +3164,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hex-literal" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" - [[package]] name = "hkdf" version = "0.12.3" @@ -2694,7 +3307,7 @@ dependencies = [ "rustls-native-certs", "tokio", "tokio-rustls 0.23.4", - "webpki-roots 0.22.6", + "webpki-roots", ] [[package]] @@ -2736,6 +3349,12 @@ dependencies = [ "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.2.3" @@ -2912,6 +3531,25 @@ dependencies = [ "num-traits", ] +[[package]] +name = "interceptor" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" +dependencies = [ + "async-trait", + "bytes", + "log", + "rand 0.8.5", + "rtcp", + "rtp", + "thiserror", + "tokio", + "waitgroup", + "webrtc-srtp", + "webrtc-util", +] + [[package]] name = "intx" version = "0.1.0" @@ -2973,6 +3611,15 @@ 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 = "itoa" version = "1.0.9" @@ -3030,7 +3677,7 @@ dependencies = [ "tokio-rustls 0.23.4", "tokio-util", "tracing", - "webpki-roots 0.22.6", + "webpki-roots", ] [[package]] @@ -3148,8 +3795,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if", - "ecdsa", - "elliptic-curve", + "ecdsa 0.16.8", + "elliptic-curve 0.13.5", "once_cell", "sha2 0.10.7", ] @@ -3166,7 +3813,7 @@ dependencies = [ [[package]] name = "kitchensink-runtime" version = "3.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-benchmarking-pallet-pov", @@ -3334,12 +3981,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - [[package]] name = "libm" version = "0.2.7" @@ -3348,9 +3989,9 @@ checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "libp2p" -version = "0.52.1" +version = "0.51.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38039ba2df4f3255842050845daef4a004cc1f26da03dbc645535088b51910ef" +checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097" dependencies = [ "bytes", "futures", @@ -3368,10 +4009,12 @@ dependencies = [ "libp2p-metrics", "libp2p-noise", "libp2p-ping", + "libp2p-quic", "libp2p-request-response", "libp2p-swarm", "libp2p-tcp", "libp2p-wasm-ext", + "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", "multiaddr", @@ -3380,9 +4023,9 @@ dependencies = [ [[package]] name = "libp2p-allow-block-list" -version = "0.2.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" +checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3392,9 +4035,9 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" -version = "0.2.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" +checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3404,9 +4047,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.40.0" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef7dd7b09e71aac9271c60031d0e558966cdb3253ba0308ab369bb2de80630d0" +checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" dependencies = [ "either", "fnv", @@ -3416,7 +4059,7 @@ dependencies = [ "libp2p-identity", "log", "multiaddr", - "multihash 0.19.0", + "multihash", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -3432,13 +4075,12 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.40.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4394c81c0c06d7b4a60f3face7e8e8a9b246840f98d2c80508d0721b032147" +checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" dependencies = [ "futures", "libp2p-core", - "libp2p-identity", "log", "parking_lot 0.12.1", "smallvec", @@ -3447,9 +4089,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.43.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a29675a32dbcc87790db6cf599709e64308f1ae9d5ecea2d259155889982db8" +checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" dependencies = [ "asynchronous-codec", "either", @@ -3469,14 +4111,15 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38d6012784fe4cc14e6d443eb415b11fc7c456dc15d9f0d90d9b70bc7ac3ec1" +checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" dependencies = [ - "bs58 0.5.0", + "bs58", "ed25519-dalek", "log", - "multihash 0.19.0", + "multiaddr", + "multihash", "quick-protobuf", "rand 0.8.5", "sha2 0.10.7", @@ -3486,9 +4129,9 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.44.3" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2584b0c27f879a1cca4b753fd96874109e5a2f46bd6e30924096456c2ba9b2" +checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" dependencies = [ "arrayvec 0.7.4", "asynchronous-codec", @@ -3514,9 +4157,9 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.44.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a2567c305232f5ef54185e9604579a894fd0674819402bb0ac0246da82f52a" +checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" dependencies = [ "data-encoding", "futures", @@ -3527,7 +4170,7 @@ dependencies = [ "log", "rand 0.8.5", "smallvec", - "socket2 0.5.3", + "socket2 0.4.9", "tokio", "trust-dns-proto", "void", @@ -3535,26 +4178,23 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.13.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3787ea81798dcc5bf1d8b40a8e8245cf894b168d04dd70aa48cb3ff2fff141d2" +checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" dependencies = [ - "instant", "libp2p-core", "libp2p-identify", - "libp2p-identity", "libp2p-kad", "libp2p-ping", "libp2p-swarm", - "once_cell", "prometheus-client", ] [[package]] name = "libp2p-noise" -version = "0.43.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87945db2b3f977af09b62b9aa0a5f3e4870995a577ecd845cdeba94cdf6bbca7" +checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", @@ -3562,8 +4202,6 @@ dependencies = [ "libp2p-core", "libp2p-identity", "log", - "multiaddr", - "multihash 0.19.0", "once_cell", "quick-protobuf", "rand 0.8.5", @@ -3577,27 +4215,48 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.43.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cd5ee3270229443a2b34b27ed0cb7470ef6b4a6e45e54e89a8771fa683bab48" +checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" dependencies = [ "either", "futures", "futures-timer", "instant", "libp2p-core", - "libp2p-identity", "libp2p-swarm", "log", "rand 0.8.5", "void", ] +[[package]] +name = "libp2p-quic" +version = "0.7.0-alpha.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-tls", + "log", + "parking_lot 0.12.1", + "quinn-proto", + "rand 0.8.5", + "rustls 0.20.8", + "thiserror", + "tokio", +] + [[package]] name = "libp2p-request-response" -version = "0.25.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20bd837798cdcce4283d2675f08bcd3756a650d56eab4d4367e1b3f27eed6887" +checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" dependencies = [ "async-trait", "futures", @@ -3605,17 +4264,15 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "log", "rand 0.8.5", "smallvec", - "void", ] [[package]] name = "libp2p-swarm" -version = "0.43.2" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43106820057e0f65c77b01a3873593f66e676da4e40c70c3a809b239109f1d30" +checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" dependencies = [ "either", "fnv", @@ -3626,8 +4283,6 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "multistream-select", - "once_cell", "rand 0.8.5", "smallvec", "tokio", @@ -3636,73 +4291,119 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.33.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" +checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" dependencies = [ "heck", - "proc-macro-warning", - "proc-macro2", "quote", - "syn 2.0.28", + "syn 1.0.109", ] [[package]] name = "libp2p-tcp" -version = "0.40.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bfdfb6f945c5c014b87872a0bdb6e0aef90e92f380ef57cd9013f118f9289d" +checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" dependencies = [ "futures", "futures-timer", "if-watch", "libc", "libp2p-core", - "libp2p-identity", "log", - "socket2 0.5.3", + "socket2 0.4.9", "tokio", ] +[[package]] +name = "libp2p-tls" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" +dependencies = [ + "futures", + "futures-rustls", + "libp2p-core", + "libp2p-identity", + "rcgen 0.10.0", + "ring 0.16.20", + "rustls 0.20.8", + "thiserror", + "webpki 0.22.0", + "x509-parser 0.14.0", + "yasna", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.40.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" +checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" dependencies = [ "futures", "js-sys", "libp2p-core", - "send_wrapper", + "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", ] +[[package]] +name = "libp2p-webrtc" +version = "0.4.0-alpha.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8" +dependencies = [ + "async-trait", + "asynchronous-codec", + "bytes", + "futures", + "futures-timer", + "hex", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-noise", + "log", + "multihash", + "quick-protobuf", + "quick-protobuf-codec", + "rand 0.8.5", + "rcgen 0.9.3", + "serde", + "stun", + "thiserror", + "tinytemplate", + "tokio", + "tokio-util", + "webrtc", +] + [[package]] name = "libp2p-websocket" -version = "0.42.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956d981ebc84abc3377e5875483c06d94ff57bc6b25f725047f9fd52592f72d4" +checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" dependencies = [ "either", "futures", "futures-rustls", "libp2p-core", - "libp2p-identity", "log", "parking_lot 0.12.1", "quicksink", "rw-stream-sink", "soketto", "url", - "webpki-roots 0.23.1", + "webpki-roots", ] [[package]] name = "libp2p-yamux" -version = "0.44.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0a9b42ab6de15c6f076d8fb11dc5f48d899a10b55a2e16b12be9012a05287b0" +checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" dependencies = [ "futures", "libp2p-core", @@ -3984,6 +4685,15 @@ dependencies = [ "rawpointer", ] +[[package]] +name = "md-5" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "memchr" version = "2.5.0" @@ -4008,6 +4718,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.7.1" @@ -4056,6 +4775,18 @@ dependencies = [ "zeroize", ] +[[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" @@ -4085,7 +4816,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "anyhow", "jsonrpsee", @@ -4127,16 +4858,16 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.18.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92a651988b3ed3ad1bc8c87d016bb92f6f395b84ed1db9b926b32b1fc5a2c8b5" +checksum = "2b36f567c7099511fa8612bbbb52dda2419ce0bdbacf31714e3a5ffdb766d3bd" dependencies = [ "arrayref", "byteorder", "data-encoding", - "libp2p-identity", + "log", "multibase", - "multihash 0.19.0", + "multihash", "percent-encoding", "serde", "static_assertions", @@ -4159,46 +4890,17 @@ dependencies = [ name = "multihash" 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 0.8.0", - "sha2 0.10.7", - "sha3", - "unsigned-varint", -] - -[[package]] -name = "multihash" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd59dcc2bbe70baabeac52cd22ae52c55eefe6c38ff11a9439f16a350a939f2" -dependencies = [ - "core2", - "unsigned-varint", -] - -[[package]] -name = "multihash-codetable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46d7ff0b9b8d818e709e12135bfb6582fcde982ba2be48ea52e6e1df098c7a4" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "blake2b_simd", "blake2s_simd", "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.9.0", - "ripemd", - "sha-1 0.10.1", + "multihash-derive", "sha2 0.10.7", "sha3", - "strobe-rs", + "unsigned-varint", ] [[package]] @@ -4215,31 +4917,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "multihash-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" -dependencies = [ - "core2", - "multihash 0.19.0", - "multihash-derive-impl", -] - -[[package]] -name = "multihash-derive-impl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38685e08adb338659871ecfc6ee47ba9b22dcc8abcf6975d379cc49145c3040" -dependencies = [ - "proc-macro-crate", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", -] - [[package]] name = "multimap" version = "0.8.3" @@ -4248,9 +4925,9 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multistream-select" -version = "0.13.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" +checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" dependencies = [ "bytes", "futures", @@ -4371,6 +5048,7 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", + "memoffset 0.6.5", ] [[package]] @@ -4390,7 +5068,7 @@ dependencies = [ [[package]] name = "node-cli" version = "3.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "clap", @@ -4461,7 +5139,7 @@ dependencies = [ [[package]] name = "node-executor" version = "3.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "kitchensink-runtime", @@ -4480,7 +5158,7 @@ dependencies = [ [[package]] name = "node-inspect" version = "0.9.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "clap", "parity-scale-codec", @@ -4496,7 +5174,7 @@ dependencies = [ [[package]] name = "node-primitives" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "sp-core", "sp-runtime", @@ -4505,7 +5183,7 @@ dependencies = [ [[package]] name = "node-rpc" version = "3.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -4654,6 +5332,24 @@ dependencies = [ "memchr", ] +[[package]] +name = "oid-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" +dependencies = [ + "asn1-rs 0.3.1", +] + +[[package]] +name = "oid-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +dependencies = [ + "asn1-rs 0.5.2", +] + [[package]] name = "once_cell" version = "1.18.0" @@ -4679,19 +5375,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "packed_simd_2" -version = "0.3.8" +name = "p256" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ - "cfg-if", - "libm 0.1.4", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.7", +] + +[[package]] +name = "p384" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" +dependencies = [ + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.7", ] [[package]] name = "pallet-alliance" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4711,7 +5419,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4729,7 +5437,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -4744,7 +5452,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4759,7 +5467,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4777,11 +5485,12 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-core", @@ -4792,7 +5501,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -4808,7 +5517,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -4822,7 +5531,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4846,8 +5555,10 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ + "aquamarine", + "docify", "frame-benchmarking", "frame-election-provider-support", "frame-support", @@ -4866,7 +5577,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4881,7 +5592,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4899,7 +5610,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4918,7 +5629,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4935,7 +5646,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "bitflags 1.3.2", "environmental", @@ -4964,7 +5675,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "24.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -4977,7 +5688,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro2", "quote", @@ -4987,7 +5698,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5004,7 +5715,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5022,7 +5733,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5040,7 +5751,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5057,13 +5768,13 @@ dependencies = [ "sp-npos-elections", "sp-runtime", "sp-std", - "strum", + "strum 0.24.1", ] [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5076,7 +5787,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5095,7 +5806,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "docify", "frame-benchmarking", @@ -5114,7 +5825,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "blake2", "frame-benchmarking", @@ -5132,7 +5843,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5155,7 +5866,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5171,7 +5882,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5191,7 +5902,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5208,7 +5919,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5222,7 +5933,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5236,7 +5947,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5253,7 +5964,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "7.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5272,11 +5983,12 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-core", @@ -5289,7 +6001,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5305,7 +6017,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5322,7 +6034,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5340,7 +6052,7 @@ dependencies = [ [[package]] name = "pallet-nfts-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "pallet-nfts", @@ -5351,7 +6063,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5367,7 +6079,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5386,7 +6098,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5406,7 +6118,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -5417,7 +6129,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5434,7 +6146,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5458,7 +6170,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5475,7 +6187,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5490,7 +6202,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5508,7 +6220,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5523,7 +6235,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5541,7 +6253,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5558,7 +6270,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5573,7 +6285,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5591,8 +6303,9 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", @@ -5608,7 +6321,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5622,6 +6335,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", + "sp-state-machine", "sp-std", "sp-trie", ] @@ -5629,13 +6343,14 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-session", "pallet-staking", + "parity-scale-codec", "rand 0.8.5", "sp-runtime", "sp-session", @@ -5645,12 +6360,11 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "hex-literal", "log", "parity-scale-codec", "rand_chacha 0.2.2", @@ -5664,7 +6378,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5686,7 +6400,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5697,7 +6411,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "sp-api", @@ -5706,7 +6420,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5723,7 +6437,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5741,7 +6455,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5756,7 +6470,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5774,7 +6488,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5793,7 +6507,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-support", "frame-system", @@ -5809,7 +6523,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5825,7 +6539,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5837,7 +6551,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5857,7 +6571,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5874,7 +6588,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5889,7 +6603,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5905,7 +6619,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5920,7 +6634,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-benchmarking", "frame-support", @@ -5979,6 +6693,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "parity-send-wrapper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" + [[package]] name = "parity-wasm" version = "0.45.0" @@ -6075,6 +6795,24 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "pem-rfc7468" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.0" @@ -6173,14 +6911,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +dependencies = [ + "der 0.6.1", + "spki 0.6.0", +] + [[package]] name = "pkcs8" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der", - "spki", + "der 0.7.7", + "spki 0.7.2", ] [[package]] @@ -6266,7 +7014,7 @@ checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", - "itertools", + "itertools 0.10.5", "normalize-line-endings", "predicates-core", "regex", @@ -6280,7 +7028,7 @@ checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9" dependencies = [ "anstyle", "difflib", - "itertools", + "itertools 0.10.5", "predicates-core", ] @@ -6410,9 +7158,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.21.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" +checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", @@ -6449,7 +7197,7 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "multimap", @@ -6470,7 +7218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", @@ -6511,9 +7259,9 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" -version = "0.2.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" +checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" dependencies = [ "asynchronous-codec", "bytes", @@ -6533,6 +7281,24 @@ dependencies = [ "pin-project-lite 0.1.12", ] +[[package]] +name = "quinn-proto" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" +dependencies = [ + "bytes", + "rand 0.8.5", + "ring 0.16.20", + "rustc-hash", + "rustls 0.20.8", + "slab", + "thiserror", + "tinyvec", + "tracing", + "webpki 0.22.0", +] + [[package]] name = "quote" version = "1.0.32" @@ -6656,6 +7422,31 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "rcgen" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +dependencies = [ + "pem", + "ring 0.16.20", + "time 0.3.25", + "x509-parser 0.13.2", + "yasna", +] + +[[package]] +name = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring 0.16.20", + "time 0.3.25", + "yasna", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -6771,6 +7562,17 @@ dependencies = [ "quick-error", ] +[[package]] +name = "rfc6979" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" +dependencies = [ + "crypto-bigint 0.4.9", + "hmac 0.12.1", + "zeroize", +] + [[package]] name = "rfc6979" version = "0.4.0" @@ -6781,6 +7583,21 @@ dependencies = [ "subtle", ] +[[package]] +name = "ring" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#0e948f3c28cbacecdd3020403c4841c0eb339213" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "common", + "fflonk", + "merlin 3.0.0", +] + [[package]] name = "ring" version = "0.16.20" @@ -6796,15 +7613,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "rocksdb" version = "0.21.0" @@ -6826,6 +7634,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "rtcp" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" +dependencies = [ + "bytes", + "thiserror", + "webrtc-util", +] + [[package]] name = "rtnetlink" version = "0.10.1" @@ -6851,6 +7670,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "rtp" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" +dependencies = [ + "async-trait", + "bytes", + "rand 0.8.5", + "serde", + "thiserror", + "webrtc-util", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -6887,6 +7720,15 @@ dependencies = [ "semver 1.0.18", ] +[[package]] +name = "rusticata-macros" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +dependencies = [ + "nom", +] + [[package]] name = "rustix" version = "0.36.15" @@ -6928,6 +7770,19 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "rustls" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +dependencies = [ + "base64 0.13.1", + "log", + "ring 0.16.20", + "sct 0.6.1", + "webpki 0.21.4", +] + [[package]] name = "rustls" version = "0.20.8" @@ -6935,9 +7790,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", - "ring", - "sct", - "webpki", + "ring 0.16.20", + "sct 0.7.0", + "webpki 0.22.0", ] [[package]] @@ -6947,9 +7802,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb" dependencies = [ "log", - "ring", - "rustls-webpki 0.101.2", - "sct", + "ring 0.16.20", + "rustls-webpki", + "sct 0.7.0", ] [[package]] @@ -6973,23 +7828,13 @@ dependencies = [ "base64 0.21.2", ] -[[package]] -name = "rustls-webpki" -version = "0.100.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "rustls-webpki" version = "0.101.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59" dependencies = [ - "ring", + "ring 0.16.20", "untrusted", ] @@ -7001,9 +7846,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "rw-stream-sink" -version = "0.4.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" +checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" dependencies = [ "futures", "pin-project", @@ -7046,7 +7891,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "log", "sp-core", @@ -7057,7 +7902,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "futures", @@ -7065,7 +7910,7 @@ dependencies = [ "ip_network", "libp2p", "log", - "multihash-codetable", + "multihash", "parity-scale-codec", "prost", "prost-build", @@ -7085,7 +7930,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "futures", "futures-timer", @@ -7108,7 +7953,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7123,7 +7968,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -7142,7 +7987,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7153,7 +7998,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "chrono", @@ -7192,7 +8037,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "fnv", "futures", @@ -7218,7 +8063,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "hash-db", "kvdb", @@ -7244,7 +8089,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "futures", @@ -7269,7 +8114,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "fork-tree", @@ -7305,7 +8150,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "futures", "jsonrpsee", @@ -7327,7 +8172,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7340,7 +8185,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ahash 0.8.3", "array-bytes", @@ -7381,7 +8226,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "finality-grandpa", "futures", @@ -7401,7 +8246,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "futures", @@ -7424,7 +8269,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -7446,7 +8291,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -7458,7 +8303,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "anyhow", "cfg-if", @@ -7475,7 +8320,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ansi_term", "futures", @@ -7491,7 +8336,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "parking_lot 0.12.1", @@ -7505,7 +8350,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "async-channel", @@ -7518,7 +8363,6 @@ dependencies = [ "futures-timer", "ip_network", "libp2p", - "libp2p-kad", "linked_hash_set", "log", "mockall", @@ -7540,7 +8384,6 @@ dependencies = [ "substrate-prometheus-endpoint", "thiserror", "unsigned-varint", - "void", "wasm-timer", "zeroize", ] @@ -7548,7 +8391,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-channel", "cid", @@ -7568,7 +8411,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -7585,14 +8428,13 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ahash 0.8.3", "futures", "futures-timer", - "libp2p-identity", + "libp2p", "log", - "multiaddr", "sc-network", "sc-network-common", "schnellru", @@ -7604,7 +8446,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "async-channel", @@ -7625,7 +8467,7 @@ dependencies = [ [[package]] name = "sc-network-statement" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "async-channel", @@ -7643,7 +8485,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "async-channel", @@ -7677,7 +8519,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "futures", @@ -7695,7 +8537,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "bytes", @@ -7729,7 +8571,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7738,7 +8580,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "futures", "jsonrpsee", @@ -7769,7 +8611,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7788,7 +8630,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "http", "jsonrpsee", @@ -7803,7 +8645,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", "futures", @@ -7816,6 +8658,7 @@ dependencies = [ "sc-chain-spec", "sc-client-api", "sc-transaction-pool-api", + "sc-utils", "serde", "sp-api", "sp-blockchain", @@ -7823,13 +8666,14 @@ dependencies = [ "sp-runtime", "sp-version", "thiserror", + "tokio", "tokio-stream", ] [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "directories", @@ -7893,7 +8737,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "log", "parity-scale-codec", @@ -7904,7 +8748,7 @@ dependencies = [ [[package]] name = "sc-statement-store" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "log", "parity-db", @@ -7923,7 +8767,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "clap", "fs4", @@ -7937,7 +8781,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7956,7 +8800,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "futures", "libc", @@ -7975,7 +8819,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "chrono", "futures", @@ -7994,7 +8838,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ansi_term", "atty", @@ -8023,7 +8867,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8034,7 +8878,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "futures", @@ -8060,7 +8904,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "futures", @@ -8076,7 +8920,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-channel", "futures", @@ -8144,7 +8988,7 @@ dependencies = [ "arrayvec 0.5.2", "curve25519-dalek 2.1.3", "getrandom 0.1.16", - "merlin", + "merlin 2.0.1", "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", @@ -8164,26 +9008,62 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" +[[package]] +name = "sct" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" +dependencies = [ + "ring 0.16.20", + "untrusted", +] + [[package]] name = "sct" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring", + "ring 0.16.20", "untrusted", ] +[[package]] +name = "sdp" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" +dependencies = [ + "rand 0.8.5", + "substring", + "thiserror", + "url", +] + +[[package]] +name = "sec1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +dependencies = [ + "base16ct 0.1.1", + "der 0.6.1", + "generic-array 0.14.7", + "pkcs8 0.9.0", + "subtle", + "zeroize", +] + [[package]] name = "sec1" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct", - "der", + "base16ct 0.2.0", + "der 0.7.7", "generic-array 0.14.7", - "pkcs8", + "pkcs8 0.10.2", "subtle", "zeroize", ] @@ -8271,12 +9151,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - [[package]] name = "serde" version = "1.0.180" @@ -8331,10 +9205,10 @@ dependencies = [ ] [[package]] -name = "sha-1" -version = "0.10.1" +name = "sha1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if", "cpufeatures", @@ -8416,6 +9290,10 @@ name = "signature" version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] [[package]] name = "signature" @@ -8475,16 +9353,16 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ccba027ba85743e09d15c03296797cad56395089b832b48b5a5217880f57733" +checksum = "0c9d1425eb528a21de2755c75af4c9b5d57f50a0d4c3b7f1828a4cd03f8ba155" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.1", + "curve25519-dalek 4.0.0", "rand_core 0.6.4", - "ring", + "ring 0.16.20", "rustc_version 0.4.0", "sha2 0.10.7", "subtle", @@ -8518,18 +9396,19 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", + "flate2", "futures", "http", "httparse", "log", "rand 0.8.5", - "sha-1 0.9.8", + "sha-1", ] [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "hash-db", "log", @@ -8550,7 +9429,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "Inflector", "blake2", @@ -8564,7 +9443,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "23.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "scale-info", @@ -8577,7 +9456,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "16.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "integer-sqrt", "num-traits", @@ -8591,7 +9470,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "scale-info", @@ -8604,7 +9483,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "sp-api", "sp-inherents", @@ -8615,7 +9494,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "futures", "log", @@ -8633,7 +9512,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "futures", @@ -8648,7 +9527,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "parity-scale-codec", @@ -8665,7 +9544,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "parity-scale-codec", @@ -8684,7 +9563,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "finality-grandpa", "log", @@ -8702,7 +9581,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "scale-info", @@ -8714,13 +9593,15 @@ dependencies = [ [[package]] name = "sp-core" version = "21.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "array-bytes", + "arrayvec 0.7.4", + "bandersnatch_vrfs", "bitflags 1.3.2", "blake2", "bounded-collections", - "bs58 0.4.0", + "bs58", "dyn-clonable", "ed25519-zebra", "futures", @@ -8730,7 +9611,7 @@ dependencies = [ "lazy_static", "libsecp256k1", "log", - "merlin", + "merlin 2.0.1", "parity-scale-codec", "parking_lot 0.12.1", "paste", @@ -8759,7 +9640,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "9.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "blake2b_simd", "byteorder", @@ -8772,7 +9653,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "9.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "quote", "sp-core-hashing", @@ -8782,7 +9663,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -8791,7 +9672,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "proc-macro2", "quote", @@ -8801,7 +9682,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "environmental", "parity-scale-codec", @@ -8812,7 +9693,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "serde_json", "sp-api", @@ -8823,7 +9704,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -8837,10 +9718,9 @@ dependencies = [ [[package]] name = "sp-io" version = "23.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "bytes", - "ed25519", "ed25519-dalek", "libsecp256k1", "log", @@ -8862,18 +9742,18 @@ dependencies = [ [[package]] name = "sp-keyring" version = "24.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "lazy_static", "sp-core", "sp-runtime", - "strum", + "strum 0.24.1", ] [[package]] name = "sp-keystore" version = "0.27.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -8885,7 +9765,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "thiserror", "zstd 0.12.4", @@ -8894,7 +9774,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -8905,7 +9785,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -8923,7 +9803,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "scale-info", @@ -8937,7 +9817,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "sp-api", "sp-core", @@ -8947,7 +9827,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "8.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "backtrace", "lazy_static", @@ -8957,7 +9837,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "rustc-hash", "serde", @@ -8967,7 +9847,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "24.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "either", "hash256-std-hasher", @@ -8989,7 +9869,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9007,7 +9887,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "Inflector", "proc-macro-crate", @@ -9019,7 +9899,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "scale-info", @@ -9034,7 +9914,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9048,7 +9928,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.28.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "hash-db", "log", @@ -9069,10 +9949,10 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "aes-gcm 0.10.2", - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.0.0", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -9087,18 +9967,18 @@ dependencies = [ "sp-runtime-interface", "sp-std", "thiserror", - "x25519-dalek 2.0.0-pre.1", + "x25519-dalek 2.0.0", ] [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9111,7 +9991,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "parity-scale-codec", @@ -9124,7 +10004,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "sp-std", @@ -9136,7 +10016,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "sp-api", "sp-runtime", @@ -9145,7 +10025,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "parity-scale-codec", @@ -9160,7 +10040,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "22.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ahash 0.8.3", "hash-db", @@ -9183,7 +10063,7 @@ dependencies = [ [[package]] name = "sp-version" version = "22.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9200,7 +10080,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "8.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -9211,7 +10091,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9224,7 +10104,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "20.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "parity-scale-codec", "scale-info", @@ -9256,7 +10136,17 @@ checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab" dependencies = [ "lazy_static", "maplit", - "strum", + "strum 0.24.1", +] + +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der 0.6.1", ] [[package]] @@ -9266,7 +10156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", - "der", + "der 0.7.7", ] [[package]] @@ -9324,19 +10214,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "strobe-rs" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "keccak", - "subtle", - "zeroize", -] - [[package]] name = "strsim" version = "0.10.0" @@ -9349,20 +10226,58 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" dependencies = [ - "strum_macros", + "strum_macros 0.24.3", +] + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", ] [[package]] name = "strum_macros" -version = "0.24.3" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" dependencies = [ "heck", "proc-macro2", "quote", "rustversion", - "syn 1.0.109", + "syn 2.0.28", +] + +[[package]] +name = "stun" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" +dependencies = [ + "base64 0.13.1", + "crc", + "lazy_static", + "md-5", + "rand 0.8.5", + "ring 0.16.20", + "subtle", + "thiserror", + "tokio", + "url", + "webrtc-util", ] [[package]] @@ -9381,12 +10296,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" [[package]] name = "substrate-cli-test-utils" version = "0.1.0" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "assert_cmd", "futures", @@ -9404,7 +10319,7 @@ dependencies = [ [[package]] name = "substrate-frame-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "clap", "frame-support", @@ -9417,7 +10332,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -9436,7 +10351,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "hyper", "log", @@ -9448,7 +10363,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "jsonrpsee", @@ -9461,7 +10376,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9478,7 +10393,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "ansi_term", "build-helper", @@ -9486,13 +10401,22 @@ dependencies = [ "filetime", "parity-wasm", "sp-maybe-compressed-blob", - "strum", + "strum 0.24.1", "tempfile", "toml 0.7.6", "walkdir", "wasm-opt", ] +[[package]] +name = "substring" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" +dependencies = [ + "autocfg", +] + [[package]] name = "subtle" version = "2.4.1" @@ -9660,6 +10584,34 @@ dependencies = [ "winapi", ] +[[package]] +name = "time" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" +dependencies = [ + "deranged", + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +dependencies = [ + "time-core", +] + [[package]] name = "tiny-bip39" version = "1.0.0" @@ -9688,6 +10640,16 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -9753,7 +10715,7 @@ checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ "rustls 0.20.8", "tokio", - "webpki", + "webpki 0.22.0", ] [[package]] @@ -10041,7 +11003,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" -version = "0.2.0" +version = "0.3.0" dependencies = [ "clap", "env_logger", @@ -10058,7 +11020,7 @@ dependencies = [ [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#c0ee512525862a63ea079192a0f49d6d25294c4e" +source = "git+https://github.com/paritytech/substrate?branch=master#b7c18f1f5c9dc5c4ffa683e230303f084efe82cb" dependencies = [ "async-trait", "clap", @@ -10093,7 +11055,7 @@ dependencies = [ [[package]] name = "try-runtime-core" -version = "0.2.0" +version = "0.3.0" dependencies = [ "assert_cmd", "async-trait", @@ -10102,6 +11064,7 @@ dependencies = [ "frame-remote-externalities", "frame-try-runtime", "hex", + "itertools 0.11.0", "log", "node-executor", "node-primitives", @@ -10113,15 +11076,23 @@ dependencies = [ "serde", "serde_json", "sp-api", + "sp-consensus-aura", + "sp-consensus-babe", "sp-core", "sp-externalities", + "sp-inherents", "sp-io", "sp-keystore", "sp-rpc", "sp-runtime", "sp-state-machine", + "sp-std", + "sp-timestamp", + "sp-transaction-storage-proof", "sp-version", "sp-weights", + "strum 0.25.0", + "strum_macros 0.25.2", "substrate-cli-test-utils", "substrate-rpc-client", "tempfile", @@ -10135,6 +11106,25 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" +[[package]] +name = "turn" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" +dependencies = [ + "async-trait", + "base64 0.13.1", + "futures", + "log", + "md-5", + "rand 0.8.5", + "ring 0.16.20", + "stun", + "thiserror", + "tokio", + "webrtc-util", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -10259,6 +11249,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +[[package]] +name = "uuid" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +dependencies = [ + "getrandom 0.2.10", +] + [[package]] name = "valuable" version = "0.1.0" @@ -10292,6 +11291,15 @@ dependencies = [ "libc", ] +[[package]] +name = "waitgroup" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" +dependencies = [ + "atomic-waker", +] + [[package]] name = "waker-fn" version = "1.1.0" @@ -10421,14 +11429,14 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.112.0" +version = "0.114.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fef6d0d508f08334e0ab0e6877feb4c0ecb3956bcf2cb950699b22fedf3e9c" +checksum = "4d005a95f934878a1fb446a816d51c3601a0120ff929005ba3bab3c749cfd1c7" dependencies = [ "anyhow", "libc", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "tempfile", "thiserror", "wasm-opt-cxx-sys", @@ -10437,9 +11445,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.112.0" +version = "0.114.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc816bbc1596c8f2e8127e137a760c798023ef3d378f2ae51f0f1840e2dfa445" +checksum = "6d04e240598162810fad3b2e96fa0dec6dba1eb65a03f3bd99a9248ab8b56caa" dependencies = [ "anyhow", "cxx", @@ -10449,9 +11457,9 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.112.0" +version = "0.114.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40199e4f68ef1071b3c6d0bd8026a12b481865d4b9e49c156932ea9a6234dd14" +checksum = "2efd2aaca519d64098c4faefc8b7433a97ed511caf4c9e516384eb6aef1ff4f9" dependencies = [ "anyhow", "cc", @@ -10501,7 +11509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624e6333e861ef49095d2d678b76ebf30b06bf37effca845be7e5b87c90071b7" dependencies = [ "downcast-rs", - "libm 0.2.7", + "libm", "num-traits", "paste", ] @@ -10730,13 +11738,23 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +dependencies = [ + "ring 0.16.20", + "untrusted", +] + [[package]] name = "webpki" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" dependencies = [ - "ring", + "ring 0.16.20", "untrusted", ] @@ -10746,16 +11764,215 @@ version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "webpki", + "webpki 0.22.0", ] [[package]] -name = "webpki-roots" -version = "0.23.1" +name = "webrtc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "hex", + "interceptor", + "lazy_static", + "log", + "rand 0.8.5", + "rcgen 0.9.3", + "regex", + "ring 0.16.20", + "rtcp", + "rtp", + "rustls 0.19.1", + "sdp", + "serde", + "serde_json", + "sha2 0.10.7", + "stun", + "thiserror", + "time 0.3.25", + "tokio", + "turn", + "url", + "waitgroup", + "webrtc-data", + "webrtc-dtls", + "webrtc-ice", + "webrtc-mdns", + "webrtc-media", + "webrtc-sctp", + "webrtc-srtp", + "webrtc-util", +] + +[[package]] +name = "webrtc-data" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" +dependencies = [ + "bytes", + "derive_builder", + "log", + "thiserror", + "tokio", + "webrtc-sctp", + "webrtc-util", +] + +[[package]] +name = "webrtc-dtls" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a00f4242f2db33307347bd5be53263c52a0331c96c14292118c9a6bb48d267" +dependencies = [ + "aes 0.6.0", + "aes-gcm 0.10.2", + "async-trait", + "bincode", + "block-modes", + "byteorder", + "ccm", + "curve25519-dalek 3.2.0", + "der-parser 8.2.0", + "elliptic-curve 0.12.3", + "hkdf", + "hmac 0.12.1", + "log", + "p256", + "p384", + "rand 0.8.5", + "rand_core 0.6.4", + "rcgen 0.10.0", + "ring 0.16.20", + "rustls 0.19.1", + "sec1 0.3.0", + "serde", + "sha1", + "sha2 0.10.7", + "signature 1.6.4", + "subtle", + "thiserror", + "tokio", + "webpki 0.21.4", + "webrtc-util", + "x25519-dalek 2.0.0", + "x509-parser 0.13.2", +] + +[[package]] +name = "webrtc-ice" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80" +dependencies = [ + "arc-swap", + "async-trait", + "crc", + "log", + "rand 0.8.5", + "serde", + "serde_json", + "stun", + "thiserror", + "tokio", + "turn", + "url", + "uuid", + "waitgroup", + "webrtc-mdns", + "webrtc-util", +] + +[[package]] +name = "webrtc-mdns" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" +dependencies = [ + "log", + "socket2 0.4.9", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-media" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f72e1650a8ae006017d1a5280efb49e2610c19ccc3c0905b03b648aee9554991" +dependencies = [ + "byteorder", + "bytes", + "rand 0.8.5", + "rtp", + "thiserror", +] + +[[package]] +name = "webrtc-sctp" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "crc", + "log", + "rand 0.8.5", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-srtp" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" +dependencies = [ + "aead 0.4.3", + "aes 0.7.5", + "aes-gcm 0.9.4", + "async-trait", + "byteorder", + "bytes", + "ctr 0.8.0", + "hmac 0.11.0", + "log", + "rtcp", + "rtp", + "sha-1", + "subtle", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-util" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" +checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" dependencies = [ - "rustls-webpki 0.100.2", + "async-trait", + "bitflags 1.3.2", + "bytes", + "cc", + "ipnet", + "lazy_static", + "libc", + "log", + "nix 0.24.3", + "rand 0.8.5", + "thiserror", + "tokio", + "winapi", ] [[package]] @@ -11041,15 +12258,53 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0-pre.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" +checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" dependencies = [ - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.0.0", "rand_core 0.6.4", + "serde", "zeroize", ] +[[package]] +name = "x509-parser" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" +dependencies = [ + "asn1-rs 0.3.1", + "base64 0.13.1", + "data-encoding", + "der-parser 7.0.0", + "lazy_static", + "nom", + "oid-registry 0.4.0", + "ring 0.16.20", + "rusticata-macros", + "thiserror", + "time 0.3.25", +] + +[[package]] +name = "x509-parser" +version = "0.14.0" +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", + "time 0.3.25", +] + [[package]] name = "yamux" version = "0.10.2" @@ -11064,6 +12319,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time 0.3.25", +] + [[package]] name = "zeroize" version = "1.6.0" diff --git a/Cargo.toml b/Cargo.toml index 6fd9582db81..d45a1eb10b2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ members = [ ] [workspace.package] -version = "0.2.0" +version = "0.3.0" authors = ["Parity Technologies "] description = "Substrate's programmatic testing framework." edition = "2021" @@ -16,17 +16,20 @@ homepage = "https://github.com/paritytech/try-runtime-cli" repository = "https://github.com/paritytech/try-runtime-cli/" [workspace.dependencies] -bytesize = { version = "1.2.0" } assert_cmd = { version = "2.0.10" } async-trait = { version = "0.1.57" } +bytesize = { version = "1.2.0" } clap = { version = "4.0.9" } env_logger = { version = "0.10.0" } hex = { version = "0.4.3", default-features = false } +itertools = { version = "0.11.0" } log = { version = "0.4.17" } parity-scale-codec = { version = "3.6.1" } regex = { version = "1.7.3" } serde = { version = "1.0.136" } serde_json = { version = "1.0.85" } +strum = "0.25" +strum_macros = "0.25" tempfile = { version = "3.1.0" } tokio = { version = "1.27.0" } zstd = { version = "0.11.2", default-features = false } @@ -40,21 +43,27 @@ sc-executor = { git = "https://github.com/paritytech/substrate", branch = "maste sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" } -sp-version = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-transaction-storage-proof = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-version = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-weights = { git = "https://github.com/paritytech/substrate", branch = "master" } -substrate-rpc-client = { git = "https://github.com/paritytech/substrate", branch = "master" } substrate-cli-test-utils = { git = "https://github.com/paritytech/substrate", branch = "master" } +substrate-rpc-client = { git = "https://github.com/paritytech/substrate", branch = "master" } -node-primitives = { git = "https://github.com/paritytech/substrate", branch = "master" } node-executor = { git = "https://github.com/paritytech/substrate", branch = "master" } +node-primitives = { git = "https://github.com/paritytech/substrate", branch = "master" } # Local try-runtime-core = { path = "core" } diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 356c246c711..b90e0c101f8 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -22,8 +22,10 @@ parity-scale-codec = { workspace = true, features = ["derive"] } tokio = { workspace = true, features = ["full"] } sc-executor = { workspace = true } + sp-io = { workspace = true } sp-runtime = { workspace = true } + node-executor = { workspace = true } node-primitives = { workspace = true } diff --git a/cli/main.rs b/cli/main.rs index d8cae1e833f..7f376d66ac5 100644 --- a/cli/main.rs +++ b/cli/main.rs @@ -86,6 +86,8 @@ //! //! * [`Action::OnRuntimeUpgrade`]: execute all the [`OnRuntimeUpgrade`] hooks. //! * [`Action::ExecuteBlock`]: re-execute the given block. +//! * [`Action::FastForward`]: execute [`OnRuntimeUpgrade`] hooks, then fast-forward the chain a +//! given number of blocks while checking try-state invarients. //! * [`Action::OffchainWorker`]: re-execute the given block's offchain worker code path. //! * [`Action::FollowChain`]: continuously execute the blocks of a remote chain on top of a given //! runtime. @@ -292,6 +294,7 @@ //! [`Action::ExecuteBlock`]: ../try_runtime_core/commands/enum.Action.html#variant.ExecuteBlock //! [`Action::OffchainWorker`]: ../try_runtime_core/commands/enum.Action.html#variant.OffchainWorker //! [`Action::CreateSnapshot`]: ../try_runtime_core/commands/enum.Action.html#variant.CreateSnapshot +//! [`Action::FastForward`]: ../try_runtime_core/commands/enum.Action.html#variant.FastForward //! [`SharedParams`]: ../try_runtime_core/shared_parameters/struct.SharedParams.html //! [`SharedParams::runtime`]: ../try_runtime_core/shared_parameters/struct.SharedParams.html#structfield.runtime //! [`SharedParams::overwrite_state_version`]: ../try_runtime_core/shared_parameters/struct.SharedParams.html#structfield.overwrite_state_version diff --git a/core/Cargo.toml b/core/Cargo.toml index 2eb5f3ad416..09cb7847d26 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -17,26 +17,40 @@ async-trait = { workspace = true } bytesize = { workspace = true, features = ["serde"] } clap = { workspace = true, features = ["derive"] } hex = { workspace = true } +itertools = { workspace = true } log = { workspace = true } parity-scale-codec = { workspace = true, features = ["derive"] } serde = { workspace = true } serde_json = { workspace = true } +strum = { workspace = true } +strum_macros = { workspace = true } zstd = { workspace = true } frame-remote-externalities = { workspace = true } frame-try-runtime = { workspace = true, features=["try-runtime"] } + sc-cli = { workspace = true } sc-executor = { workspace = true } + +node-primitives = { workspace = true } + sp-api = { workspace = true } -sp-version = { workspace = true } +sp-consensus-aura = { workspace = true } +sp-consensus-babe = { workspace = true } sp-core = { workspace = true } sp-externalities = { workspace = true } +sp-inherents = { workspace = true } sp-io = { workspace = true } sp-keystore = { workspace = true } -sp-runtime = { workspace = true } sp-rpc = { workspace = true } +sp-runtime = { workspace = true } sp-state-machine = { workspace = true } +sp-std = { workspace = true } +sp-timestamp = { workspace = true } +sp-transaction-storage-proof = { workspace = true } +sp-version = { workspace = true } sp-weights = { workspace = true } + substrate-rpc-client = { workspace = true } [dev-dependencies] @@ -45,7 +59,6 @@ regex = { workspace = true } tempfile = { workspace = true } tokio = { workspace = true } -sc-service = { workspace = true } -node-primitives = { workspace = true } node-executor = { workspace = true } +sc-service = { workspace = true } substrate-cli-test-utils = { workspace = true, features = ["try-runtime"] } diff --git a/core/src/commands/execute_block.rs b/core/src/commands/execute_block.rs index 3886a2d971e..74e64f40512 100644 --- a/core/src/commands/execute_block.rs +++ b/core/src/commands/execute_block.rs @@ -133,7 +133,7 @@ where ) .encode(); - let _ = state_machine_call_with_proof::( + let _ = state_machine_call_with_proof::( &ext, &executor, "TryRuntime_execute_block", diff --git a/core/src/commands/fast_forward.rs b/core/src/commands/fast_forward.rs new file mode 100644 index 00000000000..07758dfb4ae --- /dev/null +++ b/core/src/commands/fast_forward.rs @@ -0,0 +1,303 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use std::{fmt::Debug, str::FromStr}; + +use parity_scale_codec::{Decode, Encode}; +use sc_cli::Result; +use sc_executor::{sp_wasm_interface::HostFunctions, WasmExecutor}; +use serde::de::DeserializeOwned; +use sp_api::HashingFor; +use sp_core::H256; +use sp_inherents::InherentData; +use sp_runtime::{ + traits::{Header, NumberFor, One, Saturating}, + Digest, +}; +use sp_state_machine::TestExternalities; +use substrate_rpc_client::{ws_client, ChainApi}; + +use crate::{ + build_executor, full_extensions, + inherent_provider::{Chain, InherentProvider}, + rpc_err_handler, + state::{LiveState, State}, + state_machine_call, state_machine_call_with_proof, BlockT, SharedParams, +}; + +/// Configuration for [`run`]. +#[derive(Debug, Clone, clap::Parser)] +pub struct Command { + /// How many empty blocks should be processed. + #[arg(long)] + pub n_blocks: u64, + + /// Chain + #[arg(long)] + pub chain: Chain, + + /// The ws uri from which to fetch the block. + /// + /// If `state` is `Live`, this is ignored. Otherwise, it must not be empty. + #[arg(long, value_parser = crate::parse::url)] + pub block_ws_uri: Option, + + /// Which try-state targets to execute when running this command. + /// + /// Expected values: + /// - `all` + /// - `none` + /// - A comma separated list of pallets, as per pallet names in `construct_runtime!()` (e.g. + /// `Staking, System`). + /// - `rr-[x]` where `[x]` is a number. Then, the given number of pallets are checked in a + /// round-robin fashion. + #[arg(long, default_value = "all")] + pub try_state: frame_try_runtime::TryStateSelect, + + /// Whether to run pending migrations before fast-forwarding. + #[arg(long, default_value = "true")] + pub run_migrations: bool, + + /// The state type to use. + #[command(subcommand)] + pub state: State, +} + +impl Command { + fn block_ws_uri(&self) -> &str { + match self.state { + State::Live(LiveState { ref uri, .. }) => uri, + _ => self + .block_ws_uri + .as_ref() + .expect("Either `--block-uri` must be provided, or state must be `live`"), + } + } +} + +/// Read the block number corresponding to `hash` with an RPC call to `ws_uri`. +async fn get_block_number( + hash: Block::Hash, + ws_uri: &str, +) -> Result> +where + Block::Header: DeserializeOwned, +{ + let rpc = ws_client(ws_uri).await?; + Ok( + ChainApi::<(), Block::Hash, Block::Header, ()>::header(&rpc, Some(hash)) + .await + .map_err(rpc_err_handler) + .and_then(|maybe_header| maybe_header.ok_or("header_not_found").map(|h| *h.number()))?, + ) +} + +/// Call `method` with `data` and return the result. `externalities` will not change. +fn dry_call( + externalities: &TestExternalities>, + executor: &WasmExecutor, + method: &'static str, + data: &[u8], +) -> Result { + let (_, result) = state_machine_call::( + externalities, + executor, + method, + data, + full_extensions(executor.clone()), + )?; + + Ok(::decode(&mut &*result)?) +} + +/// Call `method` with `data` and actually save storage changes to `externalities`. +async fn call( + externalities: &mut TestExternalities>, + executor: &WasmExecutor, + method: &'static str, + data: &[u8], +) -> Result<()> { + let (mut changes, _) = state_machine_call::( + externalities, + executor, + method, + data, + full_extensions(executor.clone()), + )?; + + let storage_changes = + changes.drain_storage_changes(&externalities.backend, externalities.state_version)?; + + externalities.backend.apply_transaction( + storage_changes.transaction_storage_root, + storage_changes.transaction, + ); + + Ok(()) +} + +/// Produces next block containing only inherents. +async fn produce_next_block( + externalities: &mut TestExternalities>, + executor: &WasmExecutor, + parent_height: NumberFor, + parent_hash: Block::Hash, + inherent_provider: &dyn InherentProvider, + previous_block_building_info: Option<(InherentData, Digest)>, +) -> Result<(Block, Option<(InherentData, Digest)>)> { + let (inherent_data_provider, pre_digest) = + inherent_provider.get_inherent_providers_and_pre_digest(previous_block_building_info)?; + + let inherent_data = inherent_data_provider + .create_inherent_data() + .await + .map_err(|s| sc_cli::Error::Input(s.to_string()))?; + let digest = Digest { logs: pre_digest }; + + let header = Block::Header::new( + parent_height + One::one(), + Default::default(), + Default::default(), + parent_hash, + digest.clone(), + ); + + call::( + externalities, + executor, + "Core_initialize_block", + &header.encode(), + ) + .await?; + + let extrinsics = dry_call::, Block, _>( + externalities, + executor, + "BlockBuilder_inherent_extrinsics", + &inherent_data.encode(), + )?; + + for xt in &extrinsics { + call::( + externalities, + executor, + "BlockBuilder_apply_extrinsic", + &xt.encode(), + ) + .await?; + } + + let header = dry_call::( + externalities, + executor, + "BlockBuilder_finalize_block", + &[0u8; 0], + )?; + + call::( + externalities, + executor, + "BlockBuilder_finalize_block", + &[0u8; 0], + ) + .await?; + + Ok(( + Block::new(header, extrinsics), + Some((inherent_data, digest)), + )) +} + +pub async fn run(shared: SharedParams, command: Command) -> Result<()> +where + Block: BlockT + DeserializeOwned, + Block::Header: DeserializeOwned, + ::Err: Debug, + NumberFor: FromStr, + as FromStr>::Err: Debug, + HostFns: HostFunctions, +{ + let executor = build_executor::(&shared); + let ext = command + .state + .to_ext::(&shared, &executor, None, true) + .await?; + + if command.run_migrations { + log::info!("Running migrations..."); + state_machine_call_with_proof::( + &ext, + &executor, + "TryRuntime_on_runtime_upgrade", + command.try_state.encode().as_ref(), + Default::default(), // we don't really need any extensions here. + None, + )?; + } + + log::info!("Fast forwarding {} blocks...", command.n_blocks); + let mut last_block_hash = ext.block_hash; + let mut last_block_number = + get_block_number::(last_block_hash, command.block_ws_uri()).await?; + let mut prev_block_building_info = None; + + let mut ext = ext.inner_ext; + + for _ in 1..=command.n_blocks { + // We are saving state before we overwrite it while producing new block. + let backend = ext.as_backend(); + + log::info!( + "Producing new empty block at height {:?}", + last_block_number + One::one() + ); + + let (next_block, new_block_building_info) = produce_next_block::( + &mut ext, + &executor, + last_block_number, + last_block_hash, + &command.chain, + prev_block_building_info, + ) + .await?; + + log::info!("Produced a new block: {:?}", next_block.header()); + + // And now we restore previous state. + ext.backend = backend; + + let state_root_check = true; + let signature_check = true; + let payload = ( + next_block.clone(), + state_root_check, + signature_check, + command.try_state.clone(), + ) + .encode(); + call::(&mut ext, &executor, "TryRuntime_execute_block", &payload).await?; + + log::info!("Executed the new block"); + + prev_block_building_info = new_block_building_info; + last_block_hash = next_block.hash(); + last_block_number.saturating_inc(); + } + + Ok(()) +} diff --git a/core/src/commands/follow_chain.rs b/core/src/commands/follow_chain.rs index 8e0e01652bc..0726c7b21c2 100644 --- a/core/src/commands/follow_chain.rs +++ b/core/src/commands/follow_chain.rs @@ -151,7 +151,7 @@ where .as_mut() .expect("state_ext either existed or was just created"); - let result = state_machine_call_with_proof::( + let result = state_machine_call_with_proof::( state_ext, &executor, "TryRuntime_execute_block", @@ -185,7 +185,6 @@ where let storage_changes = changes .drain_storage_changes( &state_ext.backend, - &mut Default::default(), // Note that in case a block contains a runtime upgrade, state version could // potentially be incorrect here, this is very niche and would only result in // unaligned roots, so this use case is ignored for now. diff --git a/core/src/commands/mod.rs b/core/src/commands/mod.rs index 2abec0cf2a5..98853b98d88 100644 --- a/core/src/commands/mod.rs +++ b/core/src/commands/mod.rs @@ -28,6 +28,7 @@ use crate::shared_parameters::SharedParams; pub mod create_snapshot; pub mod execute_block; +pub mod fast_forward; pub mod follow_chain; pub mod offchain_worker; pub mod on_runtime_upgrade; @@ -119,12 +120,20 @@ pub enum Action { /// /// 1. Create a snapshot from a remote node: /// - /// try-runtime create-snapshot --uri my_state.snap + /// try-runtime create-snapshot --uri ws://remote-node-uri my_state.snap /// /// 2. Utilize the snapshot with `on-runtime-upgrade`: /// /// try-runtime --runtime ./path/to/runtime.wasm on-runtime-upgrade snap --path my_state.snap CreateSnapshot(create_snapshot::Command), + + /// Executes a runtime upgrade (optional), then mines a number of blocks while performing + /// try-state checks. + /// + /// The try-state checks are performed using the `TryRuntime_execute_block` runtime api. + /// + /// See [`TryRuntime`] and [`fast_forward::Command`] for more information. + FastForward(fast_forward::Command), } impl Action { @@ -155,6 +164,9 @@ impl Action { Action::CreateSnapshot(cmd) => { create_snapshot::run::(shared.clone(), cmd.clone()).await } + Action::FastForward(cmd) => { + fast_forward::run::(shared.clone(), cmd.clone()).await + } } } } diff --git a/core/src/commands/offchain_worker.rs b/core/src/commands/offchain_worker.rs index 6ec662c0c26..dec68605368 100644 --- a/core/src/commands/offchain_worker.rs +++ b/core/src/commands/offchain_worker.rs @@ -93,7 +93,7 @@ where .map(|maybe_header| maybe_header.ok_or("Header does not exist"))??; let payload = header.encode(); - let _ = state_machine_call::( + let _ = state_machine_call::( &ext, &executor, "OffchainWorkerApi_offchain_worker", diff --git a/core/src/commands/on_runtime_upgrade.rs b/core/src/commands/on_runtime_upgrade.rs index 5287c50014d..9a80c44efad 100644 --- a/core/src/commands/on_runtime_upgrade.rs +++ b/core/src/commands/on_runtime_upgrade.rs @@ -21,7 +21,8 @@ use bytesize::ByteSize; use frame_try_runtime::UpgradeCheckSelect; use parity_scale_codec::Encode; use sc_executor::sp_wasm_interface::HostFunctions; -use sp_core::{hexdisplay::HexDisplay, H256}; +use sp_api::HashingFor; +use sp_core::{hexdisplay::HexDisplay, Hasher}; use sp_runtime::traits::{Block as BlockT, NumberFor}; use sp_state_machine::{CompactProof, StorageProof}; @@ -87,7 +88,7 @@ where } let pre_root = ext.backend.root(); - let (_, proof, ref_time_results) = state_machine_call_with_proof::( + let (_, proof, ref_time_results) = state_machine_call_with_proof::( &ext, &executor, "TryRuntime_on_runtime_upgrade", @@ -96,7 +97,7 @@ where shared.export_proof, )?; - let pov_safety = analyse_pov(proof, *pre_root, command.no_weight_warnings); + let pov_safety = analyse_pov::>(proof, *pre_root, command.no_weight_warnings); let ref_time_safety = analyse_ref_time(ref_time_results, command.no_weight_warnings); match (pov_safety, ref_time_safety, command.no_weight_warnings) { @@ -134,11 +135,14 @@ const DEFAULT_MAX_POV_SIZE: ByteSize = ByteSize::mb(5); const DEFAULT_WARNING_THRESHOLD: f32 = 0.8; /// Analyse the given ref_times and return if there is a potential weight safety issue. -fn analyse_pov(proof: StorageProof, pre_root: H256, no_weight_warnings: bool) -> WeightSafety { +fn analyse_pov(proof: StorageProof, pre_root: H::Out, no_weight_warnings: bool) -> WeightSafety +where + H: Hasher, +{ let encoded_proof_size = proof.encoded_size(); let compact_proof = proof .clone() - .into_compact_proof::(pre_root) + .into_compact_proof::(pre_root) .map_err(|e| { log::error!(target: LOG_TARGET, "failed to generate compact proof: {:?}", e); e diff --git a/core/src/inherent_provider.rs b/core/src/inherent_provider.rs new file mode 100644 index 00000000000..6d6873fee15 --- /dev/null +++ b/core/src/inherent_provider.rs @@ -0,0 +1,226 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +//! TODO: Docs + +use std::{str::FromStr, time::Duration}; + +use itertools::Itertools; +use parity_scale_codec::Encode; +use sp_consensus_aura::{Slot, SlotDuration, AURA_ENGINE_ID}; +use sp_consensus_babe::{ + digests::{PreDigest, SecondaryPlainPreDigest}, + BABE_ENGINE_ID, +}; +use sp_inherents::InherentData; +use sp_runtime::{Digest, DigestItem}; +use sp_std::prelude::*; +use sp_timestamp::TimestampInherentData; +use strum::IntoEnumIterator; +use strum_macros::{Display, EnumIter}; + +/// Trait for providing the inherent data and digest items for block construction. +pub trait InherentProvider { + type Err; + + fn get_inherent_providers_and_pre_digest( + &self, + maybe_prev_info: Option<(InherentData, Digest)>, + ) -> InherentProviderResult; +} + +// Clippy asks that we abstract the return type because it's so long +type InherentProviderResult = + Result<(Box, Vec), Err>; + +/// Chains that have [`InherentProvider`] implemented. +#[derive(Debug, Clone, clap::Parser, EnumIter, Display)] +pub enum Chain { + // Relay chains + Polkadot, + Kusama, + Rococo, + Westend, + + // Parachains + AlephZero, + + // Development chains + SubstrateNodeTemplate, + SubstrateKitchenSink, +} + +/// Implement FromStr so chain can be parsed as a CLI argument. +impl FromStr for Chain { + type Err = String; + + fn from_str(s: &str) -> Result { + for chain in Chain::iter() { + if chain.to_string().to_lowercase() == s.to_lowercase() { + return Ok(chain); + } + } + + // Clap error message already includes "Invalid value {s} for --chain " + // This error will be logged after, so the user knows what the valid values are. + Err(format!( + "\nValid CHAIN values:\n{}\n{}", + Chain::iter().map(|s| format!("- {}", s)).join("\n"), + "Don't see your chain? Open a PR adding it to `inherent_provider.rs` on Github: https://github.com/paritytech/try-runtime-cli" + )) + } +} + +impl InherentProvider for Chain { + type Err = String; + + fn get_inherent_providers_and_pre_digest( + &self, + maybe_prev_info: Option<(InherentData, Digest)>, + ) -> InherentProviderResult { + match *self { + // Relay chains + Chain::Polkadot | Chain::Kusama | Chain::Rococo | Chain::Westend => { + TimestampWithBabeInfoInherentProvider { + blocktime: Duration::from_secs(6), + } + .get_inherent_providers_and_pre_digest(maybe_prev_info) + } + + // Parachains + Chain::AlephZero => TimestampWithAuraInfoInherentProvider { + blocktime: Duration::from_secs(6), + } + .get_inherent_providers_and_pre_digest(maybe_prev_info), + + // Development chains + Chain::SubstrateNodeTemplate => TimestampWithAuraInfoInherentProvider { + blocktime: Duration::from_secs(6), + } + .get_inherent_providers_and_pre_digest(maybe_prev_info), + Chain::SubstrateKitchenSink => SubstrateInherentProvider { + blocktime: Duration::from_secs(6), + } + .get_inherent_providers_and_pre_digest(maybe_prev_info), + } + } +} + +struct SubstrateInherentProvider { + pub blocktime: Duration, +} + +impl InherentProvider for SubstrateInherentProvider { + type Err = String; + + fn get_inherent_providers_and_pre_digest( + &self, + maybe_prev_info: Option<(InherentData, Digest)>, + ) -> Result<(Box, Vec), Self::Err> { + let blocktime_millis = self.blocktime.as_millis() as u64; + + let timestamp_idp = match maybe_prev_info { + Some((inherent_data, _)) => sp_timestamp::InherentDataProvider::new( + inherent_data.timestamp_inherent_data().unwrap().unwrap() + blocktime_millis, + ), + None => sp_timestamp::InherentDataProvider::from_system_time(), + }; + + let slot = + Slot::from_timestamp(*timestamp_idp, SlotDuration::from_millis(blocktime_millis)); + let slot_idp = sp_consensus_babe::inherents::InherentDataProvider::new(slot); + + let storage_proof_idp = sp_transaction_storage_proof::InherentDataProvider::new(None); + + let digest = vec![DigestItem::PreRuntime( + BABE_ENGINE_ID, + PreDigest::SecondaryPlain(SecondaryPlainPreDigest { + slot, + authority_index: 0, + }) + .encode(), + )]; + + Ok(( + Box::new((slot_idp, timestamp_idp, storage_proof_idp)), + digest, + )) + } +} + +struct TimestampWithAuraInfoInherentProvider { + blocktime: Duration, +} + +impl InherentProvider for TimestampWithAuraInfoInherentProvider { + type Err = String; + + fn get_inherent_providers_and_pre_digest( + &self, + maybe_prev_info: Option<(InherentData, Digest)>, + ) -> Result<(Box, Vec), Self::Err> { + let blocktime_millis = self.blocktime.as_millis() as u64; + + let timestamp_idp = match maybe_prev_info { + Some((inherent_data, _)) => sp_timestamp::InherentDataProvider::new( + inherent_data.timestamp_inherent_data().unwrap().unwrap() + blocktime_millis, + ), + None => sp_timestamp::InherentDataProvider::from_system_time(), + }; + let slot = + Slot::from_timestamp(*timestamp_idp, SlotDuration::from_millis(blocktime_millis)); + let digest = vec![DigestItem::PreRuntime(AURA_ENGINE_ID, slot.encode())]; + + Ok((Box::new(timestamp_idp), digest)) + } +} + +struct TimestampWithBabeInfoInherentProvider { + blocktime: Duration, +} + +impl InherentProvider for TimestampWithBabeInfoInherentProvider { + type Err = String; + + fn get_inherent_providers_and_pre_digest( + &self, + maybe_prev_info: Option<(InherentData, Digest)>, + ) -> Result<(Box, Vec), Self::Err> { + let blocktime_millis = self.blocktime.as_millis() as u64; + + let timestamp_idp = match maybe_prev_info { + Some((inherent_data, _)) => sp_timestamp::InherentDataProvider::new( + inherent_data.timestamp_inherent_data().unwrap().unwrap() + blocktime_millis, + ), + None => sp_timestamp::InherentDataProvider::from_system_time(), + }; + + let slot = + Slot::from_timestamp(*timestamp_idp, SlotDuration::from_millis(blocktime_millis)); + let slot_idp = sp_consensus_babe::inherents::InherentDataProvider::new(slot); + + let digest = vec![DigestItem::PreRuntime( + BABE_ENGINE_ID, + PreDigest::SecondaryPlain(SecondaryPlainPreDigest { + slot, + authority_index: 0, + }) + .encode(), + )]; + + Ok((Box::new((slot_idp, timestamp_idp)), digest)) + } +} diff --git a/core/src/lib.rs b/core/src/lib.rs index ea534fd394a..7b3efe09b0d 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -17,12 +17,12 @@ use std::{fmt::Debug, path::PathBuf, str::FromStr, time::Duration}; -use frame_remote_externalities::TestExternalities; use parity_scale_codec::{Decode, DecodeAll}; use sc_cli::{execution_method_from_cli, RuntimeVersion}; use sc_executor::{ sp_wasm_interface::HostFunctions, HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY, }; +use sp_api::HashingFor; use sp_core::{ offchain::{ testing::{TestOffchainExt, TestTransactionPoolExt}, @@ -34,12 +34,15 @@ use sp_core::{ use sp_externalities::Extensions; use sp_keystore::{testing::MemoryKeystore, KeystoreExt}; use sp_runtime::traits::Block as BlockT; -use sp_state_machine::{OverlayedChanges, StateMachine, StorageProof, TrieBackendBuilder}; +use sp_state_machine::{ + OverlayedChanges, StateMachine, StorageProof, TestExternalities, TrieBackendBuilder, +}; use sp_weights::Weight; use crate::shared_parameters::SharedParams; pub mod commands; +pub mod inherent_provider; mod parse; pub mod shared_parameters; pub mod state; @@ -78,7 +81,7 @@ pub(crate) fn build_executor(shared: &SharedParams) -> WasmExe /// Ensure that the given `ext` is compiled with `try-runtime` fn ensure_try_runtime( executor: &WasmExecutor, - ext: &mut TestExternalities, + ext: &mut TestExternalities>, ) -> bool { use sp_api::RuntimeApiInfo; let final_code = ext @@ -97,13 +100,13 @@ fn ensure_try_runtime( /// Execute the given `method` and `data` on top of `ext`, returning the results (encoded) and the /// state `changes`. -pub(crate) fn state_machine_call( - ext: &TestExternalities, +pub(crate) fn state_machine_call( + ext: &TestExternalities>, executor: &WasmExecutor, method: &'static str, data: &[u8], mut extensions: Extensions, -) -> sc_cli::Result<(OverlayedChanges, Vec)> { +) -> sc_cli::Result<(OverlayedChanges>, Vec)> { let mut changes = Default::default(); let encoded_result = StateMachine::new( &ext.backend, @@ -131,14 +134,18 @@ pub struct RefTimeInfo { /// information. /// /// Make sure [`LOG_TARGET`] is enabled in logging. -pub(crate) fn state_machine_call_with_proof( - ext: &TestExternalities, +pub(crate) fn state_machine_call_with_proof( + ext: &TestExternalities>, executor: &WasmExecutor, method: &'static str, data: &[u8], mut extensions: Extensions, maybe_export_proof: Option, -) -> sc_cli::Result<(OverlayedChanges, StorageProof, RefTimeInfo)> { +) -> sc_cli::Result<( + OverlayedChanges>, + StorageProof, + RefTimeInfo, +)> { let mut changes = Default::default(); let backend = ext.backend.clone(); let runtime_code_backend = sp_state_machine::backend::BackendRuntimeCode::new(&backend); diff --git a/core/tests/create_snapshot.rs b/core/tests/create_snapshot.rs index b950bf94854..a6985165af5 100644 --- a/core/tests/create_snapshot.rs +++ b/core/tests/create_snapshot.rs @@ -99,7 +99,8 @@ async fn create_snapshot_works() { assert!( snapshot_loading_result.is_ok(), - "Snapshot couldn't be loaded" + "Snapshot couldn't be loaded: {:?}", + snapshot_loading_result.err().unwrap() ); }) .await;