diff --git a/Cargo.lock b/Cargo.lock index 4218320fff..406f22f300 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,6 +55,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "aead" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8" +dependencies = [ + "crypto-common", + "generic-array 0.14.6", +] + [[package]] name = "aes" version = "0.6.0" @@ -79,17 +89,14 @@ dependencies = [ ] [[package]] -name = "aes-gcm" -version = "0.8.0" +name = "aes" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ - "aead 0.3.2", - "aes 0.6.0", - "cipher 0.2.5", - "ctr 0.6.0", - "ghash 0.3.1", - "subtle", + "cfg-if", + "cipher 0.4.4", + "cpufeatures", ] [[package]] @@ -106,6 +113,20 @@ dependencies = [ "subtle", ] +[[package]] +name = "aes-gcm" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" +dependencies = [ + "aead 0.5.1", + "aes 0.8.2", + "cipher 0.4.4", + "ctr 0.9.2", + "ghash 0.5.0", + "subtle", +] + [[package]] name = "aes-soft" version = "0.6.4" @@ -137,6 +158,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -193,9 +226,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.69" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" +checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" [[package]] name = "approx" @@ -255,14 +288,14 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] name = "asn1-rs" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ "asn1-rs-derive 0.4.0", "asn1-rs-impl", @@ -271,7 +304,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -282,7 +315,7 @@ checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "synstructure", ] @@ -294,7 +327,7 @@ checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "synstructure", ] @@ -306,7 +339,7 @@ checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -343,23 +376,22 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" dependencies = [ "event-listener", - "futures-lite", ] [[package]] name = "async-trait" -version = "0.1.64" +version = "0.1.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" +checksum = "86ea188f25f0255d8f92797797c97ebf5631fa88178beb1a46fdf5622c9a00e4" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.3", ] [[package]] @@ -460,9 +492,9 @@ checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "base64ct" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "beef" @@ -476,7 +508,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -510,7 +542,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "beefy-gadget", "futures", @@ -529,7 +561,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sp-api", "sp-beefy", @@ -551,7 +583,7 @@ version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", @@ -562,7 +594,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn", + "syn 1.0.109", ] [[package]] @@ -596,6 +628,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487f1e0fcbe47deb8b0574e646def1c903389d95241dd1bbcc6ce4a715dfc0c1" + [[package]] name = "bitvec" version = "1.0.1" @@ -676,9 +714,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array 0.14.6", ] @@ -725,9 +763,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" +checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09" dependencies = [ "memchr", "serde", @@ -835,9 +873,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" +checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" dependencies = [ "serde", ] @@ -859,7 +897,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.16", + "semver 1.0.17", "serde", "serde_json", ] @@ -941,9 +979,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" dependencies = [ "iana-time-zone", "js-sys", @@ -962,7 +1000,7 @@ checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.16.3", "serde", "unsigned-varint", ] @@ -985,6 +1023,16 @@ dependencies = [ "generic-array 0.14.6", ] +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + [[package]] name = "ckb-merkle-mountain-range" version = "0.5.2" @@ -996,9 +1044,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" dependencies = [ "glob", "libc", @@ -1007,11 +1055,11 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.6" +version = "4.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" +checksum = "42dfd32784433290c51d92c438bb72ea5063797fc3cc9a21a8c4346bebbb2098" dependencies = [ - "bitflags", + "bitflags 2.0.2", "clap_derive", "clap_lex", "is-terminal", @@ -1022,22 +1070,22 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "fddf67631444a3a3e3e5ac51c36a5e01335302de677bd78759eaa90ab1f46644" dependencies = [ "heck", "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +checksum = "033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646" dependencies = [ "os_str_bytes", ] @@ -1069,14 +1117,14 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "coarsetime" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "454038500439e141804c655b4cd1bc6a70bcb95cd2bc9463af5661b6956f0e46" +checksum = "a90d114103adbc625300f346d4d09dfb4ab1c4a8df6868435dd903392ecf4354" dependencies = [ "libc", "once_cell", @@ -1142,15 +1190,15 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "constant_time_eq" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" +checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" [[package]] name = "convert_case" @@ -1211,12 +1259,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - [[package]] name = "cranelift-bforest" version = "0.88.2" @@ -1341,9 +1383,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" dependencies = [ "cfg-if", "crossbeam-utils", @@ -1351,9 +1393,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -1362,14 +1404,14 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" dependencies = [ "autocfg 1.1.0", "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", + "memoffset 0.8.0", "scopeguard", ] @@ -1385,9 +1427,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" dependencies = [ "cfg-if", ] @@ -1417,6 +1459,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.6", + "rand_core 0.6.4", "typenum", ] @@ -1430,16 +1473,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "crypto-mac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" -dependencies = [ - "generic-array 0.14.6", - "subtle", -] - [[package]] name = "crypto-mac" version = "0.11.1" @@ -1457,31 +1490,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" dependencies = [ "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "ctr" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.2.5", + "cipher 0.3.0", ] [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.3.0", + "cipher 0.4.4", ] [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "clap", "parity-scale-codec", @@ -1496,7 +1529,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1519,7 +1552,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1548,7 +1581,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1571,7 +1604,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1594,7 +1627,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1617,7 +1650,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1640,7 +1673,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1668,7 +1701,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "frame-support", "frame-system", @@ -1684,7 +1717,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1701,7 +1734,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1724,23 +1757,24 @@ dependencies = [ "sp-std", "sp-trie", "sp-version", + "xcm", ] [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1756,15 +1790,17 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "log", "parity-scale-codec", + "polkadot-runtime-common", "rand_chacha 0.3.1", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1774,7 +1810,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1784,12 +1820,13 @@ dependencies = [ "sp-runtime", "sp-std", "sp-trie", + "xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1812,7 +1849,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "futures", @@ -1825,12 +1862,14 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", "log", "parity-scale-codec", + "polkadot-runtime-common", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1841,7 +1880,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1866,7 +1905,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1874,7 +1913,6 @@ dependencies = [ "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "polkadot-service", "sc-client-api", "sp-api", "sp-blockchain", @@ -1886,7 +1924,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "array-bytes 6.0.0", "async-trait", @@ -1894,7 +1932,7 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "lru", + "lru 0.9.0", "polkadot-core-primitives", "polkadot-network-bridge", "polkadot-node-network-protocol", @@ -1926,7 +1964,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1934,7 +1972,7 @@ dependencies = [ "futures", "futures-timer", "jsonrpsee", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-service", "sc-client-api", @@ -1955,7 +1993,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2015,9 +2053,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.0" +version = "4.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" +checksum = "8d4ba9852b42210c7538b75484f9daa0655e9a3ac04f693747bb0f02cf3cfe16" dependencies = [ "cfg-if", "fiat-crypto", @@ -2029,9 +2067,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" +checksum = "a9c00419335c41018365ddf7e4d5f1c12ee3659ddcf3e01974650ba1de73d038" dependencies = [ "cc", "cxxbridge-flags", @@ -2041,9 +2079,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" +checksum = "fb8307ad413a98fff033c8545ecf133e3257747b3bae935e7602aab8aa92d4ca" dependencies = [ "cc", "codespan-reporting", @@ -2051,31 +2089,31 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn", + "syn 2.0.3", ] [[package]] name = "cxxbridge-flags" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" +checksum = "edc52e2eb08915cb12596d29d55f0b5384f00d697a646dbd269b6ecb0fbd9d31" [[package]] name = "cxxbridge-macro" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" +checksum = "631569015d0d8d54e6c241733f944042623ab6df7bc3be7466874b05fcdb1c5f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.3", ] [[package]] name = "darling" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ "darling_core", "darling_macro", @@ -2083,27 +2121,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn", + "syn 1.0.109", ] [[package]] name = "darling_macro" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2129,7 +2167,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn", + "syn 1.0.109", ] [[package]] @@ -2182,11 +2220,11 @@ dependencies = [ [[package]] name = "der-parser" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", "displaydoc", "nom", "num-bigint", @@ -2202,7 +2240,18 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", - "syn", + "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", + "syn 1.0.109", ] [[package]] @@ -2223,7 +2272,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2233,7 +2282,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" dependencies = [ "derive_builder_core", - "syn", + "syn 1.0.109", ] [[package]] @@ -2246,7 +2295,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn", + "syn 1.0.109", ] [[package]] @@ -2400,7 +2449,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ - "block-buffer 0.10.3", + "block-buffer 0.10.4", "crypto-common", "subtle", ] @@ -2454,7 +2503,7 @@ checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2471,9 +2520,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dtoa" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" +checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169" [[package]] name = "dyn-clonable" @@ -2493,14 +2542,14 @@ checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "dyn-clone" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" +checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" [[package]] name = "ecdsa" @@ -2544,7 +2593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -2588,7 +2637,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2608,18 +2657,18 @@ checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "enumn" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132" +checksum = "48016319042fb7c87b78d2993084a831793a897a5cd1a2a67cab9d1eeb4b7d76" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.3", ] [[package]] @@ -2756,7 +2805,7 @@ dependencies = [ "fs-err", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2825,7 +2874,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "thiserror", ] @@ -2877,9 +2926,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" +checksum = "93ace6ec7cc19c8ed33a32eaa9ea692d7faea05006b5356b9e2b668ec4bc3955" [[package]] name = "file-per-thread-logger" @@ -2905,9 +2954,9 @@ dependencies = [ [[package]] name = "finality-grandpa" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" +checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" dependencies = [ "either", "futures", @@ -2976,7 +3025,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", ] @@ -2999,9 +3048,10 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log", @@ -3017,12 +3067,13 @@ dependencies = [ "sp-runtime-interface", "sp-std", "sp-storage", + "static_assertions", ] [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "Inflector", "array-bytes 4.2.0", @@ -3069,18 +3120,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3097,7 +3148,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -3126,7 +3177,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "log", @@ -3142,9 +3193,9 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "bitflags", + "bitflags 1.3.2", "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", @@ -3174,43 +3225,44 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "log", @@ -3228,7 +3280,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -3243,7 +3295,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-api", @@ -3252,7 +3304,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "parity-scale-codec", @@ -3291,9 +3343,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" +checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" dependencies = [ "futures-channel", "futures-core", @@ -3306,9 +3358,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" dependencies = [ "futures-core", "futures-sink", @@ -3316,15 +3368,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" +checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" [[package]] name = "futures-executor" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" +checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" dependencies = [ "futures-core", "futures-task", @@ -3334,9 +3386,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" [[package]] name = "futures-lite" @@ -3355,13 +3407,13 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" +checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3377,15 +3429,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" [[package]] name = "futures-timer" @@ -3395,9 +3447,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" dependencies = [ "futures-channel", "futures-core", @@ -3473,22 +3525,22 @@ dependencies = [ [[package]] name = "ghash" -version = "0.3.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.4.5", + "polyval 0.5.3", ] [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.5.3", + "polyval 0.6.0", ] [[package]] @@ -3540,9 +3592,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" dependencies = [ "bytes", "fnv", @@ -3592,7 +3644,16 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", ] [[package]] @@ -3675,16 +3736,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac 0.10.1", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.11.0" @@ -3774,9 +3825,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.24" +version = "0.14.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" +checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" dependencies = [ "bytes", "futures-channel", @@ -3926,7 +3977,7 @@ checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3936,10 +3987,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", "serde", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.6", +] + [[package]] name = "instant" version = "0.1.12" @@ -4378,10 +4438,11 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" dependencies = [ + "hermit-abi 0.3.1", "libc", "windows-sys 0.45.0", ] @@ -4412,13 +4473,13 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "8687c819457e979cc940d09cb16e42a1bf70aa6b60a549de6d3a62a0ee90c69e" dependencies = [ "hermit-abi 0.3.1", - "io-lifetimes 1.0.5", - "rustix 0.36.8", + "io-lifetimes 1.0.9", + "rustix 0.36.11", "windows-sys 0.45.0", ] @@ -4488,15 +4549,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] @@ -4583,7 +4644,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -4769,8 +4830,8 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -4866,8 +4927,8 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -4925,9 +4986,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" [[package]] name = "libloading" @@ -4953,16 +5014,16 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" -version = "0.50.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" +checksum = "9c7b0104790be871edcf97db9bd2356604984e623a08d825c3f27852290266b8" dependencies = [ "bytes", "futures", "futures-timer", "getrandom 0.2.8", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-dns", "libp2p-identify", "libp2p-kad", @@ -4979,7 +5040,7 @@ dependencies = [ "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.16.0", "parking_lot 0.12.1", "pin-project", "smallvec", @@ -5000,8 +5061,8 @@ dependencies = [ "futures-timer", "instant", "log", - "multiaddr", - "multihash", + "multiaddr 0.16.0", + "multihash 0.16.3", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -5019,6 +5080,34 @@ dependencies = [ "zeroize", ] +[[package]] +name = "libp2p-core" +version = "0.39.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7f8b7d65c070a5a1b5f8f0510648189da08f787b8963f8e21219e0710733af" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-identity", + "log", + "multiaddr 0.17.0", + "multihash 0.17.0", + "multistream-select", + "once_cell", + "parking_lot 0.12.1", + "pin-project", + "quick-protobuf", + "rand 0.8.5", + "rw-stream-sink", + "smallvec", + "thiserror", + "unsigned-varint", + "void", +] + [[package]] name = "libp2p-dns" version = "0.38.0" @@ -5026,7 +5115,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" dependencies = [ "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "smallvec", @@ -5042,10 +5131,10 @@ dependencies = [ "asynchronous-codec", "futures", "futures-timer", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", - "lru", + "lru 0.8.1", "prost", "prost-build", "prost-codec", @@ -5054,6 +5143,24 @@ dependencies = [ "void", ] +[[package]] +name = "libp2p-identity" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a8ea433ae0cea7e3315354305237b9897afe45278b2118a7a57ca744e70fd27" +dependencies = [ + "bs58", + "ed25519-dalek", + "log", + "multiaddr 0.17.0", + "multihash 0.17.0", + "prost", + "quick-protobuf", + "rand 0.8.5", + "thiserror", + "zeroize", +] + [[package]] name = "libp2p-kad" version = "0.42.1" @@ -5068,7 +5175,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "prost", @@ -5091,7 +5198,7 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -5108,7 +5215,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" dependencies = [ - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-identify", "libp2p-kad", "libp2p-ping", @@ -5125,7 +5232,7 @@ dependencies = [ "asynchronous-codec", "bytes", "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -5143,7 +5250,7 @@ dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "once_cell", "prost", @@ -5166,7 +5273,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -5183,7 +5290,7 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-tls", "log", "parking_lot 0.12.1", @@ -5204,7 +5311,7 @@ dependencies = [ "bytes", "futures", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -5223,7 +5330,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm-derive", "log", "pin-project", @@ -5242,7 +5349,7 @@ checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400" dependencies = [ "heck", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5255,7 +5362,7 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.38.0", "log", "socket2", "tokio", @@ -5263,13 +5370,14 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.1.0-alpha" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" dependencies = [ "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.39.1", + "libp2p-identity", "rcgen 0.10.0", "ring", "rustls 0.20.8", @@ -5287,7 +5395,7 @@ checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" dependencies = [ "futures", "js-sys", - "libp2p-core", + "libp2p-core 0.38.0", "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", @@ -5306,10 +5414,10 @@ dependencies = [ "futures-timer", "hex", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-noise", "log", - "multihash", + "multihash 0.16.3", "prost", "prost-build", "prost-codec", @@ -5333,7 +5441,7 @@ dependencies = [ "either", "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "quicksink", @@ -5350,7 +5458,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" dependencies = [ "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "thiserror", @@ -5604,7 +5712,16 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", +] + +[[package]] +name = "lru" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17" +dependencies = [ + "hashbrown 0.13.2", ] [[package]] @@ -5696,14 +5813,14 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.8", + "rustix 0.36.11", ] [[package]] name = "memmap2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ "libc", ] @@ -5726,6 +5843,15 @@ dependencies = [ "autocfg 1.1.0", ] +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "memory-db" version = "0.31.0" @@ -5733,7 +5859,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -5795,7 +5921,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "log", @@ -5814,7 +5940,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "anyhow", "jsonrpsee", @@ -5851,7 +5977,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5871,7 +5997,7 @@ checksum = "3048ef3680533a27f9f8e7d6a0bce44dc61e4895ea0f42709337fa1c8616fefe" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -5884,7 +6010,25 @@ dependencies = [ "byteorder", "data-encoding", "multibase", - "multihash", + "multihash 0.16.3", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint", + "url", +] + +[[package]] +name = "multiaddr" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b53e0cc5907a5c216ba6584bf74be8ab47d6d6289f72793b2dddbf15dc3bf8c" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "multibase", + "multihash 0.17.0", "percent-encoding", "serde", "static_assertions", @@ -5920,6 +6064,19 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "multihash" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" +dependencies = [ + "core2", + "digest 0.10.6", + "multihash-derive", + "sha2 0.10.6", + "unsigned-varint", +] + [[package]] name = "multihash-derive" version = "0.8.0" @@ -5930,7 +6087,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "synstructure", ] @@ -5980,7 +6137,7 @@ checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -6017,7 +6174,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" dependencies = [ "anyhow", - "bitflags", + "bitflags 1.3.2", "byteorder", "libc", "netlink-packet-core", @@ -6053,9 +6210,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" +checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" dependencies = [ "bytes", "futures", @@ -6070,12 +6227,26 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.6.5", ] +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -6092,15 +6263,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "nom8" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" -dependencies = [ - "memchr", -] - [[package]] name = "nomination" version = "0.5.0" @@ -6216,7 +6378,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -6245,7 +6407,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", ] [[package]] @@ -6349,7 +6511,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -6364,7 +6526,7 @@ dependencies = [ [[package]] name = "orml-asset-registry" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6383,7 +6545,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6401,7 +6563,7 @@ dependencies = [ [[package]] name = "orml-tokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6416,7 +6578,7 @@ dependencies = [ [[package]] name = "orml-traits" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -6425,6 +6587,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-core", "sp-io", "sp-runtime", "sp-std", @@ -6434,7 +6597,7 @@ dependencies = [ [[package]] name = "orml-unknown-tokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6449,7 +6612,7 @@ dependencies = [ [[package]] name = "orml-utilities" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "parity-scale-codec", @@ -6463,7 +6626,7 @@ dependencies = [ [[package]] name = "orml-vesting" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6478,7 +6641,7 @@ dependencies = [ [[package]] name = "orml-xcm" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6492,7 +6655,7 @@ dependencies = [ [[package]] name = "orml-xcm-support" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "orml-traits", @@ -6506,7 +6669,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -6526,9 +6689,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.4.1" +version = "6.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" [[package]] name = "output_vt100" @@ -6574,7 +6737,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -6590,7 +6753,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -6606,14 +6769,13 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", "sp-runtime", "sp-std", ] @@ -6621,7 +6783,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6645,7 +6807,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6665,7 +6827,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6680,7 +6842,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -6696,7 +6858,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "beefy-merkle-tree", @@ -6719,7 +6881,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6737,7 +6899,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6756,7 +6918,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6773,7 +6935,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6790,7 +6952,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6808,7 +6970,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6831,7 +6993,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6844,7 +7006,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6862,7 +7024,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6880,7 +7042,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6903,7 +7065,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6919,7 +7081,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6939,7 +7101,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6956,7 +7118,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6973,7 +7135,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6990,7 +7152,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7006,7 +7168,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7022,7 +7184,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7039,7 +7201,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7059,7 +7221,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-api", @@ -7069,7 +7231,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7086,12 +7248,13 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", + "log", "pallet-babe", "pallet-balances", "pallet-grandpa", @@ -7109,7 +7272,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7126,7 +7289,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7141,7 +7304,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7159,7 +7322,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7174,7 +7337,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7193,7 +7356,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7210,7 +7373,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7231,7 +7394,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7247,7 +7410,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7261,7 +7424,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7284,18 +7447,18 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "sp-arithmetic", @@ -7304,7 +7467,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7321,7 +7484,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7335,7 +7498,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7353,7 +7516,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7372,7 +7535,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7388,7 +7551,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7404,7 +7567,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7416,7 +7579,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7433,7 +7596,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7449,7 +7612,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7464,7 +7627,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7478,9 +7641,10 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -7488,6 +7652,7 @@ dependencies = [ "scale-info", "serde", "sp-core", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -7496,8 +7661,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-benchmarking", "frame-support", @@ -7505,16 +7670,18 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", + "xcm-builder", "xcm-executor", ] [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -7630,9 +7797,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" +checksum = "00bfb81cf5c90a222db2fb7b3a7cbf8cc7f38dfb6647aca4d98edf8281f56ed5" dependencies = [ "blake2", "crc32fast", @@ -7644,6 +7811,7 @@ dependencies = [ "memmap2", "parking_lot 0.12.1", "rand 0.8.5", + "siphasher", "snap", ] @@ -7671,7 +7839,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -7742,9 +7910,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" [[package]] name = "pbkdf2" @@ -7796,9 +7964,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.5.5" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" +checksum = "8cbd939b234e95d72bc393d51788aec68aeeb5d51e748ca08ff3aad58cb722f7" dependencies = [ "thiserror", "ucd-trie", @@ -7806,9 +7974,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.5" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ac3922aac69a40733080f53c1ce7f91dcf57e1a5f6c52f421fadec7fbdc4b69" +checksum = "a81186863f3d0a27340815be8f2078dd8050b14cd71913db9fbda795e5f707d7" dependencies = [ "pest", "pest_generator", @@ -7816,22 +7984,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.5" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06646e185566b5961b4058dd107e0a7f56e77c3f484549fb119867773c0f202" +checksum = "75a1ef20bf3193c15ac345acb32e26b3dc3223aff4d77ae4fc5359567683796b" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "pest_meta" -version = "2.5.5" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6f60b2ba541577e2a0c307c8f39d1439108120eb7903adeb6497fa880c59616" +checksum = "5e3b284b1f13a20dc5ebc90aff59a51b8d7137c221131b52a7260c08cbc1cc80" dependencies = [ "once_cell", "pest", @@ -7865,7 +8033,7 @@ checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -7916,8 +8084,8 @@ checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" [[package]] name = "polkadot-approval-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-metrics", @@ -7931,8 +8099,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -7945,13 +8113,13 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "fatality", "futures", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -7968,12 +8136,12 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "fatality", "futures", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -7989,8 +8157,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "clap", "frame-benchmarking-cli", @@ -8004,6 +8172,7 @@ dependencies = [ "sc-cli", "sc-executor", "sc-service", + "sc-storage-monitor", "sc-sysinfo", "sc-tracing", "sp-core", @@ -8016,8 +8185,8 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "frame-benchmarking", @@ -8059,8 +8228,8 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "bitvec", @@ -8081,8 +8250,8 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "scale-info", @@ -8093,15 +8262,15 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "fatality", "futures", "futures-timer", "indexmap", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8118,8 +8287,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8132,8 +8301,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "futures-timer", @@ -8152,8 +8321,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "async-trait", @@ -8176,8 +8345,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "parity-scale-codec", @@ -8194,15 +8363,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "derive_more", "futures", "futures-timer", "kvdb", - "lru", + "lru 0.9.0", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -8223,8 +8392,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "futures", @@ -8243,8 +8412,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "fatality", @@ -8262,8 +8431,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-subsystem", @@ -8277,8 +8446,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures", @@ -8296,8 +8465,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-metrics", @@ -8311,8 +8480,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "futures-timer", @@ -8328,13 +8497,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "fatality", "futures", "kvdb", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8347,8 +8516,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures", @@ -8364,8 +8533,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "fatality", @@ -8382,8 +8551,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "assert_matches", @@ -8414,8 +8583,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-primitives", @@ -8430,11 +8599,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", - "lru", + "lru 0.9.0", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", @@ -8445,8 +8614,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "lazy_static", "log", @@ -8463,8 +8632,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bs58", "futures", @@ -8482,8 +8651,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8505,8 +8674,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bounded-vec", "futures", @@ -8527,8 +8696,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -8537,8 +8706,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8560,8 +8729,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8570,7 +8739,7 @@ dependencies = [ "futures-channel", "itertools", "kvdb", - "lru", + "lru 0.9.0", "parity-db", "parity-scale-codec", "parking_lot 0.11.2", @@ -8593,13 +8762,13 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures", "futures-timer", - "lru", + "lru 0.9.0", "orchestra", "parking_lot 0.12.1", "polkadot-node-metrics", @@ -8616,8 +8785,8 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "frame-support", @@ -8632,8 +8801,8 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "env_logger 0.9.3", "kusama-runtime", @@ -8647,8 +8816,8 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "hex-literal 0.3.4", @@ -8673,8 +8842,8 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -8705,8 +8874,8 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -8794,8 +8963,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -8811,6 +8980,7 @@ dependencies = [ "pallet-balances", "pallet-beefy-mmr", "pallet-election-provider-multi-phase", + "pallet-fast-unstake", "pallet-session", "pallet-staking", "pallet-staking-reward-fn", @@ -8842,8 +9012,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -8856,8 +9026,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bs58", "parity-scale-codec", @@ -8868,10 +9038,10 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ - "bitflags", + "bitflags 1.3.2", "bitvec", "derive_more", "frame-benchmarking", @@ -8911,11 +9081,12 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "beefy-gadget", + "frame-benchmarking-cli", "frame-support", "frame-system-rpc-runtime-api", "futures", @@ -8923,7 +9094,8 @@ dependencies = [ "kusama-runtime", "kvdb", "kvdb-rocksdb", - "lru", + "log", + "lru 0.9.0", "mmr-gadget", "pallet-babe", "pallet-im-online", @@ -9018,8 +9190,8 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -9039,8 +9211,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9049,16 +9221,18 @@ dependencies = [ [[package]] name = "polling" -version = "2.5.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" +checksum = "7e1f879b2998099c2d69ab9605d145d5b661195627eccc680002c4918a7fb6fa" dependencies = [ "autocfg 1.1.0", + "bitflags 1.3.2", "cfg-if", + "concurrent-queue", "libc", "log", - "wepoll-ffi", - "windows-sys 0.42.0", + "pin-project-lite 0.2.9", + "windows-sys 0.45.0", ] [[package]] @@ -9069,30 +9243,31 @@ checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cpuid-bool", + "cfg-if", + "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" dependencies = [ "cfg-if", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.5.0", ] [[package]] @@ -9117,15 +9292,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" [[package]] name = "predicates-tree" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" dependencies = [ "predicates-core", "termtree", @@ -9145,12 +9320,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.23" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ "proc-macro2", - "syn", + "syn 1.0.109", ] [[package]] @@ -9184,9 +9359,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", "toml_edit", @@ -9201,7 +9376,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "version_check", ] @@ -9224,9 +9399,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224" dependencies = [ "unicode-ident", ] @@ -9265,14 +9440,14 @@ checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "prost" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" +checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" dependencies = [ "bytes", "prost-derive", @@ -9280,9 +9455,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" +checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" dependencies = [ "bytes", "heck", @@ -9295,7 +9470,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn", + "syn 1.0.109", "tempfile", "which", ] @@ -9315,24 +9490,23 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" +checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" dependencies = [ "anyhow", "itertools", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "prost-types" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" +checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" dependencies = [ - "bytes", "prost", ] @@ -9351,6 +9525,15 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-protobuf" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +dependencies = [ + "byteorder", +] + [[package]] name = "quicksink" version = "0.1.2" @@ -9382,9 +9565,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ "proc-macro2", ] @@ -9599,9 +9782,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" dependencies = [ "either", "rayon-core", @@ -9609,9 +9792,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.2" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -9627,7 +9810,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.20", "x509-parser 0.13.2", "yasna", ] @@ -9640,7 +9823,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.20", "yasna", ] @@ -9713,7 +9896,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -9742,22 +9925,22 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" +checksum = "f43faa91b1c8b36841ee70e97188a869d37ae21759da6846d4be66de5bf7b12c" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" +checksum = "8d2275aab483050ab2a7364c1a46604865ee7d6906684e08db0f090acf74f9e7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.3", ] [[package]] @@ -9798,15 +9981,6 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - [[package]] name = "replace" version = "1.2.0" @@ -9954,8 +10128,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "beefy-merkle-tree", "frame-benchmarking", @@ -10040,8 +10214,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -10084,7 +10258,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix", + "nix 0.24.3", "thiserror", "tokio", ] @@ -10177,7 +10351,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.16", + "semver 1.0.17", ] [[package]] @@ -10195,7 +10369,7 @@ version = "0.35.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes 0.7.5", "libc", @@ -10205,13 +10379,13 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.8" +version = "0.36.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", - "io-lifetimes 1.0.5", + "io-lifetimes 1.0.9", "libc", "linux-raw-sys 0.1.4", "windows-sys 0.45.0", @@ -10265,9 +10439,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" [[package]] name = "rw-stream-sink" @@ -10282,9 +10456,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" [[package]] name = "same-file" @@ -10298,7 +10472,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "sp-core", @@ -10309,7 +10483,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10336,7 +10510,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "futures-timer", @@ -10359,7 +10533,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -10375,7 +10549,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -10390,18 +10564,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "chrono", @@ -10441,7 +10615,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "fnv", "futures", @@ -10467,7 +10641,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hash-db", "kvdb", @@ -10480,6 +10654,7 @@ dependencies = [ "parking_lot 0.12.1", "sc-client-api", "sc-state-db", + "schnellru", "sp-arithmetic", "sp-blockchain", "sp-core", @@ -10492,7 +10667,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10517,7 +10692,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10546,7 +10721,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "fork-tree", @@ -10584,7 +10759,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "jsonrpsee", @@ -10606,7 +10781,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10619,7 +10794,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "assert_matches", "async-trait", @@ -10653,7 +10828,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10676,9 +10851,9 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -10700,7 +10875,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -10713,7 +10888,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "sc-allocator", @@ -10726,7 +10901,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "cfg-if", "libc", @@ -10743,9 +10918,9 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "ahash", + "ahash 0.8.3", "array-bytes 4.2.0", "async-trait", "dyn-clone", @@ -10783,7 +10958,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "finality-grandpa", "futures", @@ -10803,7 +10978,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ansi_term", "futures", @@ -10818,7 +10993,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -10833,7 +11008,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -10847,7 +11022,7 @@ dependencies = [ "ip_network", "libp2p", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -10875,7 +11050,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "cid", "futures", @@ -10894,10 +11069,10 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", - "bitflags", + "bitflags 1.3.2", "bytes", "futures", "futures-timer", @@ -10920,14 +11095,14 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "ahash", + "ahash 0.8.3", "futures", "futures-timer", "libp2p", "log", - "lru", + "lru 0.8.1", "sc-network-common", "sc-peerset", "sp-runtime", @@ -10938,7 +11113,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "futures", @@ -10959,7 +11134,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -10967,7 +11142,7 @@ dependencies = [ "futures", "libp2p", "log", - "lru", + "lru 0.8.1", "mockall", "parity-scale-codec", "prost", @@ -10991,7 +11166,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "futures", @@ -11010,7 +11185,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "bytes", @@ -11040,7 +11215,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "libp2p", @@ -11053,7 +11228,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -11062,7 +11237,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "jsonrpsee", @@ -11086,12 +11261,13 @@ dependencies = [ "sp-runtime", "sp-session", "sp-version", + "tokio", ] [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11110,7 +11286,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "http", "jsonrpsee", @@ -11125,7 +11301,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "futures", @@ -11151,7 +11327,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "directories", @@ -11182,6 +11358,7 @@ dependencies = [ "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", + "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -11216,7 +11393,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "parity-scale-codec", @@ -11224,10 +11401,26 @@ dependencies = [ "sp-core", ] +[[package]] +name = "sc-storage-monitor" +version = "0.1.0" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" +dependencies = [ + "clap", + "futures", + "log", + "nix 0.26.2", + "sc-client-db", + "sc-utils", + "sp-core", + "thiserror", + "tokio", +] + [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11246,7 +11439,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "libc", @@ -11265,7 +11458,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "chrono", "futures", @@ -11284,7 +11477,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ansi_term", "atty", @@ -11315,24 +11508,25 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", "futures-timer", "linked-hash-map", "log", + "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "sc-client-api", @@ -11352,7 +11546,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -11366,7 +11560,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "backtrace", "futures", @@ -11400,7 +11594,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -11412,6 +11606,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -11438,9 +11643,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" [[package]] name = "sct" @@ -11555,7 +11760,7 @@ version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -11583,9 +11788,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" dependencies = [ "serde", ] @@ -11598,29 +11803,29 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.3", ] [[package]] name = "serde_json" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" +checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" dependencies = [ "itoa", "ryu", @@ -11640,6 +11845,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.6", +] + [[package]] name = "sha2" version = "0.8.2" @@ -11732,11 +11948,17 @@ dependencies = [ "paste", ] +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg 1.1.0", ] @@ -11749,8 +11971,8 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" [[package]] name = "slot-range-helper" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "enumn", "parity-scale-codec", @@ -11782,14 +12004,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" +checksum = "5ccba027ba85743e09d15c03296797cad56395089b832b48b5a5217880f57733" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.0", + "curve25519-dalek 4.0.0-rc.1", "rand_core 0.6.4", "ring", "rustc_version", @@ -11799,9 +12021,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -11827,7 +12049,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hash-db", "log", @@ -11845,19 +12067,19 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "blake2", "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -11870,7 +12092,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "integer-sqrt", "num-traits", @@ -11884,7 +12106,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -11894,22 +12116,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -11926,7 +12136,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-api", @@ -11938,11 +12148,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -11956,7 +12166,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -11974,7 +12184,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "parity-scale-codec", @@ -11992,7 +12202,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "merlin", @@ -12015,7 +12225,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12027,7 +12237,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12040,11 +12250,11 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "base58", - "bitflags", + "bitflags 1.3.2", "blake2", "dyn-clonable", "ed25519-zebra", @@ -12082,7 +12292,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "blake2", "byteorder", @@ -12096,18 +12306,18 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro2", "quote", "sp-core-hashing", - "syn", + "syn 1.0.109", ] [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -12116,17 +12326,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "environmental", "parity-scale-codec", @@ -12137,7 +12347,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "finality-grandpa", "log", @@ -12155,7 +12365,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -12169,7 +12379,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "bytes", "ed25519", @@ -12194,7 +12404,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "lazy_static", "sp-core", @@ -12205,7 +12415,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -12222,7 +12432,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "thiserror", "zstd", @@ -12231,7 +12441,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -12249,7 +12459,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12263,7 +12473,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sp-api", "sp-core", @@ -12273,7 +12483,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "backtrace", "lazy_static", @@ -12283,7 +12493,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "rustc-hash", "serde", @@ -12293,7 +12503,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "either", "hash256-std-hasher", @@ -12315,7 +12525,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -12333,19 +12543,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12359,7 +12569,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12371,7 +12581,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hash-db", "log", @@ -12391,12 +12601,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -12409,7 +12619,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures-timer", @@ -12424,7 +12634,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-std", @@ -12436,7 +12646,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sp-api", "sp-runtime", @@ -12445,7 +12655,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "log", @@ -12461,18 +12671,18 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", "scale-info", + "schnellru", "sp-core", "sp-std", "thiserror", @@ -12484,7 +12694,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -12501,18 +12711,18 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "impl-trait-for-tuples", "log", @@ -12525,7 +12735,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12561,9 +12771,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -12628,7 +12838,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg_aliases", "libc", "parking_lot 0.11.2", @@ -12647,7 +12857,7 @@ dependencies = [ "memchr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -12660,7 +12870,7 @@ dependencies = [ "memchr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -12701,7 +12911,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn", + "syn 1.0.109", ] [[package]] @@ -12739,7 +12949,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "platforms 2.0.0", ] @@ -12747,7 +12957,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -12766,7 +12976,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hyper", "log", @@ -12778,7 +12988,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "jsonrpsee", @@ -12791,7 +13001,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "log", @@ -12810,7 +13020,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ansi_term", "build-helper", @@ -12862,9 +13072,20 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "e8234ae35e70582bfa0f1fedffa6daa248e41dd045310b19800c4a36382c8f60" dependencies = [ "proc-macro2", "quote", @@ -12879,7 +13100,7 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "unicode-xid", ] @@ -12889,7 +13110,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "system-configuration-sys", ] @@ -12918,16 +13139,15 @@ checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "tempfile" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" dependencies = [ "cfg-if", "fastrand", - "libc", "redox_syscall", - "remove_dir_all", - "winapi", + "rustix 0.36.11", + "windows-sys 0.42.0", ] [[package]] @@ -12941,9 +13161,9 @@ dependencies = [ [[package]] name = "termtree" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "testnet-interlay-runtime-parachain" @@ -13171,22 +13391,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.3", ] [[package]] @@ -13261,9 +13481,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" +checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" dependencies = [ "itoa", "serde", @@ -13279,9 +13499,9 @@ checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" [[package]] name = "time-macros" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" +checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" dependencies = [ "time-core", ] @@ -13332,9 +13552,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.25.0" +version = "1.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" +checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" dependencies = [ "autocfg 1.1.0", "bytes", @@ -13347,7 +13567,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -13358,7 +13578,7 @@ checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -13374,9 +13594,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ "futures-core", "pin-project-lite 0.2.9", @@ -13410,19 +13630,19 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" [[package]] name = "toml_edit" -version = "0.18.1" +version = "0.19.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +checksum = "dc18466501acd8ac6a3f615dd29a3438f8ca6bb3b19537138b3106e575621274" dependencies = [ "indexmap", - "nom8", "toml_datetime", + "winnow", ] [[package]] @@ -13442,7 +13662,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" dependencies = [ - "bitflags", + "bitflags 1.3.2", "bytes", "futures-core", "futures-util", @@ -13487,7 +13707,7 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -13512,8 +13732,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -13523,14 +13743,14 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "expander 0.0.6", "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -13604,7 +13824,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", @@ -13674,7 +13894,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "clap", "frame-remote-externalities", @@ -13783,15 +14003,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.10" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" [[package]] name = "unicode-normalization" @@ -13824,6 +14044,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "universal-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "unsigned-varint" version = "0.7.1" @@ -13946,7 +14176,7 @@ checksum = "8881d5cc0ae34e3db2f1de5af81e5117a420d2f937506c2dc20d6f4cfb069051" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -13972,12 +14202,11 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -14030,7 +14259,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "wasm-bindgen-shared", ] @@ -14064,7 +14293,7 @@ checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -14086,9 +14315,9 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +checksum = "84a303793cbc01fb96551badfc7367db6007396bba6bac97936b3c8b6f7fdb41" dependencies = [ "anyhow", "libc", @@ -14102,9 +14331,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" +checksum = "d9c9deb56f8a9f2ec177b3bd642a8205621835944ed5da55f2388ef216aca5a4" dependencies = [ "anyhow", "cxx", @@ -14114,9 +14343,9 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" +checksum = "4432e28b542738a9776cedf92e8a99d8991c7b4667ee2c7ccddfb479dd2856a7" dependencies = [ "anyhow", "cc", @@ -14417,7 +14646,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.19", + "time 0.3.20", "tokio", "turn", "url", @@ -14449,22 +14678,22 @@ dependencies = [ [[package]] name = "webrtc-dtls" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" +checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" dependencies = [ "aes 0.6.0", - "aes-gcm 0.8.0", + "aes-gcm 0.10.1", "async-trait", "bincode", "block-modes", "byteorder", "ccm", "curve25519-dalek 3.2.0", - "der-parser 8.1.0", + "der-parser 8.2.0", "elliptic-curve", "hkdf", - "hmac 0.10.1", + "hmac 0.12.1", "log", "oid-registry 0.6.1", "p256", @@ -14476,8 +14705,8 @@ dependencies = [ "rustls 0.19.1", "sec1", "serde", - "sha-1", - "sha2 0.9.9", + "sha1", + "sha2 0.10.6", "signature", "subtle", "thiserror", @@ -14589,33 +14818,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" dependencies = [ "async-trait", - "bitflags", + "bitflags 1.3.2", "bytes", "cc", "ipnet", "lazy_static", "libc", "log", - "nix", + "nix 0.24.3", "rand 0.8.5", "thiserror", "tokio", "winapi", ] -[[package]] -name = "wepoll-ffi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" -dependencies = [ - "cc", -] - [[package]] name = "westend-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -14659,6 +14879,7 @@ dependencies = [ "pallet-society", "pallet-staking", "pallet-staking-reward-curve", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -14704,8 +14925,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -14797,12 +15018,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.1", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -14816,24 +15037,24 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.1", + "windows_x86_64_msvc 0.42.2", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_msvc" @@ -14849,9 +15070,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_i686_gnu" @@ -14867,9 +15088,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_msvc" @@ -14885,9 +15106,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_x86_64_gnu" @@ -14903,15 +15124,15 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_msvc" @@ -14927,9 +15148,18 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "winnow" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d020b441f92996c80d94ae9166e8501e59c7bb56121189dc9eab3bd8216966" +dependencies = [ + "memchr", +] [[package]] name = "winreg" @@ -14987,7 +15217,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -14996,39 +15226,42 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", "base64 0.13.1", "data-encoding", - "der-parser 8.1.0", + "der-parser 8.2.0", "lazy_static", "nom", "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] name = "xcm" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derivative", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "serde", + "sp-core", + "sp-weights", "xcm-procedural", ] [[package]] name = "xcm-builder" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "pallet-transaction-payment", "parity-scale-codec", @@ -15045,7 +15278,7 @@ dependencies = [ [[package]] name = "xcm-emulator" version = "0.1.0" -source = "git+https://github.com/shaunxw/xcm-simulator?rev=0460d04c798028e7bef82c907082e11753ed173b#0460d04c798028e7bef82c907082e11753ed173b" +source = "git+https://github.com/shaunxw/xcm-simulator?rev=754f3b90ecc65af735a6c9a2e1792c5253926ff6#754f3b90ecc65af735a6c9a2e1792c5253926ff6" dependencies = [ "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", @@ -15070,9 +15303,10 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ + "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", @@ -15083,24 +15317,25 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "sp-weights", "xcm", ] [[package]] name = "xcm-procedural" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "xcm-simulator" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "parity-scale-codec", @@ -15134,7 +15369,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" dependencies = [ - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -15154,7 +15389,7 @@ checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "synstructure", ] diff --git a/Cargo.toml b/Cargo.toml index 6b13986800..cc9b48e478 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,229 +24,230 @@ incremental = false incremental = false [patch."https://github.com/paritytech/substrate"] -frame-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-benchmarking-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-election-provider-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-executive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support-procedural = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support-procedural-tools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support-procedural-tools-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-system-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-try-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-balances = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-democracy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-election-provider-multi-phase = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-elections-phragmen = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-identity = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-im-online = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-indices = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-membership = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -mmr-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nis = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-state-trie-migration = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-multisig = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-offences = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-offences-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-proxy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-recovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-scheduler = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-session-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-society = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-staking-reward-curve = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-staking-reward-fn = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-sudo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-tips = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-transaction-payment = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-treasury = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-utility = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-vesting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-basic-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-chain-spec = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-client-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-client-db = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-babe-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-epochs = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-executor = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-executor-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-executor-wasmtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-finality-grandpa-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-informant = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-gossip = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-peerset = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-rpc-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-rpc-server = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-service = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-sync-state-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-telemetry = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-transaction-pool-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-application-crypto = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-arithmetic = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-blockchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-vrf = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-core = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-debug-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-externalities = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-inherents = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-io = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-keyring = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-maybe-compressed-blob = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-mmr-primitives = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-npos-elections = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-runtime-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-state-machine = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-std = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-storage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-trie = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-version = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-wasm-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-weights = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-build-script-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-wasm-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -try-runtime-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-sysinfo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -beefy-gadget= { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -beefy-gadget-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -beefy-merkle-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-bags-list = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-beefy-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-child-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-election-provider-support-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nomination-pools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nomination-pools-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-preimage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-conviction-voting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-fast-unstake = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-ranked-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-referenda = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-whitelist = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-light = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-sync = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -fork-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -mmr-gadget = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } +frame-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-benchmarking-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-election-provider-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-executive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support-procedural = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support-procedural-tools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support-procedural-tools-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-system-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-try-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-balances = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-democracy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-elections-phragmen = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-identity = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-im-online = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-indices = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-membership = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +mmr-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nis = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-state-trie-migration = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-multisig = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-offences = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-offences-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-proxy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-recovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-scheduler = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-session-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-society = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-staking-reward-curve = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-staking-reward-fn = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-sudo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-tips = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-transaction-payment = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-treasury = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-utility = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-vesting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-basic-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-chain-spec = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-client-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-client-db = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-babe-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-epochs = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-executor = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-executor-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-executor-wasmtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-finality-grandpa-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-informant = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-gossip = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-peerset = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-rpc-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-rpc-server = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-service = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-sync-state-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-telemetry = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-transaction-pool-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-application-crypto = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-arithmetic = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +# sp-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-blockchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-vrf = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-core = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-debug-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-externalities = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-inherents = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-io = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-keyring = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-maybe-compressed-blob = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-mmr-primitives = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-npos-elections = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-runtime-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-state-machine = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-std = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-storage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-trie = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-version = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-wasm-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-weights = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-build-script-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-wasm-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +try-runtime-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-sysinfo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +beefy-gadget= { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +beefy-gadget-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +beefy-merkle-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-bags-list = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-beefy-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-child-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-election-provider-support-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nomination-pools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nomination-pools-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-preimage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-conviction-voting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-fast-unstake = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-ranked-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-referenda = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-whitelist = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-light = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-sync = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +fork-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +mmr-gadget = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-storage-monitor = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } [patch."https://github.com/paritytech/polkadot"] -kusama-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -pallet-xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-cli = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-client = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-core-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-core-av-store = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-core-pvf = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-network-protocol = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-subsystem = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-subsystem-util = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-overseer = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-parachain = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-runtime-common = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-runtime-parachains = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-service = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-statement-table = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -rococo-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -westend-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm-builder = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm-executor = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm-simulator = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-availability-distribution = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-erasure-coding = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-network-bridge = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-jaeger = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -tracing-gum = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -tracing-gum-proc-macro = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } +kusama-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +pallet-xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-cli = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-client = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-core-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-core-av-store = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-core-pvf = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-network-protocol = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-subsystem = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-subsystem-util = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-overseer = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-parachain = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-runtime-common = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-runtime-parachains = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-service = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-statement-table = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +rococo-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +westend-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm-builder = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm-executor = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm-simulator = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-availability-distribution = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-erasure-coding = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-network-bridge = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-jaeger = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +tracing-gum = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +tracing-gum-proc-macro = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } [patch."https://github.com/paritytech/cumulus"] -cumulus-client-cli = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-network = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-service = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-xcm = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-core = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-utility = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -parachain-info = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-collator = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } +cumulus-client-cli = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-network = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-service = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-xcm = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-core = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-utility = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +parachain-info = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-collator = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } [patch."https://github.com/open-web3-stack/open-runtime-module-library"] -orml-asset-registry = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-oracle = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-traits = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-unknown-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-utilities = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-vesting = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-xcm-support = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-xcm = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-xtokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } \ No newline at end of file +orml-asset-registry = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-oracle = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-traits = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-unknown-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-utilities = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-vesting = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-xcm-support = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-xcm = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-xtokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } \ No newline at end of file diff --git a/crates/collator-selection/src/benchmarking.rs b/crates/collator-selection/src/benchmarking.rs index 19e2e9bed1..b67d3c9026 100644 --- a/crates/collator-selection/src/benchmarking.rs +++ b/crates/collator-selection/src/benchmarking.rs @@ -103,7 +103,7 @@ benchmarks! { set_invulnerables { let b in 1 .. T::MaxInvulnerables::get(); let new_invulnerables = register_validators::(b); - let origin = T::UpdateOrigin::successful_origin(); + let origin = T::UpdateOrigin::try_successful_origin().unwrap(); }: { assert_ok!( >::set_invulnerables(origin, new_invulnerables.clone()) @@ -115,7 +115,7 @@ benchmarks! { set_desired_candidates { let max: u32 = 999; - let origin = T::UpdateOrigin::successful_origin(); + let origin = T::UpdateOrigin::try_successful_origin().unwrap(); }: { assert_ok!( >::set_desired_candidates(origin, max.clone()) @@ -127,7 +127,7 @@ benchmarks! { set_candidacy_bond { let bond_amount: BalanceOf = T::StakingCurrency::minimum_balance() * 10u32.into(); - let origin = T::UpdateOrigin::successful_origin(); + let origin = T::UpdateOrigin::try_successful_origin().unwrap(); }: { assert_ok!( >::set_candidacy_bond(origin, bond_amount.clone()) diff --git a/crates/collator-selection/src/lib.rs b/crates/collator-selection/src/lib.rs index 5008567c9e..3390d44b75 100644 --- a/crates/collator-selection/src/lib.rs +++ b/crates/collator-selection/src/lib.rs @@ -489,10 +489,6 @@ pub mod pallet { DispatchClass::Mandatory, ); } - - fn note_uncle(_author: T::AccountId, _age: T::BlockNumber) { - //TODO can we ignore this? - } } /// Play the role of the session manager. diff --git a/crates/collator-selection/src/mock.rs b/crates/collator-selection/src/mock.rs index 5fbc5d76f3..21e42d4e9f 100644 --- a/crates/collator-selection/src/mock.rs +++ b/crates/collator-selection/src/mock.rs @@ -45,7 +45,7 @@ frame_support::construct_runtime!( Aura: pallet_aura::{Pallet, Storage, Config}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event}, - Authorship: pallet_authorship::{Pallet, Call, Storage, Inherent}, + Authorship: pallet_authorship::{Pallet, Storage}, } ); @@ -110,8 +110,6 @@ impl FindAuthor for Author4 { impl pallet_authorship::Config for Test { type FindAuthor = Author4; - type UncleGenerations = (); - type FilterUncle = (); type EventHandler = CollatorSelection; } diff --git a/crates/democracy/src/benchmarking.rs b/crates/democracy/src/benchmarking.rs index ddd14de824..1dd41a76e8 100644 --- a/crates/democracy/src/benchmarking.rs +++ b/crates/democracy/src/benchmarking.rs @@ -144,7 +144,7 @@ benchmarks! { } fast_track { - let origin_fast_track = T::FastTrackOrigin::successful_origin(); + let origin_fast_track = T::FastTrackOrigin::try_successful_origin().unwrap(); let proposal_hash = add_proposal::(0)?; let prop_index = PublicProps::::get() .iter() diff --git a/crates/tx-pause/src/benchmarking.rs b/crates/tx-pause/src/benchmarking.rs index c7c186d4b4..c14ed45b82 100644 --- a/crates/tx-pause/src/benchmarking.rs +++ b/crates/tx-pause/src/benchmarking.rs @@ -26,7 +26,7 @@ benchmarks! { let full_name: FullNameOf = (name::(b"SomePalletName"), Some(name::(b"SomePalletName"))); // let pallet_name: PalletNameOf = name::(b"SomePalletName"); // let maybe_call_name: Option> = Some(name::(b"some_call_name")); - let origin = T::PauseOrigin::successful_origin(); + let origin = T::PauseOrigin::try_successful_origin().unwrap(); // let call = Call::::pause { full_name: full_name.clone() }; // let call = Call::::pause { pallet_name: pallet_name.clone(), maybe_call_name: maybe_call_name.clone() }; @@ -37,14 +37,14 @@ benchmarks! { unpause { let full_name: FullNameOf = (name::(b"SomePalletName"), Some(name::(b"SomePalletName"))); - let pause_origin = T::PauseOrigin::successful_origin(); + let pause_origin = T::PauseOrigin::try_successful_origin().unwrap(); TxPause::::pause( pause_origin, full_name.clone(), )?; - let unpause_origin = T::UnpauseOrigin::successful_origin(); + let unpause_origin = T::UnpauseOrigin::try_successful_origin().unwrap(); // let call = Call::::unpause { pallet_name: pallet_name.clone(), maybe_call_name: maybe_call_name.clone() }; }: _(unpause_origin, full_name.clone()) diff --git a/parachain/runtime/common/src/lib.rs b/parachain/runtime/common/src/lib.rs index 1fabe4211f..d6818ab892 100644 --- a/parachain/runtime/common/src/lib.rs +++ b/parachain/runtime/common/src/lib.rs @@ -19,7 +19,7 @@ pub type AccountId = ::AccountId; pub type VaultId = primitives::VaultId, currency::CurrencyId>; pub use currency::CurrencyId; use primitives::{Balance, Nonce}; -use xcm::{latest::MultiLocation, v2::Instruction}; +use xcm::latest::{Instruction, MultiLocation, Weight}; use xcm_executor::traits::ShouldExecute; fn native_currency_id() -> CurrencyId { @@ -61,12 +61,12 @@ pub struct AndBarrier(PhantomData<(T, U)>); impl ShouldExecute for AndBarrier { fn should_execute( origin: &MultiLocation, - message: &mut xcm::v2::Xcm, - max_weight: u64, - weight_credit: &mut u64, + instructions: &mut [Instruction], + max_weight: Weight, + weight_credit: &mut Weight, ) -> Result<(), ()> { - T::should_execute(origin, message, max_weight, weight_credit)?; - U::should_execute(origin, message, max_weight, weight_credit)?; + T::should_execute(origin, instructions, max_weight, weight_credit)?; + U::should_execute(origin, instructions, max_weight, weight_credit)?; // only if both returned ok, we return ok Ok(()) } @@ -77,18 +77,16 @@ pub struct Transactless(PhantomData); impl ShouldExecute for Transactless { fn should_execute( origin: &MultiLocation, - message: &mut xcm::v2::Xcm, - max_weight: u64, - weight_credit: &mut u64, + instructions: &mut [Instruction], + max_weight: Weight, + weight_credit: &mut Weight, ) -> Result<(), ()> { - let xcm::v2::Xcm(ref instructions) = message; - // filter any outer-level Transacts. Any Transact calls sent to other chain should still work. let has_transact = instructions.iter().any(|x| matches!(x, Instruction::Transact { .. })); if has_transact { return Err(()); } // No transact - return result of the wrapped barrier - T::should_execute(origin, message, max_weight, weight_credit) + T::should_execute(origin, instructions, max_weight, weight_credit) } } diff --git a/parachain/runtime/interlay/src/lib.rs b/parachain/runtime/interlay/src/lib.rs index 76aa6ed8a2..1bda9beab2 100644 --- a/parachain/runtime/interlay/src/lib.rs +++ b/parachain/runtime/interlay/src/lib.rs @@ -133,7 +133,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { @@ -169,7 +169,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -232,14 +231,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -413,8 +406,8 @@ impl EnsureOrigin for EnsureKintsugiLabs { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin() -> RuntimeOrigin { - RuntimeOrigin::from(RawOrigin::None) + fn try_successful_origin() -> Result { + Ok(RuntimeOrigin::from(RawOrigin::None)) } } @@ -716,8 +709,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1206,7 +1199,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 73, - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1265,10 +1258,12 @@ pub type Executive = frame_executive::Executive< >, democracy::migrations::v1::Migration, SudoMigrationCheck, + orml_asset_registry::Migration, + orml_unknown_tokens::Migration, ), >; -struct SudoMigrationCheck; +pub struct SudoMigrationCheck; impl OnRuntimeUpgrade for SudoMigrationCheck { fn on_runtime_upgrade() -> Weight { @@ -1394,6 +1389,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } impl loans_rpc_runtime_api::LoansApi< diff --git a/parachain/runtime/interlay/src/xcm_config.rs b/parachain/runtime/interlay/src/xcm_config.rs index 047f235d9b..74110fcae3 100644 --- a/parachain/runtime/interlay/src/xcm_config.rs +++ b/parachain/runtime/interlay/src/xcm_config.rs @@ -14,16 +14,15 @@ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdap use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{prelude::*, Weight}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; pub use xcm_executor; -use xcm_executor::{Config, XcmExecutor}; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -72,7 +71,7 @@ pub type Barrier = Transactless<( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); pub const MaxInstructions: u32 = 100; } @@ -90,27 +89,35 @@ pub fn dot_per_second() -> u128 { } parameter_types! { - pub DotPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), dot_per_second()); - pub CanonicalizedIntrPerSecond: (AssetId, u128) = ( + pub DotPerSecond: (AssetId, u128, u128) = (MultiLocation::parent().into(), dot_per_second(), + 0, // todo: determine how much to charge per mb of proof +); + pub CanonicalizedIntrPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(INTR)).into(), // INTR:DOT = 4:3 - (dot_per_second() * 4) / 3 + (dot_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedIbtcPerSecond: (AssetId, u128) = ( + pub CanonicalizedIbtcPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(IBTC)).into(), // (I)BTC:DOT = 1:2266 & Satoshi:Planck = 1:100 - dot_per_second() / 226_600 + dot_per_second() / 226_600, + 0, // todo: determine how much to charge per mb of proof ); - pub IntrPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub IntrPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(Token(INTR)).into(), // KINT:KSM = 4:3 - (dot_per_second() * 4) / 3 + (dot_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub IbtcPerSecond: (AssetId, u128) = ( + pub IbtcPerSecond: (AssetId, u128, u128) = ( non_canonical_currency_location(Token(IBTC)).into(), // (I)BTC:DOT = 1:2266 & Satoshi:Planck = 1:100 - dot_per_second() / 226_600 + dot_per_second() / 226_600, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToAuthor; @@ -155,6 +162,32 @@ impl FixedConversionRateProvider for MyFixedConversionRateProvider { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -163,7 +196,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -171,6 +203,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -180,11 +222,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -197,9 +245,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -215,6 +271,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -235,24 +292,26 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -276,9 +335,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -294,13 +357,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -344,7 +407,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -361,9 +424,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/runtime/kintsugi/src/dex.rs b/parachain/runtime/kintsugi/src/dex.rs index 13dbac2c54..be1ae87fbb 100644 --- a/parachain/runtime/kintsugi/src/dex.rs +++ b/parachain/runtime/kintsugi/src/dex.rs @@ -2,6 +2,7 @@ use super::{ parameter_types, Balance, CurrencyId, DexGeneral, DexStable, Get, PalletId, Runtime, RuntimeEvent, StablePoolId, Timestamp, Tokens, }; +use frame_support::traits::OnRuntimeUpgrade; use sp_core::ConstU16; pub use dex_general::{AssetBalance, GenerateLpAssetId, PairInfo}; diff --git a/parachain/runtime/kintsugi/src/lib.rs b/parachain/runtime/kintsugi/src/lib.rs index edb3e26fb6..3a9e176bc2 100644 --- a/parachain/runtime/kintsugi/src/lib.rs +++ b/parachain/runtime/kintsugi/src/lib.rs @@ -17,7 +17,7 @@ use frame_support::{ EqualPrivilegeOnly, ExistenceRequirement, Imbalance, InstanceFilter, OnRuntimeUpgrade, OnUnbalanced, }, weights::ConstantMultiplier, - PalletId, + Blake2_128Concat, PalletId, Twox64Concat, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -135,7 +135,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -170,7 +170,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -233,14 +232,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -414,8 +407,8 @@ impl EnsureOrigin for EnsureKintsugiLabs { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin() -> RuntimeOrigin { - RuntimeOrigin::from(RawOrigin::None) + fn try_successful_origin() -> Result { + Ok(RuntimeOrigin::from(RawOrigin::None)) } } @@ -728,8 +721,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1258,7 +1251,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 73, - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1308,8 +1301,58 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = - frame_executive::Executive, Runtime, AllPalletsWithSystem>; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPalletsWithSystem, + ( + VersionNotifyTargetsFix, // Note: needs to be before pallet_xcm migration + pallet_xcm::migration::v1::MigrateToV1, + orml_asset_registry::Migration, + orml_unknown_tokens::Migration, + ), +>; + +/// Adds the relay chain as a subscriber for xcm version notifications. Kusama subscribed to us, +/// but this is not reflected in our chain state due to an error in the early days of our xcm +/// config. Add it now such that kusama will be notified of our version upgrade. Without it, +/// transfers from kusama will no longer work. +pub struct VersionNotifyTargetsFix; + +impl OnRuntimeUpgrade for VersionNotifyTargetsFix { + fn on_runtime_upgrade() -> Weight { + use crate::sp_api_hidden_includes_construct_runtime::hidden_include::StorageHasher; + use codec::Encode; + use frame_support::storage::migration::put_storage_value; + use xcm::VersionedMultiLocation; + + let key_1 = Twox64Concat::hash(&2u32.encode()); + + let key_2 = Blake2_128Concat::hash( + &VersionedMultiLocation::V2(xcm::v2::MultiLocation::new(1, xcm::v2::Junctions::Here)).encode(), + ); + + let key = [key_1, key_2].concat(); + + // The 2653 below needs to match kusama.xcmPallet.versionNotifiers(2, OUR_PARA) + let value: (u64, u64, u32) = (2653, 0, 2); + + put_storage_value(b"PolkadotXcm", b"VersionNotifyTargets", &key, value); + + Default::default() + } + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + Ok(Vec::new()) + } + #[cfg(feature = "try-runtime")] + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + // tested with chopsticks - not bothering with try-runtime check + Ok(()) + } +} #[cfg(not(feature = "disable-runtime-api"))] impl_runtime_apis! { @@ -1418,6 +1461,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/parachain/runtime/kintsugi/src/xcm_config.rs b/parachain/runtime/kintsugi/src/xcm_config.rs index bf5246c74c..aa245751ab 100644 --- a/parachain/runtime/kintsugi/src/xcm_config.rs +++ b/parachain/runtime/kintsugi/src/xcm_config.rs @@ -13,15 +13,14 @@ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdap use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{prelude::*, Weight}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; -use xcm_executor::XcmExecutor; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; use CurrencyId::ForeignAsset; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -70,7 +69,7 @@ pub type Barrier = Transactless<( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); pub const MaxInstructions: u32 = 100; } @@ -92,27 +91,35 @@ pub fn kint_per_second() -> u128 { } parameter_types! { - pub KsmPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), ksm_per_second()); - pub KintPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KsmPerSecond: (AssetId, u128, u128) = (MultiLocation::parent().into(), ksm_per_second(), + 0, // todo: determine how much to charge per mb of proof +); + pub KintPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(Token(KINT)).into(), // KINT:KSM = 4:3 - kint_per_second() + kint_per_second(), + 0, // todo: determine how much to charge per mb of proof ); - pub KbtcPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KbtcPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(Token(KBTC)).into(), // KBTC:KSM = 1:150 & Satoshi:Planck = 1:10_000 - ksm_per_second() / 1_500_000 + ksm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedKintPerSecond: (AssetId, u128) = ( + pub CanonicalizedKintPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(KINT)).into(), // KINT:KSM = 4:3 - kint_per_second() + kint_per_second(), + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedKbtcPerSecond: (AssetId, u128) = ( + pub CanonicalizedKbtcPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(KBTC)).into(), // KBTC:KSM = 1:150 & Satoshi:Planck = 1:10_000 - ksm_per_second() / 1_500_000 + ksm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Kusama; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToTreasury; @@ -149,6 +156,32 @@ impl FixedConversionRateProvider for MyFixedConversionRateProvider { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -157,7 +190,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -165,6 +197,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -174,11 +216,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -191,9 +239,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -209,6 +265,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -229,24 +286,26 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -270,9 +329,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -288,13 +351,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -338,7 +401,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -355,9 +418,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/runtime/runtime-tests/Cargo.toml b/parachain/runtime/runtime-tests/Cargo.toml index 2e01b04301..74f4d823f7 100644 --- a/parachain/runtime/runtime-tests/Cargo.toml +++ b/parachain/runtime/runtime-tests/Cargo.toml @@ -79,7 +79,7 @@ xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "releas xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.31", default-features = false } xcm-simulator = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.31", default-features = false } pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.31", default-features = false } -xcm-emulator = { git = "https://github.com/shaunxw/xcm-simulator", rev = "0460d04c798028e7bef82c907082e11753ed173b" } +xcm-emulator = { git = "https://github.com/shaunxw/xcm-simulator", rev = "754f3b90ecc65af735a6c9a2e1792c5253926ff6" } # Parachain dependencies runtime-common = {path = "../common", default-features = false } diff --git a/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs b/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs index 5079f5c374..6b51ecceea 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs @@ -1,13 +1,10 @@ use crate::relaychain::kusama_test_net::*; use codec::Encode; -use frame_support::{ - assert_ok, - weights::{Weight as FrameWeight, WeightToFee}, -}; +use frame_support::assert_ok; use orml_traits::MultiCurrency; use primitives::{ CurrencyId::{ForeignAsset, Token}, - CustomMetadata, + CustomMetadata, TokenSymbol, }; use sp_runtime::{FixedPointNumber, FixedU128}; use xcm::latest::{prelude::*, Weight}; @@ -21,20 +18,25 @@ mod fees { // N * unit_weight * (weight/10^12) * token_per_second fn weight_calculation(instruction_count: u32, unit_weight: Weight, per_second: u128) -> u128 { let weight = unit_weight.saturating_mul(instruction_count as u64); - let weight_ratio = FixedU128::saturating_from_rational(weight as u128, WEIGHT_REF_TIME_PER_SECOND as u128); + let weight_ratio = + FixedU128::saturating_from_rational(weight.ref_time() as u128, WEIGHT_REF_TIME_PER_SECOND as u128); weight_ratio.saturating_mul_int(per_second) } fn native_unit_cost(instruction_count: u32, per_second: u128) -> u128 { let unit_weight: Weight = kintsugi_runtime_parachain::xcm_config::UnitWeightCost::get(); - assert_eq!(unit_weight, 200_000_000); + assert_eq!(unit_weight.ref_time(), 200_000_000); + assert_eq!(unit_weight.proof_size(), 0); weight_calculation(instruction_count, unit_weight, per_second) } pub fn ksm_per_second_as_fee(instruction_count: u32) -> u128 { let ksm_per_second = kintsugi_runtime_parachain::xcm_config::ksm_per_second(); - assert_eq!(202060000000, ksm_per_second); + + // check ksm per second. It's by no means essential - it's just useful to be forced to check the + // change after polkadot updates + assert_eq!(200320000000, ksm_per_second); native_unit_cost(instruction_count, ksm_per_second) } @@ -52,25 +54,20 @@ mod hrmp { use polkadot_runtime_parachains::hrmp; fn construct_xcm(call: hrmp::Call) -> Xcm<()> { Xcm(vec![ - WithdrawAsset((Here, 410000000000).into()), + WithdrawAsset((Here, 410000000000u128).into()), BuyExecution { - fees: (Here, 400000000000).into(), + fees: (Here, 400000000000u128).into(), weight_limit: Unlimited, }, Transact { - require_weight_at_most: 10000000000, - origin_type: OriginKind::Native, + require_weight_at_most: Weight::from_ref_time(10000000000), + origin_kind: OriginKind::Native, call: kusama_runtime::RuntimeCall::Hrmp(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]) } @@ -181,25 +178,20 @@ fn test_transact_barrier() { keep_alive: false, }; let message = Xcm(vec![ - WithdrawAsset((Here, 410000000000).into()), + WithdrawAsset((Here, 410000000000u128).into()), BuyExecution { - fees: (Here, 400000000000).into(), + fees: (Here, 400000000000u128).into(), weight_limit: Unlimited, }, Transact { - require_weight_at_most: 10000000000, - origin_type: OriginKind::Native, + require_weight_at_most: Weight::from_ref_time(10000000000), + origin_kind: OriginKind::Native, call: kintsugi_runtime_parachain::RuntimeCall::Tokens(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]); @@ -227,26 +219,20 @@ fn transfer_from_relay_chain() { KusamaNet::execute_with(|| { assert_ok!(kusama_runtime::XcmPallet::reserve_transfer_assets( kusama_runtime::RuntimeOrigin::signed(ALICE.into()), - Box::new(Parachain(KINTSUGI_PARA_ID).into().into()), - Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() - .into() - ), + Box::new(Parachain(KINTSUGI_PARA_ID).into_versioned()), + Box::new(Junction::AccountId32 { id: BOB, network: None }.into_versioned()), Box::new((Here, KSM.one()).into()), 0 )); }); Kintsugi::execute_with(|| { - let xcm_fee = fees::ksm_per_second_as_fee(4); - assert_eq!( - Tokens::free_balance(Token(KSM), &AccountId::from(BOB)), - KSM.one() - xcm_fee - ); + let xcm_fee = KSM.one() - Tokens::free_balance(Token(KSM), &AccountId::from(BOB)); + + assert!(xcm_fee < 1000000000); // fees are set to 1000000000 in ui - make sure it's enough + assert!(xcm_fee > 0); // check that some fees are taken + + // check that fees go to treasury assert_eq!(Tokens::free_balance(Token(KSM), &TreasuryAccount::get()), xcm_fee); }); } @@ -266,28 +252,13 @@ fn transfer_to_relay_chain() { RuntimeOrigin::signed(ALICE.into()), Token(KSM), KSM.one(), - Box::new( - MultiLocation::new( - 1, - X1(Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - }) - ) - .into() - ), + Box::new(MultiLocation::new(1, X1(Junction::AccountId32 { id: BOB, network: None })).into()), WeightLimit::Unlimited )); }); KusamaNet::execute_with(|| { - let used_weight = FrameWeight::from_ref_time(298_368_000); // the actual weight of the sent message - let fee = - ::WeightToFee::weight_to_fee(&used_weight); - assert_eq!( - kusama_runtime::Balances::free_balance(&AccountId::from(BOB)), - KSM.one() - fee - ); + let fee = KSM.one() - kusama_runtime::Balances::free_balance(&AccountId::from(BOB)); // UI uses 165940672 - make sure that that's an overestimation assert!(fee < 165940672); @@ -327,7 +298,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(SIBLING_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) @@ -368,7 +339,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(KINTSUGI_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), } ) @@ -411,7 +382,6 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); @@ -419,10 +389,10 @@ fn xcm_transfer_execution_barrier_trader_works() { // Kusama effectively disabled the `send` extrinsic in 0.9.19, so use send_xcm assert_ok!(pallet_xcm::Pallet::::send_xcm( X1(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), }), - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), message )); }); @@ -444,16 +414,16 @@ fn xcm_transfer_execution_barrier_trader_works() { ReserveAssetDeposited((Parent, 100).into()), BuyExecution { fees: (Parent, 100).into(), - weight_limit: Limited(message_weight - 1), + weight_limit: Limited(message_weight - Weight::from_ref_time(1)), }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); Kintsugi::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, message_weight); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, message_weight); assert_eq!(r, Outcome::Error(XcmError::Barrier)); }); @@ -467,12 +437,12 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); Kintsugi::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, message_weight); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, message_weight); assert_eq!( r, Outcome::Incomplete(message_weight - unit_instruction_weight, XcmError::TooExpensive) @@ -488,12 +458,12 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); Kintsugi::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, message_weight); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, message_weight); assert_eq!(r, Outcome::Complete(message_weight)); }); } @@ -504,7 +474,7 @@ fn subscribe_version_notify_works() { KusamaNet::execute_with(|| { let r = pallet_xcm::Pallet::::force_subscribe_version_notify( kusama_runtime::RuntimeOrigin::root(), - Box::new(Parachain(KINTSUGI_PARA_ID).into().into()), + Box::new(Parachain(KINTSUGI_PARA_ID).into_versioned()), ); assert_ok!(r); }); @@ -515,7 +485,7 @@ fn subscribe_version_notify_works() { parents: 0, interior: X1(Parachain(KINTSUGI_PARA_ID)), }, - 2, + 3, ), )); }); @@ -535,7 +505,7 @@ fn subscribe_version_notify_works() { parents: 1, interior: Here, }, - 2, + 3, ), )); }); @@ -573,9 +543,25 @@ fn subscribe_version_notify_works() { }); } +fn general_key_of(token_symbol: TokenSymbol) -> Junction { + let id = Token(token_symbol); + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + #[test] fn trap_assets_works() { let mut kint_treasury_amount = 0; + let mut ksm_treasury_amount = 0; let (ksm_asset_amount, kint_asset_amount) = (KSM.one(), KINT.one()); let trader_weight_to_treasury = fees::ksm_per_second_as_fee(3); @@ -586,6 +572,7 @@ fn trap_assets_works() { assert_ok!(Tokens::deposit(Token(KINT), &parent_account, 100 * KINT.one())); kint_treasury_amount = Tokens::free_balance(Token(KINT), &TreasuryAccount::get()); + ksm_treasury_amount = Tokens::free_balance(Token(KSM), &TreasuryAccount::get()); }); let assets: MultiAsset = (Parent, ksm_asset_amount).into(); @@ -595,17 +582,11 @@ fn trap_assets_works() { WithdrawAsset(assets.clone().into()), BuyExecution { fees: assets, - weight_limit: Limited(KSM.one() as u64), + weight_limit: Limited(Weight::from_ref_time(KSM.one() as u64)), }, WithdrawAsset( ( - ( - Parent, - X2( - Parachain(KINTSUGI_PARA_ID), - GeneralKey(Token(KINT).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(KINTSUGI_PARA_ID), general_key_of(KINT))), kint_asset_amount, ) .into(), @@ -613,7 +594,7 @@ fn trap_assets_works() { ]; assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), Xcm(xcm), )); }); @@ -666,31 +647,20 @@ fn trap_assets_works() { }, BuyExecution { fees: ( - ( - Parent, - X2( - Parachain(KINTSUGI_PARA_ID), - GeneralKey(Token(KINT).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(KINTSUGI_PARA_ID), general_key_of(KINT))), kint_asset_amount / 2, ) .into(), - weight_limit: Limited(KSM.one() as u64), + weight_limit: Limited(Weight::from_ref_time(KSM.one() as u64)), }, DepositAsset { assets: All.into(), - max_assets: 2, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]; assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), Xcm(xcm), )); }); @@ -716,16 +686,7 @@ fn register_kint_as_foreign_asset() { name: "Kintsugi native".as_bytes().to_vec(), symbol: "extKINT".as_bytes().to_vec(), existential_deposit: 0, - location: Some( - MultiLocation::new( - 1, - X2( - Parachain(KINTSUGI_PARA_ID), - GeneralKey(Token(KINT).encode().try_into().unwrap()), - ), - ) - .into(), - ), + location: Some(MultiLocation::new(1, X2(Parachain(KINTSUGI_PARA_ID), general_key_of(KINT))).into()), additional: CustomMetadata { fee_per_second: 1_000_000_000_000, coingecko_id: "kint-sugi".as_bytes().to_vec(), diff --git a/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs b/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs index d7430920d8..2d2d04e4ee 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs @@ -1,6 +1,7 @@ +use cumulus_primitives_core::MultiLocation; use frame_support::{traits::GenesisBuild, weights::Weight}; pub use kintsugi_runtime_parachain::{xcm_config::*, *}; -use polkadot_primitives::v2::{BlockNumber, MAX_CODE_SIZE, MAX_POV_SIZE}; +use polkadot_primitives::{BlockNumber, MAX_CODE_SIZE, MAX_POV_SIZE}; use polkadot_runtime_parachains::{configuration::HostConfiguration, paras::ParaKind}; pub use primitives::{ CurrencyId::Token, @@ -23,7 +24,7 @@ decl_test_relay_chain! { decl_test_parachain! { pub struct Kintsugi { Runtime = Runtime, - Origin = RuntimeOrigin, + RuntimeOrigin = RuntimeOrigin, XcmpMessageHandler = kintsugi_runtime_parachain::XcmpQueue, DmpMessageHandler = kintsugi_runtime_parachain::DmpQueue, new_ext = para_ext(KINTSUGI_PARA_ID), @@ -33,7 +34,7 @@ decl_test_parachain! { decl_test_parachain! { pub struct Sibling { Runtime = testnet_kintsugi_runtime_parachain::Runtime, - Origin = testnet_kintsugi_runtime_parachain::RuntimeOrigin, + RuntimeOrigin = testnet_kintsugi_runtime_parachain::RuntimeOrigin, XcmpMessageHandler = testnet_kintsugi_runtime_parachain::XcmpQueue, DmpMessageHandler = testnet_kintsugi_runtime_parachain::DmpQueue, new_ext = para_ext(SIBLING_PARA_ID), @@ -131,7 +132,7 @@ pub fn kusama_ext() -> sp_io::TestExternalities { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) @@ -212,14 +213,22 @@ impl ExtBuilder { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(2), // NOTE! if this was required for tests we may need it on mainnet }, &mut t, ) .unwrap(); let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); + ext.execute_with(|| { + System::set_block_number(1); + PolkadotXcm::force_xcm_version( + kintsugi_runtime_parachain::RuntimeOrigin::root(), + Box::new(MultiLocation::parent()), + 3, + ) + .unwrap(); + }); ext } } diff --git a/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs b/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs index 0a44777d8f..11bef6286f 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs @@ -7,7 +7,7 @@ use frame_support::{ use orml_traits::MultiCurrency; use primitives::{ CurrencyId::{ForeignAsset, Token}, - CustomMetadata, + CustomMetadata, TokenSymbol, }; use xcm::latest::{prelude::*, Weight}; use xcm_builder::ParentIsPreset; @@ -28,18 +28,13 @@ mod hrmp { }, Transact { require_weight_at_most: transact_weight, - origin_type: OriginKind::Native, + origin_kind: OriginKind::Native, call: polkadot_runtime::RuntimeCall::Hrmp(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]) } @@ -145,6 +140,7 @@ mod hrmp { } fn open_hrmp_channel(initial_balance: u128, xcm_fee: u128, transact_weight: u64) { + let transact_weight = Weight::from_ref_time(transact_weight); let existential_deposit = DOT.one(); // setup sovereign account balances @@ -190,25 +186,20 @@ fn test_transact_barrier() { keep_alive: false, }; let message = Xcm(vec![ - WithdrawAsset((Here, 410000000000).into()), + WithdrawAsset((Here, 410000000000u128).into()), BuyExecution { - fees: (Here, 400000000000).into(), + fees: (Here, 400000000000u128).into(), weight_limit: Unlimited, }, Transact { - require_weight_at_most: 10000000000, - origin_type: OriginKind::Native, + require_weight_at_most: Weight::from_ref_time(10000000000), + origin_kind: OriginKind::Native, call: interlay_runtime_parachain::RuntimeCall::Tokens(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]); @@ -236,15 +227,8 @@ fn transfer_from_relay_chain() { PolkadotNet::execute_with(|| { assert_ok!(polkadot_runtime::XcmPallet::reserve_transfer_assets( polkadot_runtime::RuntimeOrigin::signed(ALICE.into()), - Box::new(Parachain(INTERLAY_PARA_ID).into().into()), - Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() - .into() - ), + Box::new(Parachain(INTERLAY_PARA_ID).into_versioned()), + Box::new(Junction::AccountId32 { id: BOB, network: None }.into_versioned()), Box::new((Here, DOT.one()).into()), 0 )); @@ -280,16 +264,7 @@ fn transfer_to_relay_chain() { RuntimeOrigin::signed(ALICE.into()), Token(DOT), 2 * DOT.one(), - Box::new( - MultiLocation::new( - 1, - X1(Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - }) - ) - .into() - ), + Box::new(MultiLocation::new(1, X1(Junction::AccountId32 { id: BOB, network: None })).into()), WeightLimit::Unlimited )); }); @@ -340,7 +315,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(SIBLING_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) @@ -381,7 +356,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(INTERLAY_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), } ) @@ -423,7 +398,6 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]) @@ -431,9 +405,10 @@ fn xcm_transfer_execution_barrier_trader_works() { let expect_weight_limit = ::Weigher::weight( &mut construct_xcm(100, Unlimited)).unwrap(); - let weight_limit_too_low = 500_000_000; - let unit_instruction_weight = 200_000_000; - let minimum_fee = (interlay_runtime_parachain::xcm_config::DotPerSecond::get().1 * expect_weight_limit as u128) + let weight_limit_too_low = Weight::from_ref_time(500_000_000); + let unit_instruction_weight = Weight::from_ref_time(200_000_000); + let minimum_fee = (interlay_runtime_parachain::xcm_config::DotPerSecond::get().1 + * expect_weight_limit.ref_time() as u128) / WEIGHT_REF_TIME_PER_SECOND as u128; // relay-chain use normal account to send xcm, destination parachain can't pass Barrier check @@ -442,10 +417,10 @@ fn xcm_transfer_execution_barrier_trader_works() { // Polkadot effectively disabled the `send` extrinsic in 0.9.19, so use send_xcm assert_ok!(pallet_xcm::Pallet::::send_xcm( X1(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), }), - Parachain(INTERLAY_PARA_ID).into(), + Parachain(INTERLAY_PARA_ID), message )); }); @@ -465,7 +440,8 @@ fn xcm_transfer_execution_barrier_trader_works() { // other situation when `weight_limit` is `Unlimited` or large than `xcm_weight`, then it's ok. let message = construct_xcm(100, Limited(weight_limit_too_low)); Interlay::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, expect_weight_limit); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, expect_weight_limit); assert_eq!(r, Outcome::Error(XcmError::Barrier)); }); @@ -474,7 +450,8 @@ fn xcm_transfer_execution_barrier_trader_works() { let message = construct_xcm(minimum_fee - 1, Limited(expect_weight_limit)); Interlay::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, expect_weight_limit); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, expect_weight_limit); assert_eq!( r, Outcome::Incomplete(expect_weight_limit - unit_instruction_weight, XcmError::TooExpensive) @@ -484,7 +461,8 @@ fn xcm_transfer_execution_barrier_trader_works() { // all situation fulfilled, execute success let message = construct_xcm(minimum_fee, Limited(expect_weight_limit)); Interlay::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, expect_weight_limit); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, expect_weight_limit); assert_eq!(r, Outcome::Complete(expect_weight_limit)); }); } @@ -495,7 +473,7 @@ fn subscribe_version_notify_works() { PolkadotNet::execute_with(|| { let r = pallet_xcm::Pallet::::force_subscribe_version_notify( polkadot_runtime::RuntimeOrigin::root(), - Box::new(Parachain(INTERLAY_PARA_ID).into().into()), + Box::new(Parachain(INTERLAY_PARA_ID).into_versioned()), ); assert_ok!(r); }); @@ -506,7 +484,7 @@ fn subscribe_version_notify_works() { parents: 0, interior: X1(Parachain(INTERLAY_PARA_ID)), }, - 2, + 3, ), )); }); @@ -526,7 +504,7 @@ fn subscribe_version_notify_works() { parents: 1, interior: Here, }, - 2, + 3, ), )); }); @@ -567,8 +545,24 @@ fn subscribe_version_notify_works() { fn weigh_xcm(mut message: Xcm, fee_per_second: u128) -> u128 { let trapped_xcm_message_weight = ::Weigher::weight( &mut message).unwrap(); - (fee_per_second * trapped_xcm_message_weight as u128) / WEIGHT_REF_TIME_PER_SECOND as u128 + (fee_per_second * trapped_xcm_message_weight.ref_time() as u128) / WEIGHT_REF_TIME_PER_SECOND as u128 +} + +fn general_key_of(token_symbol: TokenSymbol) -> Junction { + let id = Token(token_symbol); + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } } + #[test] fn trap_assets_works() { let mut intr_treasury_amount = 0; @@ -590,17 +584,11 @@ fn trap_assets_works() { WithdrawAsset(assets.clone().into()), BuyExecution { fees: assets, - weight_limit: Limited(DOT.one() as u64), + weight_limit: Limited(Weight::from_ref_time(DOT.one() as u64)), }, WithdrawAsset( ( - ( - Parent, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))), intr_asset_amount, ) .into(), @@ -617,7 +605,7 @@ fn trap_assets_works() { PolkadotNet::execute_with(|| { assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(INTERLAY_PARA_ID).into(), + Parachain(INTERLAY_PARA_ID), construct_xcm(assets.clone(), intr_asset_amount), )); }); @@ -664,24 +652,13 @@ fn trap_assets_works() { let trapped_intr_amount = trapped_assets .clone() .unwrap() - .drain() + .into_inner() .into_iter() .find_map(|x| match x { MultiAsset { id: AssetId::Concrete(location), fun: Fungibility::Fungible(amount), - } if location - == ( - Parent, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ) - .into() => - { - Some(amount) - } + } if location == (Parent, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))).into() => Some(amount), _ => None, }) .unwrap(); @@ -689,7 +666,7 @@ fn trap_assets_works() { let trapped_dot_amount = trapped_assets .clone() .unwrap() - .drain() + .into_inner() .into_iter() .find_map(|x| match x { MultiAsset { @@ -708,26 +685,15 @@ fn trap_assets_works() { }, BuyExecution { fees: ( - ( - Parent, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))), intr_asset_amount / 4, ) .into(), - weight_limit: Limited(4_000000_000_000), + weight_limit: Limited(Weight::from_ref_time(4_000_000_000_000)), }, DepositAsset { assets: All.into(), - max_assets: 2, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]) } @@ -736,7 +702,7 @@ fn trap_assets_works() { PolkadotNet::execute_with(|| { assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(INTERLAY_PARA_ID).into(), + Parachain(INTERLAY_PARA_ID), construct_reclaiming_xcm(trapped_assets.clone(), intr_asset_amount), )); }); @@ -765,16 +731,7 @@ fn register_intr_as_foreign_asset() { name: "Interlay native".as_bytes().to_vec(), symbol: "extINTR".as_bytes().to_vec(), existential_deposit: 0, - location: Some( - MultiLocation::new( - 1, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ) - .into(), - ), + location: Some(MultiLocation::new(1, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))).into()), additional: CustomMetadata { fee_per_second: 1_000_000_000_000, coingecko_id: "interlay".as_bytes().to_vec(), @@ -782,110 +739,3 @@ fn register_intr_as_foreign_asset() { }; AssetRegistry::register_asset(RuntimeOrigin::root(), metadata, None).unwrap(); } - -/// The goal was to write a test to see how reanchoring is dealt with - to see if we would deal with -/// a BuyExecution( MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), -/// GeneralKey(Token(INTR).encode().try_into().unwrap()))) correctly. However it turns out it is not possible to -/// construct a valid xcm message like that: InitiateReserveWithdraw makes sure to reanchor the assets sent over XCM, so -/// trying to buy non-reanchored weight will always fail. -/// This test is left here only because it is a useful reference to see what xtokens::transfer does under the hood. -/// If this becomes a pain to maintain we can remove it. -#[test] -fn test_reanchoring() { - Sibling::execute_with(|| { - register_intr_as_foreign_asset(); - }); - - Interlay::execute_with(|| { - assert_ok!(Tokens::deposit( - Token(INTR), - &AccountId::from(ALICE), - 100_000_000_000_000 - )); - }); - - Interlay::execute_with(|| { - assert_ok!(XTokens::transfer( - RuntimeOrigin::signed(ALICE.into()), - Token(INTR), - 10_000_000_000_000, - Box::new( - MultiLocation::new( - 1, - X2( - Parachain(SIBLING_PARA_ID), - Junction::AccountId32 { - network: NetworkId::Any, - id: BOB.into(), - } - ) - ) - .into() - ), - WeightLimit::Unlimited, - )); - }); - - Sibling::execute_with(|| { - let assets: MultiAssets = vec![MultiAsset { - id: Concrete( - MultiLocation::new( - 1, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ) - .into(), - ), - fun: Fungible(2_000_000_000_000), - }] - .into(); - - let mut msg = Xcm(vec![ - WithdrawAsset(assets.clone()), - InitiateReserveWithdraw { - assets: All.into(), - reserve: MultiLocation::new(1, X1(Parachain(INTERLAY_PARA_ID))).into(), - xcm: Xcm(vec![ - BuyExecution { - fees: ( - MultiLocation::new(0, X1(GeneralKey(Token(INTR).encode().try_into().unwrap()))), - 2_000_000_000_000, - ) - .into(), - weight_limit: Unlimited, - }, - DepositAsset { - assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: ALICE, - network: NetworkId::Any, - } - .into(), - }, - ]), - }, - ]); - let weight = - ::Weigher::weight(&mut msg).unwrap(); - ::XcmExecutor::execute_xcm_in_credit( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), - msg, - weight, - weight, - ) - .ensure_complete() - .unwrap(); - }); - - // check reception - Interlay::execute_with(|| { - assert!(Tokens::free_balance(Token(INTR), &AccountId::from(ALICE)) > 90_000_000_000_000); - }); -} diff --git a/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs b/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs index 39f0dda711..8032f527a1 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs @@ -1,3 +1,4 @@ +use cumulus_primitives_core::MultiLocation; use frame_support::traits::GenesisBuild; pub use interlay_runtime_parachain::{xcm_config::*, *}; use polkadot_primitives::v2::{BlockNumber, MAX_CODE_SIZE, MAX_POV_SIZE}; @@ -23,7 +24,7 @@ decl_test_relay_chain! { decl_test_parachain! { pub struct Interlay { Runtime = Runtime, - Origin = RuntimeOrigin, + RuntimeOrigin = RuntimeOrigin, XcmpMessageHandler = interlay_runtime_parachain::XcmpQueue, DmpMessageHandler = interlay_runtime_parachain::DmpQueue, new_ext = para_ext(INTERLAY_PARA_ID), @@ -33,7 +34,7 @@ decl_test_parachain! { decl_test_parachain! { pub struct Sibling { Runtime = testnet_interlay_runtime_parachain::Runtime, - Origin = testnet_interlay_runtime_parachain::RuntimeOrigin, + RuntimeOrigin = testnet_interlay_runtime_parachain::RuntimeOrigin, XcmpMessageHandler = testnet_interlay_runtime_parachain::XcmpQueue, DmpMessageHandler = testnet_interlay_runtime_parachain::DmpQueue, new_ext = para_ext(SIBLING_PARA_ID), @@ -137,7 +138,7 @@ pub fn polkadot_ext() -> sp_io::TestExternalities { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) @@ -222,7 +223,15 @@ impl ExtBuilder { .unwrap(); let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); + ext.execute_with(|| { + System::set_block_number(1); + PolkadotXcm::force_xcm_version( + interlay_runtime_parachain::RuntimeOrigin::root(), + Box::new(MultiLocation::parent()), + 3, + ) + .unwrap(); + }); ext } } diff --git a/parachain/runtime/testnet-interlay/src/dex.rs b/parachain/runtime/testnet-interlay/src/dex.rs index 5c3197af70..5eb3ff4896 100644 --- a/parachain/runtime/testnet-interlay/src/dex.rs +++ b/parachain/runtime/testnet-interlay/src/dex.rs @@ -1,5 +1,5 @@ use super::{ - parameter_types, Balance, CurrencyId, DexGeneral, DexStable, Get, PalletId, Runtime, RuntimeEvent, StablePoolId, + parameter_types, Balance, CurrencyId, DexGeneral, DexStable, PalletId, Runtime, RuntimeEvent, StablePoolId, Timestamp, Tokens, }; diff --git a/parachain/runtime/testnet-interlay/src/lib.rs b/parachain/runtime/testnet-interlay/src/lib.rs index 0609c41c5a..27cd6a8ca7 100644 --- a/parachain/runtime/testnet-interlay/src/lib.rs +++ b/parachain/runtime/testnet-interlay/src/lib.rs @@ -136,7 +136,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { @@ -172,7 +172,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -235,14 +234,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -700,8 +693,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1223,7 +1216,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 73, - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1383,6 +1376,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/parachain/runtime/testnet-interlay/src/xcm_config.rs b/parachain/runtime/testnet-interlay/src/xcm_config.rs index 19e56828d8..463b067f6a 100644 --- a/parachain/runtime/testnet-interlay/src/xcm_config.rs +++ b/parachain/runtime/testnet-interlay/src/xcm_config.rs @@ -7,18 +7,17 @@ use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use primitives::{Balance, CurrencyId, CurrencyId::ForeignAsset}; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{ prelude::{AccountId32, *}, Weight, }; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; -use xcm_executor::{Config, XcmExecutor}; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -60,7 +59,7 @@ pub type XcmOriginToTransactDispatchOrigin = ( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); } pub type Barrier = Transactless<( @@ -88,23 +87,33 @@ pub fn xcm_per_second() -> u128 { } parameter_types! { - pub KsmPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), xcm_per_second()); - pub NativePerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KsmPerSecond: (AssetId, u128, u128) = ( + MultiLocation::parent().into(), + xcm_per_second(), + 0, // todo: determine how much to charge per mb of proof + ); + pub NativePerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub WrappedPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub WrappedPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedNativePerSecond: (AssetId, u128) = ( + pub CanonicalizedNativePerSecond: (AssetId, u128, u128) = ( canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedWrappedPerSecond: (AssetId, u128) = ( + pub CanonicalizedWrappedPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToTreasury; @@ -161,6 +170,32 @@ impl WeightTrader for FreeTestExection { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -169,7 +204,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -177,6 +211,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -186,11 +230,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -203,9 +253,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -221,6 +279,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -241,24 +300,25 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -283,9 +343,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -301,13 +365,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -349,7 +413,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -366,9 +430,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/runtime/testnet-kintsugi/src/dex.rs b/parachain/runtime/testnet-kintsugi/src/dex.rs index 37f415b3c3..a4d696bdca 100644 --- a/parachain/runtime/testnet-kintsugi/src/dex.rs +++ b/parachain/runtime/testnet-kintsugi/src/dex.rs @@ -1,5 +1,5 @@ use super::{ - parameter_types, Balance, CurrencyId, DexGeneral, DexStable, Get, PalletId, Runtime, RuntimeEvent, StablePoolId, + parameter_types, Balance, CurrencyId, DexGeneral, DexStable, PalletId, Runtime, RuntimeEvent, StablePoolId, Timestamp, Tokens, }; diff --git a/parachain/runtime/testnet-kintsugi/src/lib.rs b/parachain/runtime/testnet-kintsugi/src/lib.rs index 0f0cd959a4..b9ce6c23f0 100644 --- a/parachain/runtime/testnet-kintsugi/src/lib.rs +++ b/parachain/runtime/testnet-kintsugi/src/lib.rs @@ -136,7 +136,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { @@ -172,7 +172,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -235,14 +234,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -698,8 +691,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1221,7 +1214,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 73, - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1271,8 +1264,17 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = - frame_executive::Executive, Runtime, AllPalletsWithSystem>; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPalletsWithSystem, + ( + orml_asset_registry::Migration, + orml_unknown_tokens::Migration, + ), +>; #[cfg(not(feature = "disable-runtime-api"))] impl_runtime_apis! { @@ -1381,6 +1383,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/parachain/runtime/testnet-kintsugi/src/xcm_config.rs b/parachain/runtime/testnet-kintsugi/src/xcm_config.rs index 049e6483ed..7a5b4f1fff 100644 --- a/parachain/runtime/testnet-kintsugi/src/xcm_config.rs +++ b/parachain/runtime/testnet-kintsugi/src/xcm_config.rs @@ -7,15 +7,14 @@ use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use primitives::{Balance, CurrencyId, CurrencyId::ForeignAsset}; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{prelude::*, Weight}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; -use xcm_executor::{Config, XcmExecutor}; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -57,7 +56,7 @@ pub type XcmOriginToTransactDispatchOrigin = ( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); } pub type Barrier = Transactless<( @@ -85,23 +84,31 @@ pub fn xcm_per_second() -> u128 { } parameter_types! { - pub KsmPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), xcm_per_second()); - pub NativePerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KsmPerSecond: (AssetId, u128, u128) = (MultiLocation::parent().into(), xcm_per_second(), + 0, // todo: determine how much to charge per mb of proof +); + pub NativePerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub WrappedPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub WrappedPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedNativePerSecond: (AssetId, u128) = ( + pub CanonicalizedNativePerSecond: (AssetId, u128, u128) = ( canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedWrappedPerSecond: (AssetId, u128) = ( + pub CanonicalizedWrappedPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Kusama; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToTreasury; @@ -158,6 +165,32 @@ impl WeightTrader for FreeTestExection { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -166,7 +199,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -174,6 +206,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -183,11 +225,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -200,9 +248,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -218,6 +274,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -238,24 +295,26 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -280,9 +339,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -298,13 +361,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -346,7 +409,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -363,9 +426,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/src/service.rs b/parachain/src/service.rs index 4262eb4256..026a0d73f1 100644 --- a/parachain/src/service.rs +++ b/parachain/src/service.rs @@ -8,7 +8,7 @@ use cumulus_client_service::{ use cumulus_primitives_core::ParaId; use cumulus_primitives_parachain_inherent::{MockValidationDataInherentDataProvider, MockXcmConfig}; use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain; -use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult}; +use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult}; use cumulus_relay_chain_minimal_node::build_minimal_relay_chain_node; use polkadot_service::CollatorPair; @@ -353,10 +353,7 @@ where collator_options.clone(), ) .await - .map_err(|e| match e { - RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x, - s => format!("{}", s).into(), - })?; + .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?; let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id); diff --git a/standalone/runtime/src/lib.rs b/standalone/runtime/src/lib.rs index 3e1adcb4a0..136052c86c 100644 --- a/standalone/runtime/src/lib.rs +++ b/standalone/runtime/src/lib.rs @@ -230,14 +230,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = AuraAccountAdapter; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (); } @@ -254,6 +248,7 @@ impl FindAuthor for AuraAccountAdapter { parameter_types! { pub const MaxAuthorities: u32 = 32; + pub const MaxSetIdSessionEntries: u32 = 0; } impl pallet_aura::Config for Runtime { @@ -271,6 +266,7 @@ impl pallet_grandpa::Config for Runtime { type HandleEquivocation = (); type WeightInfo = (); type MaxAuthorities = MaxAuthorities; + type MaxSetIdSessionEntries = MaxSetIdSessionEntries; } parameter_types! { @@ -1059,8 +1055,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1164,7 +1160,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 73, - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, Aura: pallet_aura::{Pallet, Config} = 81, Grandpa: pallet_grandpa::{Pallet, Call, Storage, Config, Event} = 82, @@ -1332,6 +1328,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")]