From f6c9af5c7f67cea21411758acf67f6688f42706c Mon Sep 17 00:00:00 2001 From: Sander Bosma Date: Tue, 7 Mar 2023 14:20:59 +0100 Subject: [PATCH] chore: upgrade to polkadot 0.9.38 --- Cargo.lock | 1488 ++++++++++------- Cargo.toml | 441 ++--- crates/collator-selection/src/benchmarking.rs | 6 +- crates/collator-selection/src/lib.rs | 4 - crates/collator-selection/src/mock.rs | 4 +- crates/democracy/src/benchmarking.rs | 2 +- crates/tx-pause/src/benchmarking.rs | 6 +- parachain/runtime/interlay/src/lib.rs | 31 +- parachain/runtime/interlay/src/xcm_config.rs | 143 +- parachain/runtime/kintsugi/src/lib.rs | 34 +- parachain/runtime/kintsugi/src/xcm_config.rs | 143 +- parachain/runtime/runtime-tests/Cargo.toml | 2 +- .../relaychain/kusama_cross_chain_transfer.rs | 162 +- .../src/relaychain/kusama_test_net.rs | 21 +- .../polkadot_cross_chain_transfer.rs | 249 +-- .../src/relaychain/polkadot_test_net.rs | 17 +- parachain/runtime/testnet-interlay/src/dex.rs | 2 +- parachain/runtime/testnet-interlay/src/lib.rs | 23 +- .../testnet-interlay/src/xcm_config.rs | 144 +- parachain/runtime/testnet-kintsugi/src/dex.rs | 2 +- parachain/runtime/testnet-kintsugi/src/lib.rs | 36 +- .../testnet-kintsugi/src/xcm_config.rs | 143 +- standalone/runtime/src/lib.rs | 22 +- 23 files changed, 1719 insertions(+), 1406 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0640365c30..2810a291bc 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.3", + "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.3", + "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" @@ -255,7 +288,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -271,7 +304,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -343,19 +376,18 @@ 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.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" +checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc" dependencies = [ "proc-macro2", "quote", @@ -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", @@ -725,9 +757,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" +checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" dependencies = [ "memchr", "serde", @@ -835,9 +867,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" +checksum = "6031a462f977dd38968b6f23378356512feeace69cef817e1a4475108093cec3" dependencies = [ "serde", ] @@ -962,7 +994,7 @@ checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.16.3", "serde", "unsigned-varint", ] @@ -985,6 +1017,16 @@ dependencies = [ "generic-array 0.14.6", ] +[[package]] +name = "cipher" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +dependencies = [ + "crypto-common", + "inout", +] + [[package]] name = "ckb-merkle-mountain-range" version = "0.5.2" @@ -996,9 +1038,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,9 +1049,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.6" +version = "4.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" +checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5" dependencies = [ "bitflags", "clap_derive", @@ -1022,9 +1064,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0" dependencies = [ "heck", "proc-macro-error", @@ -1035,9 +1077,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" dependencies = [ "os_str_bytes", ] @@ -1074,9 +1116,9 @@ dependencies = [ [[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,9 +1184,9 @@ 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" @@ -1211,12 +1253,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 +1377,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 +1387,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 +1398,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 +1421,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 +1453,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 +1467,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" @@ -1462,26 +1489,26 @@ dependencies = [ [[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.3", ] [[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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "clap", "parity-scale-codec", @@ -1496,7 +1523,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1519,7 +1546,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1548,7 +1575,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1571,7 +1598,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1594,7 +1621,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1617,7 +1644,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1640,7 +1667,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1668,7 +1695,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "frame-support", "frame-system", @@ -1684,7 +1711,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1701,7 +1728,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1724,12 +1751,13 @@ 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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1740,7 +1768,7 @@ dependencies = [ [[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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1756,15 +1784,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#3275e271e8937c06dca44331e98f31ef020a71e6" 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 +1804,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1784,12 +1814,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1812,7 +1843,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "futures", @@ -1825,12 +1856,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "frame-support", "log", "parity-scale-codec", + "polkadot-runtime-common", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1841,7 +1874,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1866,7 +1899,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1886,7 +1919,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "array-bytes 6.0.0", "async-trait", @@ -1894,7 +1927,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 +1959,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1934,7 +1967,7 @@ dependencies = [ "futures", "futures-timer", "jsonrpsee", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-service", "sc-client-api", @@ -1955,7 +1988,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2029,9 +2062,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" +checksum = "9a140f260e6f3f79013b8bfc65e7ce630c9ab4388c6a89c71e07226f49487b72" dependencies = [ "cc", "cxxbridge-flags", @@ -2041,9 +2074,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" +checksum = "da6383f459341ea689374bf0a42979739dc421874f112ff26f829b8040b8e613" dependencies = [ "cc", "codespan-reporting", @@ -2056,15 +2089,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" +checksum = "90201c1a650e95ccff1c8c0bb5a343213bdd317c6e600a93075bca2eff54ec97" [[package]] name = "cxxbridge-macro" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" +checksum = "0b75aed41bb2e6367cae39e6326ef817a851db13c13e4f3263714ca3cfb8de56" dependencies = [ "proc-macro2", "quote", @@ -2205,6 +2238,17 @@ dependencies = [ "syn", ] +[[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", +] + [[package]] name = "derive_builder" version = "0.11.2" @@ -2471,9 +2515,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" @@ -2498,9 +2542,9 @@ dependencies = [ [[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 +2588,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", @@ -2613,9 +2657,9 @@ dependencies = [ [[package]] name = "enumn" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132" +checksum = "1940ea32e14d489b401074558be4567f35ca9507c4628b4b3fd6fe6eb2ca7b88" dependencies = [ "proc-macro2", "quote", @@ -2877,9 +2921,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" +checksum = "54b2f3c51e4dd999930845da5d10a48775b8fe4ca9f4f9ec1f9161f334da5dfe" [[package]] name = "file-per-thread-logger" @@ -2976,7 +3020,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 +3043,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 +3062,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,7 +3115,7 @@ 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", @@ -3080,7 +3126,7 @@ dependencies = [ [[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 +3143,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 +3172,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,7 +3188,7 @@ 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", "frame-metadata", @@ -3174,10 +3220,11 @@ 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", @@ -3188,7 +3235,7 @@ dependencies = [ [[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", @@ -3200,7 +3247,7 @@ dependencies = [ [[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", @@ -3210,7 +3257,7 @@ dependencies = [ [[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 +3275,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 +3290,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 +3299,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", @@ -3473,22 +3520,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 +3587,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 +3639,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 +3731,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" @@ -3936,10 +3982,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,9 +4433,9 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3" dependencies = [ "libc", "windows-sys 0.45.0", @@ -4412,13 +4467,13 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" dependencies = [ "hermit-abi 0.3.1", - "io-lifetimes 1.0.5", - "rustix 0.36.8", + "io-lifetimes 1.0.6", + "rustix 0.36.9", "windows-sys 0.45.0", ] @@ -4488,15 +4543,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", ] @@ -4769,8 +4824,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "frame-benchmarking", @@ -4866,8 +4921,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-support", "polkadot-primitives", @@ -4953,16 +5008,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 +5034,7 @@ dependencies = [ "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.16.0", "parking_lot 0.12.1", "pin-project", "smallvec", @@ -5000,8 +5055,42 @@ dependencies = [ "futures-timer", "instant", "log", - "multiaddr", - "multihash", + "multiaddr 0.16.0", + "multihash 0.16.3", + "multistream-select", + "once_cell", + "parking_lot 0.12.1", + "pin-project", + "prost", + "prost-build", + "rand 0.8.5", + "rw-stream-sink", + "sec1", + "sha2 0.10.6", + "smallvec", + "thiserror", + "unsigned-varint", + "void", + "zeroize", +] + +[[package]] +name = "libp2p-core" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881d9a54e97d97cdaa4125d48269d97ca8c40e5fefec6b85b30440dc60cc551f" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "log", + "multiaddr 0.17.0", + "multihash 0.17.0", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -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", @@ -5068,7 +5157,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "prost", @@ -5091,7 +5180,7 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -5108,7 +5197,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 +5214,7 @@ dependencies = [ "asynchronous-codec", "bytes", "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -5143,7 +5232,7 @@ dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "once_cell", "prost", @@ -5166,7 +5255,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -5183,7 +5272,7 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-tls", "log", "parking_lot 0.12.1", @@ -5204,7 +5293,7 @@ dependencies = [ "bytes", "futures", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm", "log", "rand 0.8.5", @@ -5223,7 +5312,7 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-swarm-derive", "log", "pin-project", @@ -5255,7 +5344,7 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.38.0", "log", "socket2", "tokio", @@ -5263,13 +5352,13 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.1.0-alpha" +version = "0.1.0-alpha.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +checksum = "e9baf6f6292149e124ee737d9a79dbee783f29473fc368c7faad9d157841078a" dependencies = [ "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.39.0", "rcgen 0.10.0", "ring", "rustls 0.20.8", @@ -5287,7 +5376,7 @@ checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" dependencies = [ "futures", "js-sys", - "libp2p-core", + "libp2p-core 0.38.0", "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", @@ -5306,10 +5395,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 +5422,7 @@ dependencies = [ "either", "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "quicksink", @@ -5350,7 +5439,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 +5693,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 +5794,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.9", ] [[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 +5824,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 +5840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -5795,7 +5902,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 +5921,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", @@ -5884,7 +5991,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 +6045,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" @@ -6053,9 +6191,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", @@ -6076,6 +6214,20 @@ dependencies = [ "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", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -6092,15 +6244,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 +6359,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -6364,7 +6507,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 +6526,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 +6544,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 +6559,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 +6568,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-core", "sp-io", "sp-runtime", "sp-std", @@ -6434,7 +6578,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 +6593,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 +6607,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 +6622,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 +6636,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 +6650,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", @@ -6574,7 +6718,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 +6734,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 +6750,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 +6764,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 +6788,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 +6808,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 +6823,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 +6839,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 +6862,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 +6880,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 +6899,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 +6916,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 +6933,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 +6951,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 +6974,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 +6987,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 +7005,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 +7023,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 +7046,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 +7062,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 +7082,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 +7099,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 +7116,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 +7133,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 +7149,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 +7165,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 +7182,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 +7202,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 +7212,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 +7229,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 +7253,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 +7270,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 +7285,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 +7303,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 +7318,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 +7337,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 +7354,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 +7375,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 +7391,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 +7405,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,7 +7428,7 @@ 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", @@ -7295,7 +7439,7 @@ dependencies = [ [[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 +7448,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 +7465,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 +7479,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 +7497,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 +7516,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 +7532,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 +7548,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 +7560,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 +7577,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 +7593,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 +7608,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 +7622,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -7488,6 +7633,7 @@ dependencies = [ "scale-info", "serde", "sp-core", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -7496,8 +7642,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-benchmarking", "frame-support", @@ -7505,16 +7651,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#3275e271e8937c06dca44331e98f31ef020a71e6" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -7630,9 +7778,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" +checksum = "df89dd8311063c54ae4e03d9aeb597b04212a57e82c339344130a9cad9b3e2d9" dependencies = [ "blake2", "crc32fast", @@ -7644,6 +7792,7 @@ dependencies = [ "memmap2", "parking_lot 0.12.1", "rand 0.8.5", + "siphasher", "snap", ] @@ -7742,9 +7891,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 +7945,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 +7955,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,9 +7965,9 @@ 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", @@ -7829,9 +7978,9 @@ dependencies = [ [[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", @@ -7916,8 +8065,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "polkadot-node-metrics", @@ -7931,8 +8080,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -7945,13 +8094,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "derive_more", "fatality", "futures", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -7968,12 +8117,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "fatality", "futures", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -7989,8 +8138,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "clap", "frame-benchmarking-cli", @@ -8004,6 +8153,7 @@ dependencies = [ "sc-cli", "sc-executor", "sc-service", + "sc-storage-monitor", "sc-sysinfo", "sc-tracing", "sp-core", @@ -8016,8 +8166,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "frame-benchmarking", @@ -8059,8 +8209,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "always-assert", "bitvec", @@ -8081,8 +8231,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "parity-scale-codec", "scale-info", @@ -8093,15 +8243,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" 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 +8268,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8132,8 +8282,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "futures-timer", @@ -8152,8 +8302,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "always-assert", "async-trait", @@ -8176,8 +8326,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "parity-scale-codec", @@ -8194,15 +8344,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "derive_more", "futures", "futures-timer", "kvdb", - "lru", + "lru 0.9.0", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -8223,8 +8373,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "futures", @@ -8243,8 +8393,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "fatality", @@ -8262,8 +8412,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "polkadot-node-subsystem", @@ -8277,8 +8427,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "futures", @@ -8296,8 +8446,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "polkadot-node-metrics", @@ -8311,8 +8461,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "futures-timer", @@ -8328,13 +8478,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "fatality", "futures", "kvdb", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8347,8 +8497,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "futures", @@ -8364,8 +8514,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "fatality", @@ -8382,8 +8532,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "always-assert", "assert_matches", @@ -8414,8 +8564,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", "polkadot-node-primitives", @@ -8430,11 +8580,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "futures", - "lru", + "lru 0.9.0", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", @@ -8445,8 +8595,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "lazy_static", "log", @@ -8463,8 +8613,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bs58", "futures", @@ -8482,8 +8632,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "derive_more", @@ -8505,8 +8655,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bounded-vec", "futures", @@ -8527,8 +8677,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -8537,8 +8687,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "derive_more", @@ -8560,8 +8710,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "derive_more", @@ -8570,7 +8720,7 @@ dependencies = [ "futures-channel", "itertools", "kvdb", - "lru", + "lru 0.9.0", "parity-db", "parity-scale-codec", "parking_lot 0.11.2", @@ -8593,13 +8743,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "futures", "futures-timer", - "lru", + "lru 0.9.0", "orchestra", "parking_lot 0.12.1", "polkadot-node-metrics", @@ -8616,8 +8766,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "derive_more", "frame-support", @@ -8632,8 +8782,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "env_logger 0.9.3", "kusama-runtime", @@ -8647,8 +8797,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "hex-literal 0.3.4", @@ -8673,8 +8823,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -8705,8 +8855,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "frame-benchmarking", @@ -8794,8 +8944,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "frame-benchmarking", @@ -8811,6 +8961,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 +8993,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-support", "polkadot-primitives", @@ -8856,8 +9007,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bs58", "parity-scale-codec", @@ -8868,8 +9019,8 @@ 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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitflags", "bitvec", @@ -8911,11 +9062,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "async-trait", "beefy-gadget", + "frame-benchmarking-cli", "frame-support", "frame-system-rpc-runtime-api", "futures", @@ -8923,7 +9075,8 @@ dependencies = [ "kusama-runtime", "kvdb", "kvdb-rocksdb", - "lru", + "log", + "lru 0.9.0", "mmr-gadget", "pallet-babe", "pallet-im-online", @@ -9018,8 +9171,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -9039,8 +9192,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9069,30 +9222,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]] @@ -9145,9 +9299,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +checksum = "4ebcd279d20a4a0a2404a33056388e950504d891c855c7975b9a8fef75f3bf04" dependencies = [ "proc-macro2", "syn", @@ -9184,9 +9338,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", @@ -9270,9 +9424,9 @@ dependencies = [ [[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 +9434,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", @@ -9315,9 +9469,9 @@ 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", @@ -9328,11 +9482,10 @@ dependencies = [ [[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", ] @@ -9599,9 +9752,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 +9762,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 +9780,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.20", "x509-parser 0.13.2", "yasna", ] @@ -9640,7 +9793,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.20", "yasna", ] @@ -9742,18 +9895,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" +checksum = "a9af2cf09ef80e610097515e80095b7f76660a92743c4185aff5406cd5ce3dd5" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" +checksum = "9c501201393982e275433bc55de7d6ae6f00e7699cd5572c5b57581cd69c881b" dependencies = [ "proc-macro2", "quote", @@ -9798,15 +9951,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 +10098,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "beefy-merkle-tree", "frame-benchmarking", @@ -10040,8 +10184,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-support", "polkadot-primitives", @@ -10084,7 +10228,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix", + "nix 0.24.3", "thiserror", "tokio", ] @@ -10203,13 +10347,13 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.8" +version = "0.36.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.5", + "io-lifetimes 1.0.6", "libc", "linux-raw-sys 0.1.4", "windows-sys 0.45.0", @@ -10263,9 +10407,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" @@ -10280,9 +10424,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" @@ -10296,7 +10440,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", @@ -10307,7 +10451,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", @@ -10334,7 +10478,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", @@ -10357,7 +10501,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", @@ -10373,7 +10517,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", @@ -10388,7 +10532,7 @@ 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", @@ -10399,7 +10543,7 @@ dependencies = [ [[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", @@ -10439,7 +10583,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", @@ -10465,7 +10609,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", @@ -10478,6 +10622,7 @@ dependencies = [ "parking_lot 0.12.1", "sc-client-api", "sc-state-db", + "schnellru", "sp-arithmetic", "sp-blockchain", "sp-core", @@ -10490,7 +10635,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", @@ -10515,7 +10660,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", @@ -10544,7 +10689,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", @@ -10582,7 +10727,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", @@ -10604,7 +10749,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", @@ -10617,7 +10762,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", @@ -10651,7 +10796,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", @@ -10674,9 +10819,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", @@ -10698,7 +10843,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", @@ -10711,7 +10856,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", @@ -10724,7 +10869,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", @@ -10741,9 +10886,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", @@ -10781,7 +10926,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", @@ -10801,7 +10946,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", @@ -10816,7 +10961,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", @@ -10831,7 +10976,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", @@ -10845,7 +10990,7 @@ dependencies = [ "ip_network", "libp2p", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -10873,7 +11018,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", @@ -10892,7 +11037,7 @@ 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", @@ -10918,14 +11063,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", @@ -10936,7 +11081,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", @@ -10957,7 +11102,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", @@ -10965,7 +11110,7 @@ dependencies = [ "futures", "libp2p", "log", - "lru", + "lru 0.8.1", "mockall", "parity-scale-codec", "prost", @@ -10989,7 +11134,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", @@ -11008,7 +11153,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", @@ -11038,7 +11183,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", @@ -11051,7 +11196,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", @@ -11060,7 +11205,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", @@ -11084,12 +11229,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", @@ -11108,7 +11254,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", @@ -11123,7 +11269,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", @@ -11149,7 +11295,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", @@ -11180,6 +11326,7 @@ dependencies = [ "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", + "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -11214,7 +11361,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", @@ -11222,10 +11369,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", @@ -11244,7 +11407,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", @@ -11263,7 +11426,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", @@ -11282,7 +11445,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", @@ -11313,7 +11476,7 @@ 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", @@ -11324,13 +11487,14 @@ dependencies = [ [[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", @@ -11350,7 +11514,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", @@ -11364,7 +11528,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", @@ -11410,6 +11574,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" @@ -11436,9 +11611,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" @@ -11616,9 +11791,9 @@ dependencies = [ [[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", @@ -11638,6 +11813,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" @@ -11730,11 +11916,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", ] @@ -11747,8 +11939,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "enumn", "parity-scale-codec", @@ -11797,9 +11989,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", @@ -11825,7 +12017,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", @@ -11843,7 +12035,7 @@ 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", @@ -11855,7 +12047,7 @@ dependencies = [ [[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", @@ -11868,7 +12060,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", @@ -11882,7 +12074,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", @@ -11892,22 +12084,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", @@ -11924,7 +12104,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", @@ -11936,11 +12116,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", @@ -11954,7 +12134,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", @@ -11972,7 +12152,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", @@ -11990,7 +12170,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", @@ -12013,7 +12193,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", @@ -12025,7 +12205,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", @@ -12038,7 +12218,7 @@ 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", @@ -12080,7 +12260,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", @@ -12094,7 +12274,7 @@ 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", @@ -12105,7 +12285,7 @@ dependencies = [ [[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", @@ -12114,7 +12294,7 @@ 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", @@ -12124,7 +12304,7 @@ dependencies = [ [[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", @@ -12135,7 +12315,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", @@ -12153,7 +12333,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", @@ -12167,7 +12347,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", @@ -12192,7 +12372,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", @@ -12203,7 +12383,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", @@ -12220,7 +12400,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", @@ -12229,7 +12409,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", @@ -12247,7 +12427,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", @@ -12261,7 +12441,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", @@ -12271,7 +12451,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", @@ -12281,7 +12461,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", @@ -12291,7 +12471,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", @@ -12313,7 +12493,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", @@ -12331,7 +12511,7 @@ 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", @@ -12343,7 +12523,7 @@ dependencies = [ [[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", @@ -12357,7 +12537,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", @@ -12369,7 +12549,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", @@ -12389,12 +12569,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", @@ -12407,7 +12587,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", @@ -12422,7 +12602,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", @@ -12434,7 +12614,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", @@ -12443,7 +12623,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", @@ -12459,18 +12639,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", @@ -12482,7 +12662,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", @@ -12499,7 +12679,7 @@ 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", @@ -12510,7 +12690,7 @@ dependencies = [ [[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", @@ -12523,7 +12703,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", @@ -12559,9 +12739,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", @@ -12737,7 +12917,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", ] @@ -12745,7 +12925,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", @@ -12764,7 +12944,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", @@ -12776,7 +12956,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", @@ -12789,7 +12969,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", @@ -12808,7 +12988,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", @@ -12860,9 +13040,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -12916,16 +13096,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.9", + "windows-sys 0.42.0", ] [[package]] @@ -13169,18 +13348,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" dependencies = [ "proc-macro2", "quote", @@ -13259,9 +13438,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", @@ -13277,9 +13456,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", ] @@ -13330,9 +13509,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", @@ -13345,7 +13524,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -13372,9 +13551,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", @@ -13408,19 +13587,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.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825" dependencies = [ "indexmap", - "nom8", "toml_datetime", + "winnow", ] [[package]] @@ -13510,8 +13689,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -13521,8 +13700,8 @@ 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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -13602,7 +13781,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", @@ -13672,7 +13851,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", @@ -13787,9 +13966,9 @@ checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[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" @@ -13822,6 +14001,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" @@ -14084,9 +14273,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", @@ -14100,9 +14289,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", @@ -14112,9 +14301,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", @@ -14415,7 +14604,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.19", + "time 0.3.20", "tokio", "turn", "url", @@ -14447,12 +14636,12 @@ 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", @@ -14462,7 +14651,7 @@ dependencies = [ "der-parser 8.1.0", "elliptic-curve", "hkdf", - "hmac 0.10.1", + "hmac 0.12.1", "log", "oid-registry 0.6.1", "p256", @@ -14474,8 +14663,8 @@ dependencies = [ "rustls 0.19.1", "sec1", "serde", - "sha-1", - "sha2 0.9.9", + "sha1", + "sha2 0.10.6", "signature", "subtle", "thiserror", @@ -14594,7 +14783,7 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", + "nix 0.24.3", "rand 0.8.5", "thiserror", "tokio", @@ -14612,8 +14801,8 @@ dependencies = [ [[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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "bitvec", "frame-benchmarking", @@ -14657,6 +14846,7 @@ dependencies = [ "pallet-society", "pallet-staking", "pallet-staking-reward-curve", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -14702,8 +14892,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-support", "polkadot-primitives", @@ -14929,6 +15119,15 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +[[package]] +name = "winnow" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee7b2c67f962bf5042bfd8b6a916178df33a26eec343ae064cb8e069f638fa6f" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.10.1" @@ -14985,7 +15184,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -15003,30 +15202,33 @@ dependencies = [ "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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" 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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "pallet-transaction-payment", "parity-scale-codec", @@ -15043,7 +15245,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", @@ -15068,9 +15270,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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ + "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", @@ -15081,13 +15284,14 @@ 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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "Inflector", "proc-macro2", @@ -15097,8 +15301,8 @@ dependencies = [ [[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#8deef133d3ca1bdea8c6267c4a66ecabb903a18b" dependencies = [ "frame-support", "parity-scale-codec", @@ -15132,7 +15336,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]] 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/interlay/src/lib.rs b/parachain/runtime/interlay/src/lib.rs index 4b2c379474..de2d29f56a 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, @@ -1269,10 +1262,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 { @@ -1398,6 +1393,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 6f0439cb8c..3f35e7c055 100644 --- a/parachain/runtime/interlay/src/xcm_config.rs +++ b/parachain/runtime/interlay/src/xcm_config.rs @@ -13,16 +13,15 @@ use orml_traits::{ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; -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, Config, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -71,7 +70,7 @@ pub type Barrier = ( 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; } @@ -89,27 +88,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; @@ -154,6 +161,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 Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -162,7 +195,6 @@ impl 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; @@ -170,6 +202,16 @@ impl 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. @@ -179,11 +221,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; @@ -196,9 +244,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 { @@ -214,6 +270,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -234,24 +291,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: data.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; @@ -275,9 +334,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), @@ -293,13 +356,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))) @@ -343,7 +406,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -360,9 +423,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/lib.rs b/parachain/runtime/kintsugi/src/lib.rs index 863b8fffd8..ca6efbf448 100644 --- a/parachain/runtime/kintsugi/src/lib.rs +++ b/parachain/runtime/kintsugi/src/lib.rs @@ -14,7 +14,7 @@ use frame_support::{ dispatch::{DispatchError, DispatchResult}, traits::{ ConstU32, Contains, Currency as PalletCurrency, EitherOfDiverse, EnsureOrigin, EnsureOriginWithArg, - EqualPrivilegeOnly, ExistenceRequirement, Imbalance, InstanceFilter, OnRuntimeUpgrade, OnUnbalanced, + EqualPrivilegeOnly, ExistenceRequirement, Imbalance, InstanceFilter, OnUnbalanced, }, weights::ConstantMultiplier, PalletId, @@ -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, @@ -1314,7 +1307,10 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - (dex::DexSetup, dex::LoansSetup), + ( + orml_asset_registry::Migration, + orml_unknown_tokens::Migration, + ), >; #[cfg(not(feature = "disable-runtime-api"))] @@ -1424,6 +1420,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 e2d79559e6..f403be4f7e 100644 --- a/parachain/runtime/kintsugi/src/xcm_config.rs +++ b/parachain/runtime/kintsugi/src/xcm_config.rs @@ -12,15 +12,14 @@ use orml_traits::{ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; -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, Config, XcmExecutor}; use CurrencyId::ForeignAsset; parameter_types! { @@ -70,7 +69,7 @@ pub type Barrier = ( 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 Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -157,7 +190,6 @@ impl 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 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: data.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 901ad15a33..0ecf4f9eaa 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(), }, ]) } @@ -178,26 +175,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); }); } @@ -217,28 +208,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); @@ -278,7 +254,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(SIBLING_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) @@ -319,7 +295,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(KINTSUGI_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), } ) @@ -362,7 +338,6 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); @@ -370,10 +345,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 )); }); @@ -395,16 +370,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)); }); @@ -418,12 +393,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) @@ -439,12 +414,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)); }); } @@ -455,7 +430,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); }); @@ -466,7 +441,7 @@ fn subscribe_version_notify_works() { parents: 0, interior: X1(Parachain(KINTSUGI_PARA_ID)), }, - 2, + 3, ), )); }); @@ -486,7 +461,7 @@ fn subscribe_version_notify_works() { parents: 1, interior: Here, }, - 2, + 3, ), )); }); @@ -524,9 +499,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: data.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); @@ -537,6 +528,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(); @@ -546,17 +538,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(), @@ -564,7 +550,7 @@ fn trap_assets_works() { ]; assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), Xcm(xcm), )); }); @@ -617,31 +603,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), )); }); @@ -667,16 +642,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 fd5d72b436..652707ebda 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 @@ -187,15 +183,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 )); @@ -231,16 +220,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 )); }); @@ -291,7 +271,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(SIBLING_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) @@ -332,7 +312,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(INTERLAY_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), } ) @@ -374,7 +354,6 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]) @@ -382,9 +361,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 @@ -393,10 +373,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 )); }); @@ -416,7 +396,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)); }); @@ -425,7 +406,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) @@ -435,7 +417,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)); }); } @@ -446,7 +429,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); }); @@ -457,7 +440,7 @@ fn subscribe_version_notify_works() { parents: 0, interior: X1(Parachain(INTERLAY_PARA_ID)), }, - 2, + 3, ), )); }); @@ -477,7 +460,7 @@ fn subscribe_version_notify_works() { parents: 1, interior: Here, }, - 2, + 3, ), )); }); @@ -518,8 +501,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: data.len() as u8, + data, + } +} + #[test] fn trap_assets_works() { let mut intr_treasury_amount = 0; @@ -541,17 +540,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(), @@ -568,7 +561,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), )); }); @@ -615,24 +608,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(); @@ -640,7 +622,7 @@ fn trap_assets_works() { let trapped_dot_amount = trapped_assets .clone() .unwrap() - .drain() + .into_inner() .into_iter() .find_map(|x| match x { MultiAsset { @@ -659,26 +641,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(), }, ]) } @@ -687,7 +658,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), )); }); @@ -716,16 +687,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(), @@ -733,110 +695,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 5398c063fe..50a39c2358 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 9e55384073..acb85fa08a 100644 --- a/parachain/runtime/testnet-interlay/src/xcm_config.rs +++ b/parachain/runtime/testnet-interlay/src/xcm_config.rs @@ -6,18 +6,17 @@ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdap use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use primitives::{Balance, CurrencyId, CurrencyId::ForeignAsset}; -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, Config, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -59,7 +58,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 = ( @@ -87,23 +86,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; @@ -160,6 +169,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 Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -168,7 +203,6 @@ impl 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; @@ -176,6 +210,16 @@ impl 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. @@ -185,11 +229,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; @@ -202,9 +252,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 { @@ -220,6 +278,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -240,24 +299,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: data.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; @@ -282,9 +342,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), @@ -300,13 +364,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))) @@ -348,7 +412,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -365,9 +429,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 2309383eb1..9cc930b4de 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 47b48b7d40..f85af23f01 100644 --- a/parachain/runtime/testnet-kintsugi/src/xcm_config.rs +++ b/parachain/runtime/testnet-kintsugi/src/xcm_config.rs @@ -6,15 +6,14 @@ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdap use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use primitives::{Balance, CurrencyId, CurrencyId::ForeignAsset}; -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, Config, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -56,7 +55,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 = ( @@ -84,23 +83,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; @@ -157,6 +164,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 Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -165,7 +198,6 @@ impl 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; @@ -173,6 +205,16 @@ impl 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. @@ -182,11 +224,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; @@ -199,9 +247,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 { @@ -217,6 +273,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -237,24 +294,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: data.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; @@ -279,9 +338,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), @@ -297,13 +360,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))) @@ -345,7 +408,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -362,9 +425,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/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")]