From 26fda8bc9d3c557df880eddb22f879e31268017f Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Mon, 12 Jun 2023 11:02:25 +0800 Subject: [PATCH 01/13] update to 0.9.38 --- Cargo.lock | 1223 +++++++++++++++++++++++++++++----------------------- Cargo.toml | 288 ++++++------- 2 files changed, 825 insertions(+), 686 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9118adfe3..b0096925a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,7 +153,19 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", + "once_cell", + "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.10", "once_cell", "version_check", ] @@ -169,9 +181,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] @@ -182,6 +194,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4436e0292ab1bb631b42973c61205e704475fe8126af845c8d923c0996328127" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -313,7 +331,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.21", + "time 0.3.22", ] [[package]] @@ -329,7 +347,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.21", + "time 0.3.22", ] [[package]] @@ -393,9 +411,9 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.19", + "rustix 0.37.20", "slab", - "socket2", + "socket2 0.4.9", "waker-fn", ] @@ -416,7 +434,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -478,7 +496,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide 0.6.2", - "object 0.30.3", + "object 0.30.4", "rustc-demangle", ] @@ -530,7 +548,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -564,7 +582,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "beefy-gadget", "futures 0.3.28", @@ -583,7 +601,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "sp-api", "sp-beefy", @@ -670,9 +688,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" dependencies = [ "arrayref", "arrayvec 0.7.2", @@ -931,13 +949,13 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "time 0.1.45", "wasm-bindgen", @@ -1007,9 +1025,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.0" +version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc" +checksum = "ca8f255e4b8027970e78db75e78831229c9815fdbfa67eb1a1b777a62e24b4a0" dependencies = [ "clap_builder", "clap_derive", @@ -1018,9 +1036,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.0" +version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990" +checksum = "acd4f3c17c83b0ba34ffbc4f8bbd74f079413f747f84a6f89292f138057e36ab" dependencies = [ "anstream", "anstyle", @@ -1031,14 +1049,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.3.0" +version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b" +checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -1077,9 +1095,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "comfy-table" -version = "6.1.4" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d" +checksum = "7e959d788268e3bf9d35ace83e81b124190378e4c91c9067524675e33394b8ba" dependencies = [ "strum", "strum_macros", @@ -1115,9 +1133,9 @@ checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "constant_time_eq" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" +checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" [[package]] name = "convert_case" @@ -1423,7 +1441,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "clap", "parity-scale-codec", @@ -1438,7 +1456,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1461,7 +1479,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1490,7 +1508,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1513,7 +1531,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1536,7 +1554,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1559,7 +1577,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1582,7 +1600,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1610,7 +1628,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "frame-support", "frame-system", @@ -1626,7 +1644,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1643,7 +1661,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1666,12 +1684,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.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1682,7 +1701,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "frame-benchmarking", "frame-support", @@ -1696,7 +1715,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1712,7 +1731,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -1720,8 +1739,10 @@ dependencies = [ "frame-system", "log", "parity-scale-codec", + "polkadot-runtime-common", "rand_chacha 0.3.1", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1731,7 +1752,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1741,12 +1762,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.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1769,7 +1791,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "futures 0.3.28", @@ -1782,12 +1804,14 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", "log", "parity-scale-codec", + "polkadot-runtime-common", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1798,7 +1822,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1823,7 +1847,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1831,7 +1855,6 @@ dependencies = [ "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "polkadot-service", "sc-client-api", "sp-api", "sp-blockchain", @@ -1843,7 +1866,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "array-bytes 6.1.0", "async-trait", @@ -1851,7 +1874,7 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures 0.3.28", - "lru", + "lru 0.9.0", "polkadot-core-primitives", "polkadot-network-bridge", "polkadot-node-network-protocol", @@ -1883,7 +1906,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1891,7 +1914,7 @@ dependencies = [ "futures 0.3.28", "futures-timer", "jsonrpsee", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-service", "sc-client-api", @@ -1912,7 +1935,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -1986,7 +2009,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -2003,7 +2026,7 @@ checksum = "4a076022ece33e7686fb76513518e219cca4fce5750a8ae6d1ce6c0f48fd1af9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -2117,6 +2140,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_builder" version = "0.11.2" @@ -2245,7 +2279,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -2335,7 +2369,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", @@ -2405,7 +2439,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -2416,7 +2450,7 @@ checksum = "48016319042fb7c87b78d2993084a831793a897a5cd1a2a67cab9d1eeb4b7d76" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -2685,13 +2719,12 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "async-trait", "fc-db", "fp-consensus", "fp-rpc", - "sc-client-api", "sc-consensus", "sp-api", "sp-block-builder", @@ -2704,7 +2737,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-storage", "kvdb-rocksdb", @@ -2723,9 +2756,10 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fc-db", + "fc-storage", "fp-consensus", "fp-rpc", "futures 0.3.28", @@ -2740,13 +2774,14 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ethereum", "ethereum-types", "evm", "fc-db", "fc-rpc-core", + "fc-storage", "fp-ethereum", "fp-rpc", "fp-storage", @@ -2755,7 +2790,7 @@ dependencies = [ "jsonrpsee", "libsecp256k1", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "prometheus", "rand 0.8.5", @@ -2774,7 +2809,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-storage", "substrate-prometheus-endpoint", "tokio", ] @@ -2782,7 +2816,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ethereum", "ethereum-types", @@ -2792,6 +2826,24 @@ dependencies = [ "serde_json", ] +[[package]] +name = "fc-storage" +version = "1.0.0-dev" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" +dependencies = [ + "ethereum", + "ethereum-types", + "fp-rpc", + "fp-storage", + "parity-scale-codec", + "sc-client-api", + "sp-api", + "sp-blockchain", + "sp-io", + "sp-runtime", + "sp-storage", +] + [[package]] name = "fdlimit" version = "0.2.1" @@ -2902,16 +2954,16 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2919,7 +2971,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ethereum", "parity-scale-codec", @@ -2931,7 +2983,7 @@ dependencies = [ [[package]] name = "fp-dynamic-fee" version = "1.0.0" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "async-trait", "sp-core", @@ -2941,7 +2993,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ethereum", "ethereum-types", @@ -2955,7 +3007,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "evm", "frame-support", @@ -2969,7 +3021,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ethereum", "ethereum-types", @@ -2985,7 +3037,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "frame-support", "parity-scale-codec", @@ -2997,7 +3049,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "parity-scale-codec", "serde", @@ -3012,9 +3064,10 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log", @@ -3030,12 +3083,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.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "Inflector", "array-bytes 4.2.0", @@ -3082,7 +3136,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3093,7 +3147,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3110,7 +3164,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -3139,7 +3193,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "log", @@ -3155,7 +3209,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "bitflags", "frame-metadata", @@ -3187,10 +3241,11 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -3201,7 +3256,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -3213,7 +3268,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro2", "quote", @@ -3223,7 +3278,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "log", @@ -3241,7 +3296,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -3256,7 +3311,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "sp-api", @@ -3265,7 +3320,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "parity-scale-codec", @@ -3374,7 +3429,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -3480,9 +3535,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "libc", @@ -3655,7 +3710,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]] @@ -3917,7 +3981,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.9", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -3942,9 +4006,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3982,9 +4046,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -4064,7 +4128,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -4145,13 +4209,13 @@ checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] name = "ipconfig" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.3", "widestring", - "winapi", + "windows-sys 0.48.0", "winreg", ] @@ -4169,7 +4233,7 @@ checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes 1.0.11", - "rustix 0.37.19", + "rustix 0.37.20", "windows-sys 0.48.0", ] @@ -4486,8 +4550,8 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -4583,8 +4647,8 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -4645,9 +4709,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.144" +version = "0.2.146" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" [[package]] name = "libloading" @@ -4680,7 +4744,7 @@ dependencies = [ "bytes", "futures 0.3.28", "futures-timer", - "getrandom 0.2.9", + "getrandom 0.2.10", "instant", "libp2p-core 0.38.0", "libp2p-dns", @@ -4793,7 +4857,7 @@ dependencies = [ "libp2p-core 0.38.0", "libp2p-swarm", "log", - "lru", + "lru 0.8.1", "prost", "prost-build", "prost-codec", @@ -4862,7 +4926,7 @@ dependencies = [ "log", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.4.9", "tokio", "trust-dns-proto", "void", @@ -5023,7 +5087,7 @@ dependencies = [ "libc", "libp2p-core 0.38.0", "log", - "socket2", + "socket2 0.4.9", "tokio", ] @@ -5246,9 +5310,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -5256,12 +5320,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" [[package]] name = "lru" @@ -5269,7 +5330,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]] @@ -5362,7 +5432,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ - "rustix 0.37.19", + "rustix 0.37.20", ] [[package]] @@ -5383,6 +5453,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.8.0" @@ -5399,7 +5478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -5457,20 +5536,19 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "log", @@ -5489,7 +5567,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "anyhow", "jsonrpsee", @@ -5761,6 +5839,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" @@ -5908,16 +6000,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] [[package]] name = "object" -version = "0.30.3" +version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" dependencies = [ "memchr", ] @@ -5942,9 +6034,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opaque-debug" @@ -6008,7 +6100,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "frame-support", "frame-system", @@ -6026,7 +6118,7 @@ dependencies = [ [[package]] name = "orml-oracle-rpc" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "jsonrpsee", "orml-oracle-rpc-runtime-api", @@ -6041,7 +6133,7 @@ dependencies = [ [[package]] name = "orml-oracle-rpc-runtime-api" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "parity-scale-codec", "sp-api", @@ -6051,7 +6143,7 @@ dependencies = [ [[package]] name = "orml-traits" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -6060,6 +6152,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-core", "sp-io", "sp-runtime", "sp-std", @@ -6069,7 +6162,7 @@ dependencies = [ [[package]] name = "orml-utilities" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "frame-support", "parity-scale-codec", @@ -6083,7 +6176,7 @@ dependencies = [ [[package]] name = "orml-vesting" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "frame-support", "frame-system", @@ -6098,7 +6191,7 @@ dependencies = [ [[package]] name = "orml-xcm" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "frame-support", "frame-system", @@ -6112,7 +6205,7 @@ dependencies = [ [[package]] name = "orml-xcm-support" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "frame-support", "orml-traits", @@ -6126,7 +6219,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=16b6c1149a15674d21c87244b7988a667e2c14d9#16b6c1149a15674d21c87244b7988a667e2c14d9" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=241d5cdc98cca53b8cf990853943c9ae1193a70e#241d5cdc98cca53b8cf990853943c9ae1193a70e" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -6222,7 +6315,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6240,7 +6333,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6255,7 +6348,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -6271,7 +6364,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -6287,14 +6380,13 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", "sp-runtime", "sp-std", ] @@ -6302,7 +6394,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6326,7 +6418,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6346,7 +6438,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6361,7 +6453,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", "frame-support", @@ -6375,7 +6467,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -6391,7 +6483,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "beefy-merkle-tree", @@ -6414,7 +6506,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6452,7 +6544,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6471,7 +6563,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "frame-benchmarking", "frame-support", @@ -6490,7 +6582,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6507,7 +6599,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6582,7 +6674,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6600,7 +6692,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6623,7 +6715,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6636,7 +6728,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6669,7 +6761,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ethereum", "ethereum-types", @@ -6695,7 +6787,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "environmental", "evm", @@ -6774,7 +6866,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", ] @@ -6782,7 +6874,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", "sp-core", @@ -6792,7 +6884,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", "frame-support", @@ -6802,7 +6894,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "ed25519-dalek", "fp-evm", @@ -6811,7 +6903,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", "num", @@ -6820,7 +6912,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", "tiny-keccak", @@ -6829,7 +6921,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=bda55d8f4e5b7384574abb16fdc65095927ce685#bda55d8f4e5b7384574abb16fdc65095927ce685" +source = "git+https://github.com/parallel-finance/frontier.git?rev=5644279da588baab7caa9f3a4eb69363e1606461#5644279da588baab7caa9f3a4eb69363e1606461" dependencies = [ "fp-evm", "ripemd", @@ -6883,7 +6975,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6901,7 +6993,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6924,7 +7016,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6940,7 +7032,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -6960,7 +7052,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7078,7 +7170,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7095,7 +7187,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7112,7 +7204,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7128,7 +7220,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7144,7 +7236,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -7161,7 +7253,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7181,7 +7273,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "sp-api", @@ -7191,7 +7283,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -7208,12 +7300,13 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", + "log", "pallet-babe", "pallet-balances", "pallet-grandpa", @@ -7231,7 +7324,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7272,7 +7365,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7287,7 +7380,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7305,7 +7398,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7320,7 +7413,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7388,7 +7481,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7405,7 +7498,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -7426,7 +7519,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7442,7 +7535,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -7479,7 +7572,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7502,7 +7595,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7513,7 +7606,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "log", "sp-arithmetic", @@ -7522,7 +7615,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7563,7 +7656,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -7577,7 +7670,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7595,7 +7688,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7636,7 +7729,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-support", "frame-system", @@ -7652,7 +7745,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7668,7 +7761,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7680,7 +7773,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7697,7 +7790,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7712,7 +7805,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7728,7 +7821,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7743,7 +7836,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-benchmarking", "frame-support", @@ -7757,9 +7850,10 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -7767,6 +7861,7 @@ dependencies = [ "scale-info", "serde", "sp-core", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -7775,8 +7870,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-benchmarking", "frame-support", @@ -7784,9 +7879,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", + "xcm-builder", "xcm-executor", ] @@ -7832,7 +7929,7 @@ dependencies = [ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -7844,7 +7941,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "1.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-utility", "frame-support", @@ -7864,6 +7961,7 @@ dependencies = [ "sp-std", "substrate-wasm-builder", "xcm", + "xcm-builder", "xcm-executor", ] @@ -8181,7 +8279,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.8", ] [[package]] @@ -8200,15 +8298,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.48.0", ] [[package]] @@ -8261,9 +8359,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" @@ -8295,7 +8393,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -8336,7 +8434,7 @@ checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -8387,8 +8485,8 @@ checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" [[package]] name = "polkadot-approval-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "polkadot-node-metrics", @@ -8402,8 +8500,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "polkadot-node-network-protocol", @@ -8416,13 +8514,13 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "fatality", "futures 0.3.28", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8439,12 +8537,12 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "fatality", "futures 0.3.28", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8460,8 +8558,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "clap", "frame-benchmarking-cli", @@ -8475,6 +8573,7 @@ dependencies = [ "sc-cli", "sc-executor", "sc-service", + "sc-storage-monitor", "sc-sysinfo", "sc-tracing", "sp-core", @@ -8487,8 +8586,8 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "frame-benchmarking", @@ -8530,8 +8629,8 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "bitvec", @@ -8552,8 +8651,8 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "scale-info", @@ -8564,15 +8663,15 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "fatality", "futures 0.3.28", "futures-timer", "indexmap", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8589,8 +8688,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8603,8 +8702,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "futures-timer", @@ -8623,8 +8722,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "async-trait", @@ -8647,8 +8746,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "parity-scale-codec", @@ -8665,15 +8764,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "derive_more", "futures 0.3.28", "futures-timer", "kvdb", - "lru", + "lru 0.9.0", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -8694,8 +8793,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "futures 0.3.28", @@ -8714,8 +8813,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "fatality", @@ -8733,8 +8832,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "polkadot-node-subsystem", @@ -8748,8 +8847,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures 0.3.28", @@ -8767,8 +8866,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "polkadot-node-metrics", @@ -8782,8 +8881,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "futures-timer", @@ -8799,13 +8898,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "fatality", "futures 0.3.28", "kvdb", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8818,8 +8917,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures 0.3.28", @@ -8835,8 +8934,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "fatality", @@ -8853,8 +8952,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "assert_matches", @@ -8885,8 +8984,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", "polkadot-node-primitives", @@ -8901,11 +9000,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures 0.3.28", - "lru", + "lru 0.9.0", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", @@ -8916,8 +9015,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "lazy_static", "log", @@ -8934,8 +9033,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bs58", "futures 0.3.28", @@ -8953,8 +9052,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8976,8 +9075,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bounded-vec", "futures 0.3.28", @@ -8998,8 +9097,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -9008,8 +9107,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -9031,8 +9130,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -9041,7 +9140,7 @@ dependencies = [ "futures-channel", "itertools", "kvdb", - "lru", + "lru 0.9.0", "parity-db", "parity-scale-codec", "parking_lot 0.11.2", @@ -9064,13 +9163,13 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures 0.3.28", "futures-timer", - "lru", + "lru 0.9.0", "orchestra", "parking_lot 0.12.1", "polkadot-node-metrics", @@ -9087,8 +9186,8 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "frame-support", @@ -9103,8 +9202,8 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "env_logger 0.9.3", "kusama-runtime", @@ -9118,8 +9217,8 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "hex-literal", @@ -9144,8 +9243,8 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -9176,8 +9275,8 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -9265,8 +9364,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -9282,6 +9381,7 @@ dependencies = [ "pallet-balances", "pallet-beefy-mmr", "pallet-election-provider-multi-phase", + "pallet-fast-unstake", "pallet-session", "pallet-staking", "pallet-staking-reward-fn", @@ -9313,8 +9413,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -9327,8 +9427,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bs58", "parity-scale-codec", @@ -9339,8 +9439,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitflags", "bitvec", @@ -9382,11 +9482,12 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "beefy-gadget", + "frame-benchmarking-cli", "frame-support", "frame-system-rpc-runtime-api", "futures 0.3.28", @@ -9395,7 +9496,8 @@ dependencies = [ "kusama-runtime-constants", "kvdb", "kvdb-rocksdb", - "lru", + "log", + "lru 0.9.0", "mmr-gadget", "pallet-babe", "pallet-im-online", @@ -9489,8 +9591,8 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -9510,8 +9612,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9716,9 +9818,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" +checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" dependencies = [ "unicode-ident", ] @@ -9954,7 +10056,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -10021,7 +10123,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.21", + "time 0.3.22", "x509-parser 0.13.2", "yasna", ] @@ -10034,7 +10136,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.21", + "time 0.3.22", "yasna", ] @@ -10062,7 +10164,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", "redox_syscall 0.2.16", "thiserror", ] @@ -10097,7 +10199,7 @@ checksum = "8d2275aab483050ab2a7364c1a46604865ee7d6906684e08db0f090acf74f9e7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -10114,11 +10216,11 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.3" +version = "1.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390" +checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" dependencies = [ - "aho-corasick 1.0.1", + "aho-corasick 1.0.2", "memchr", "regex-syntax 0.7.2", ] @@ -10223,8 +10325,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "beefy-merkle-tree", "frame-benchmarking", @@ -10309,8 +10411,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -10353,7 +10455,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix", + "nix 0.24.3", "thiserror", "tokio", ] @@ -10537,9 +10639,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.19" +version = "0.37.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" dependencies = [ "bitflags", "errno 0.3.1", @@ -10630,7 +10732,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "log", "sp-core", @@ -10641,7 +10743,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -10668,7 +10770,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "futures-timer", @@ -10691,7 +10793,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -10707,7 +10809,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -10722,7 +10824,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -10733,7 +10835,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "chrono", @@ -10773,7 +10875,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "fnv", "futures 0.3.28", @@ -10799,7 +10901,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "hash-db", "kvdb", @@ -10812,6 +10914,7 @@ dependencies = [ "parking_lot 0.12.1", "sc-client-api", "sc-state-db", + "schnellru", "sp-arithmetic", "sp-blockchain", "sp-core", @@ -10824,7 +10927,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -10849,7 +10952,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -10878,7 +10981,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "fork-tree", @@ -10916,7 +11019,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "jsonrpsee", @@ -10938,7 +11041,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10951,7 +11054,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "assert_matches", "async-trait", @@ -10985,7 +11088,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -11008,9 +11111,9 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -11032,7 +11135,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -11045,7 +11148,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "log", "sc-allocator", @@ -11058,7 +11161,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "cfg-if", "libc", @@ -11075,9 +11178,9 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ - "ahash", + "ahash 0.8.3", "array-bytes 4.2.0", "async-trait", "dyn-clone", @@ -11115,7 +11218,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "finality-grandpa", "futures 0.3.28", @@ -11135,7 +11238,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "ansi_term", "futures 0.3.28", @@ -11150,7 +11253,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -11165,7 +11268,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -11179,7 +11282,7 @@ dependencies = [ "ip_network", "libp2p", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -11207,7 +11310,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "cid", "futures 0.3.28", @@ -11226,7 +11329,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "bitflags", @@ -11252,14 +11355,14 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ - "ahash", + "ahash 0.8.3", "futures 0.3.28", "futures-timer", "libp2p", "log", - "lru", + "lru 0.8.1", "sc-network-common", "sc-peerset", "sp-runtime", @@ -11270,7 +11373,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "futures 0.3.28", @@ -11291,7 +11394,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -11299,7 +11402,7 @@ dependencies = [ "futures 0.3.28", "libp2p", "log", - "lru", + "lru 0.8.1", "mockall", "parity-scale-codec", "prost", @@ -11323,7 +11426,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "futures 0.3.28", @@ -11342,7 +11445,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "bytes", @@ -11372,7 +11475,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "libp2p", @@ -11385,7 +11488,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -11394,7 +11497,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "jsonrpsee", @@ -11418,12 +11521,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.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11442,7 +11546,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "http", "jsonrpsee", @@ -11457,7 +11561,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "futures 0.3.28", @@ -11483,7 +11587,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "directories", @@ -11514,6 +11618,7 @@ dependencies = [ "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", + "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -11548,7 +11653,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "log", "parity-scale-codec", @@ -11556,10 +11661,26 @@ dependencies = [ "sp-core", ] +[[package]] +name = "sc-storage-monitor" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" +dependencies = [ + "clap", + "futures 0.3.28", + "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.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11578,7 +11699,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "libc", @@ -11597,7 +11718,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "chrono", "futures 0.3.28", @@ -11616,7 +11737,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "ansi_term", "atty", @@ -11647,7 +11768,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -11658,13 +11779,14 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", "futures-timer", "linked-hash-map", "log", + "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "sc-client-api", @@ -11684,7 +11806,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -11698,7 +11820,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "backtrace", "futures 0.3.28", @@ -11744,6 +11866,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" @@ -11902,22 +12035,22 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.163" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -12102,8 +12235,8 @@ dependencies = [ [[package]] name = "slot-range-helper" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "enumn", "parity-scale-codec", @@ -12160,6 +12293,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -12180,7 +12323,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "hash-db", "log", @@ -12198,7 +12341,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "blake2", "proc-macro-crate", @@ -12210,7 +12353,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12223,7 +12366,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "integer-sqrt", "num-traits", @@ -12237,7 +12380,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12247,22 +12390,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" -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.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12279,7 +12410,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "sp-api", @@ -12291,11 +12422,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "futures 0.3.28", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -12309,7 +12440,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -12327,7 +12458,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "parity-scale-codec", @@ -12345,7 +12476,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "merlin", @@ -12368,7 +12499,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12380,7 +12511,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12393,7 +12524,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "array-bytes 4.2.0", "base58", @@ -12435,7 +12566,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "blake2", "byteorder", @@ -12449,7 +12580,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro2", "quote", @@ -12460,7 +12591,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -12469,7 +12600,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "proc-macro2", "quote", @@ -12479,7 +12610,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "environmental", "parity-scale-codec", @@ -12490,7 +12621,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "finality-grandpa", "log", @@ -12508,7 +12639,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -12522,7 +12653,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "bytes", "ed25519", @@ -12547,7 +12678,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "lazy_static", "sp-core", @@ -12558,7 +12689,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures 0.3.28", @@ -12575,7 +12706,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "thiserror", "zstd", @@ -12584,7 +12715,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -12602,7 +12733,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12616,7 +12747,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "sp-api", "sp-core", @@ -12626,7 +12757,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "backtrace", "lazy_static", @@ -12636,7 +12767,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "rustc-hash", "serde", @@ -12646,7 +12777,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "either", "hash256-std-hasher", @@ -12668,7 +12799,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -12686,7 +12817,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "Inflector", "proc-macro-crate", @@ -12698,7 +12829,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12712,7 +12843,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12724,7 +12855,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "hash-db", "log", @@ -12744,12 +12875,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12762,7 +12893,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "futures-timer", @@ -12777,7 +12908,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "sp-std", @@ -12789,7 +12920,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "sp-api", "sp-runtime", @@ -12798,7 +12929,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "log", @@ -12814,18 +12945,18 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" 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", @@ -12837,7 +12968,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12854,7 +12985,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -12865,7 +12996,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "impl-trait-for-tuples", "log", @@ -12878,7 +13009,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "parity-scale-codec", "scale-info", @@ -12930,7 +13061,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "statemine-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -12995,7 +13126,7 @@ dependencies = [ [[package]] name = "statemint-runtime" version = "1.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -13204,7 +13335,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "platforms 2.0.0", ] @@ -13222,7 +13353,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.28", @@ -13241,7 +13372,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "hyper", "log", @@ -13253,7 +13384,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "async-trait", "jsonrpsee", @@ -13266,7 +13397,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "jsonrpsee", "log", @@ -13285,7 +13416,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "ansi_term", "build-helper", @@ -13327,9 +13458,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45b6ddbb36c5b969c182aec3c4a0bce7df3fbad4b77114706a49aacc80567388" +checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" dependencies = [ "proc-macro2", "quote", @@ -13383,15 +13514,16 @@ checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" [[package]] name = "tempfile" -version = "3.5.0" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" dependencies = [ + "autocfg", "cfg-if", "fastrand", "redox_syscall 0.3.5", - "rustix 0.37.19", - "windows-sys 0.45.0", + "rustix 0.37.20", + "windows-sys 0.48.0", ] [[package]] @@ -13426,7 +13558,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -13501,9 +13633,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" +checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" dependencies = [ "itoa", "serde", @@ -13581,9 +13713,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.1" +version = "1.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" +checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" dependencies = [ "autocfg", "bytes", @@ -13593,7 +13725,7 @@ dependencies = [ "parking_lot 0.12.1", "pin-project-lite 0.2.9", "signal-hook-registry", - "socket2", + "socket2 0.4.9", "tokio-macros", "windows-sys 0.48.0", ] @@ -13606,7 +13738,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -13735,7 +13867,7 @@ checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] @@ -13760,8 +13892,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -13771,8 +13903,8 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -13832,7 +13964,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", @@ -13875,7 +14007,7 @@ dependencies = [ "lazy_static", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.4.9", "thiserror", "tinyvec", "tokio", @@ -13912,7 +14044,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.38#bcff60a227d455d95b4712b6cb356ce56b1ff672" dependencies = [ "clap", "frame-remote-externalities", @@ -14089,12 +14221,12 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.4.0", "percent-encoding", ] @@ -14110,7 +14242,7 @@ version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -14307,7 +14439,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", "wasm-bindgen-shared", ] @@ -14341,7 +14473,7 @@ checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -14363,9 +14495,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", @@ -14379,9 +14511,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", @@ -14391,9 +14523,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", @@ -14694,7 +14826,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.21", + "time 0.3.22", "tokio", "turn", "url", @@ -14796,7 +14928,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" dependencies = [ "log", - "socket2", + "socket2 0.4.9", "thiserror", "tokio", "webrtc-util", @@ -14870,7 +15002,7 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", + "nix 0.24.3", "rand 0.8.5", "thiserror", "tokio", @@ -14879,8 +15011,8 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -14924,6 +15056,7 @@ dependencies = [ "pallet-society", "pallet-staking", "pallet-staking-reward-curve", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -14969,8 +15102,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -14994,9 +15127,9 @@ dependencies = [ [[package]] name = "widestring" -version = "0.5.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -15282,11 +15415,12 @@ dependencies = [ [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] @@ -15336,7 +15470,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.21", + "time 0.3.22", ] [[package]] @@ -15354,30 +15488,33 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.21", + "time 0.3.22", ] [[package]] name = "xcm" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derivative", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "serde", + "sp-core", + "sp-weights", "xcm-procedural", ] [[package]] name = "xcm-builder" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "pallet-transaction-payment", "parity-scale-codec", @@ -15394,7 +15531,7 @@ dependencies = [ [[package]] name = "xcm-emulator" version = "0.1.0" -source = "git+https://github.com/shaunxw/xcm-simulator.git?rev=6847a58888e483f0ed2e0b72f90e00767ea0ecac#6847a58888e483f0ed2e0b72f90e00767ea0ecac" +source = "git+https://github.com/shaunxw/xcm-simulator.git?rev=92d371839f6d5c52dd35b7e3d61cbdefc792cc42#92d371839f6d5c52dd35b7e3d61cbdefc792cc42" dependencies = [ "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", @@ -15419,9 +15556,10 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ + "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", @@ -15432,13 +15570,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.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "Inflector", "proc-macro2", @@ -15448,8 +15587,8 @@ dependencies = [ [[package]] name = "xcm-simulator" -version = "0.9.37" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "parity-scale-codec", @@ -15483,7 +15622,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.21", + "time 0.3.22", ] [[package]] @@ -15503,7 +15642,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.17", + "syn 2.0.18", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 9cb9a460f..79ed021ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,133 +20,133 @@ version = '1.9.8' [workspace.dependencies] # Substrate dependencies -sc-basic-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-chain-spec = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-executor = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-telemetry = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-tracing = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-transaction-pool-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-network-common = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sc-consensus-manual-seal = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } +sc-basic-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-chain-spec = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-executor = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-telemetry = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-tracing = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-transaction-pool-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-network-common = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sc-consensus-manual-seal = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-staking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-sudo = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-arithmetic = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } -sp-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-staking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-sudo = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-arithmetic = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } +sp-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38', default-features = false } -try-runtime-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } +try-runtime-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } -substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -substrate-prometheus-endpoint = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } +substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +substrate-prometheus-endpoint = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } -sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sp-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sp-keyring = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sp-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -sp-state-machine = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } +sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sp-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sp-keyring = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sp-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +sp-state-machine = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } -substrate-build-script-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } -substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.37' } +substrate-build-script-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } +substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.38' } # Polkadot dependencies -polkadot-cli = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } -polkadot-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } -polkadot-service = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } +polkadot-cli = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } +polkadot-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } +polkadot-service = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37', default-features = false } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37', default-features = false } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38', default-features = false } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38', default-features = false } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38', default-features = false } -kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } -polkadot-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } -polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } -polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } -xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.37' } +kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } +polkadot-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } +polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } +polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } +xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.38' } # Cumulus dependencies -cumulus-client-cli = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-client-collator = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-client-consensus-aura = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-client-network = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-client-service = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-relay-chain-inprocess-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-relay-chain-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-relay-chain-rpc-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-client-consensus-common = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-client-consensus-relay-chain = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-relay-chain-minimal-node = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -cumulus-test-relay-sproof-builder = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } +cumulus-client-cli = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-client-collator = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-client-consensus-aura = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-client-network = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-client-service = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-relay-chain-inprocess-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-relay-chain-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-relay-chain-rpc-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-client-consensus-common = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-client-consensus-relay-chain = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-relay-chain-minimal-node = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +cumulus-test-relay-sproof-builder = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38', default-features = false } -statemine-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } -statemint-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.37' } +statemine-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } +statemint-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.38' } # ORML dependencies orml-oracle = { version = '0.4.1-dev', default-features = false } @@ -247,39 +247,39 @@ num-traits = { version = '0.2.15', default-features = false } num_enum = { version = '0.5.3', default-features = false } scale-info = { version = '2.1.2', default-features = false } -xcm-emulator = { git = 'https://github.com/shaunxw/xcm-simulator.git', rev = '6847a58888e483f0ed2e0b72f90e00767ea0ecac' } +xcm-emulator = { git = 'https://github.com/shaunxw/xcm-simulator.git', rev = '92d371839f6d5c52dd35b7e3d61cbdefc792cc42' } substrate-fixed = { git = 'https://github.com/encointer/substrate-fixed.git', default-features = false } [patch.crates-io] #orml -orml-oracle = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-oracle-rpc = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-oracle-rpc-runtime-api = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-vesting = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-xcm = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } -orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '16b6c1149a15674d21c87244b7988a667e2c14d9' } +orml-oracle = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-oracle-rpc = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-oracle-rpc-runtime-api = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-vesting = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-xcm = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } +orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = '241d5cdc98cca53b8cf990853943c9ae1193a70e' } #evm -fc-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fc-db = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fc-mapping-sync = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fc-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fc-rpc-core = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fp-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fp-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fp-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fp-storage = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fp-dynamic-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-ethereum = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -fp-self-contained = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-base-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-blake2 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-bn128 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-dispatch = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-ed25519 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-modexp = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-sha3fips = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } -pallet-evm-precompile-simple = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'bda55d8f4e5b7384574abb16fdc65095927ce685' } +fc-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fc-db = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fc-mapping-sync = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fc-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fc-rpc-core = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fp-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fp-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fp-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fp-storage = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fp-dynamic-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-ethereum = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +fp-self-contained = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-base-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-blake2 = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-bn128 = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-dispatch = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-ed25519 = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-modexp = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-sha3fips = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } +pallet-evm-precompile-simple = { git = 'https://github.com/parallel-finance/frontier.git', rev = '5644279da588baab7caa9f3a4eb69363e1606461' } From 0673df3d48de14ac85dd52601f9c7d465c05d228 Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Fri, 16 Jun 2023 11:45:35 +0800 Subject: [PATCH 02/13] upgrade heiko --- pallets/amm/src/benchmarking.rs | 10 +- pallets/farming/src/benchmarking.rs | 4 +- pallets/router/src/benchmarking.rs | 3 +- pallets/traits/src/xcm.rs | 20 ++- pallets/xcm-helper/src/lib.rs | 47 ++++--- precompiles/utils/src/data/xcm.rs | 140 ++++++++++++++++---- runtime/heiko/Cargo.toml | 2 +- runtime/heiko/src/lib.rs | 74 ++++++++--- runtime/heiko/src/weights/mod.rs | 3 +- runtime/heiko/src/weights/pallet_xcm.rs | 168 ++++++++++++++++++++++++ 10 files changed, 388 insertions(+), 83 deletions(-) create mode 100644 runtime/heiko/src/weights/pallet_xcm.rs diff --git a/pallets/amm/src/benchmarking.rs b/pallets/amm/src/benchmarking.rs index a94c52ff9..67a78a882 100644 --- a/pallets/amm/src/benchmarking.rs +++ b/pallets/amm/src/benchmarking.rs @@ -76,7 +76,7 @@ benchmarks_instance_pallet! { initial_set_up::(caller.clone()); let base_amount = 100_000u128; let quote_amount = 200_000u128; - assert_ok!(AMM::::create_pool(T::CreatePoolOrigin::successful_origin(), + assert_ok!(AMM::::create_pool(T::CreatePoolOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"), (BASE_ASSET, QUOTE_ASSET), (base_amount, quote_amount), caller.clone(), ASSET_ID)); }: _( @@ -103,7 +103,7 @@ benchmarks_instance_pallet! { initial_set_up::(caller.clone()); let base_amount = 100_000u128; let quote_amount = 900_000u128; - assert_ok!(AMM::::create_pool(T::CreatePoolOrigin::successful_origin(), + assert_ok!(AMM::::create_pool(T::CreatePoolOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"), (BASE_ASSET, QUOTE_ASSET), (base_amount, quote_amount), caller.clone(), ASSET_ID)); }: _( @@ -130,7 +130,7 @@ benchmarks_instance_pallet! { initial_set_up::(caller.clone()); let base_amount = 100_000u128; let quote_amount = 200_000u128; - let origin = T::CreatePoolOrigin::successful_origin(); + let origin = T::CreatePoolOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"); let call = Call::::create_pool { pair: (BASE_ASSET, QUOTE_ASSET), liquidity_amounts: (base_amount, quote_amount), @@ -154,7 +154,7 @@ benchmarks_instance_pallet! { } update_protocol_fee { - let origin = T::ProtocolFeeUpdateOrigin::successful_origin(); + let origin = T::ProtocolFeeUpdateOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"); let call = Call::::update_protocol_fee { protocol_fee: Ratio::from_percent(20) }; @@ -166,7 +166,7 @@ benchmarks_instance_pallet! { update_protocol_fee_receiver { let caller: T::AccountId = whitelisted_caller(); - let origin = T::ProtocolFeeUpdateOrigin::successful_origin(); + let origin = T::ProtocolFeeUpdateOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"); let call = Call::::update_protocol_fee_receiver { protocol_fee_receiver: caller }; diff --git a/pallets/farming/src/benchmarking.rs b/pallets/farming/src/benchmarking.rs index fb85bcfac..3015bb153 100644 --- a/pallets/farming/src/benchmarking.rs +++ b/pallets/farming/src/benchmarking.rs @@ -122,7 +122,7 @@ benchmarks! { initial_set_up::(caller.clone()); assert_ok!(Farming::::deposit(SystemOrigin::Signed(caller.clone()).into(), ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32), STAKING_AMOUNT)); assert_ok!(Farming::::withdraw(SystemOrigin::Signed(caller.clone()).into(), ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32), WITHDRAW_AMOUNT)); - assert_ok!(Farming::::set_pool_cool_down_duration(T::UpdateOrigin::successful_origin(), ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32), T::BlockNumber::from(0u32))); + assert_ok!(Farming::::set_pool_cool_down_duration(T::UpdateOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"), ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32), T::BlockNumber::from(0u32))); }: _(SystemOrigin::Signed(caller.clone()), ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32)) verify { assert_last_event::(Event::AssetsRedeem(caller, ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32), WITHDRAW_AMOUNT).into()); @@ -133,7 +133,7 @@ benchmarks! { let payer = T::Lookup::unlookup(caller.clone()); initial_set_up::(caller.clone()); assert_ok!(Farming::::dispatch_reward( - T::UpdateOrigin::successful_origin(), + T::UpdateOrigin::try_successful_origin().expect("No origin exists which can satisfy the guard"), ASSET, REWARD_ASSET, T::BlockNumber::from(7200u32), diff --git a/pallets/router/src/benchmarking.rs b/pallets/router/src/benchmarking.rs index 4f4cd368c..6ad9811d5 100644 --- a/pallets/router/src/benchmarking.rs +++ b/pallets/router/src/benchmarking.rs @@ -76,7 +76,8 @@ fn initial_set_up< if pallet_amm::Pallet::::pools(SDOT, DOT) == None { assert_ok!(pallet_amm::Pallet::::create_pool( - T::CreatePoolOrigin::successful_origin(), + T::CreatePoolOrigin::try_successful_origin() + .expect("No origin exists which can satisfy the guard"), (DOT, SDOT), (100_000_000u128, 100_000_000u128), pool_creator.clone(), diff --git a/pallets/traits/src/xcm.rs b/pallets/traits/src/xcm.rs index a2d2cc80c..aa4fd5cac 100644 --- a/pallets/traits/src/xcm.rs +++ b/pallets/traits/src/xcm.rs @@ -32,7 +32,7 @@ use sp_runtime::traits::{BlakeTwo256, Convert, Hash as THash, SaturatedConversio use sp_std::{borrow::Borrow, marker::PhantomData, result}; use xcm::latest::{ prelude::*, AssetId as xcmAssetId, Error as XcmError, Fungibility, Junction::AccountId32, - MultiLocation, NetworkId, Weight, + MultiLocation, Weight, }; use xcm_builder::TakeRevenue; use xcm_executor::traits::{ @@ -86,7 +86,7 @@ where MultiLocation { parents: 0, interior: X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }), } @@ -112,7 +112,7 @@ impl< > WeightTrader for FirstAssetTrader { fn new() -> Self { - FirstAssetTrader(0, None, PhantomData) + FirstAssetTrader(Weight::zero(), None, PhantomData) } fn buy_weight( @@ -139,7 +139,8 @@ impl< let units_per_second = AssetIdInfoGetter::get_units_per_second(asset_type) .ok_or(XcmError::TooExpensive)?; - let amount = units_per_second.saturating_mul(weight as u128) + // TODO handle proof size payment + let amount = units_per_second.saturating_mul(weight.ref_time() as u128) / (WEIGHT_REF_TIME_PER_SECOND as u128); // We dont need to proceed if the amount is 0 @@ -202,7 +203,8 @@ impl< if let Some((id, prev_amount, units_per_second)) = self.1.clone() { let weight = weight.min(self.0); self.0 -= weight; - let amount = units_per_second * (weight as u128) / (WEIGHT_REF_TIME_PER_SECOND as u128); + let amount = units_per_second * (weight.ref_time() as u128) + / (WEIGHT_REF_TIME_PER_SECOND as u128); self.1 = Some(( id.clone(), prev_amount.saturating_sub(amount), @@ -407,7 +409,11 @@ impl< GiftConvert, > { - fn deposit_asset(asset: &MultiAsset, location: &MultiLocation) -> XcmResult { + fn deposit_asset( + asset: &MultiAsset, + location: &MultiLocation, + _context: &XcmContext, + ) -> XcmResult { match ( AccountIdConvert::convert_ref(location), CurrencyIdConvert::convert(asset.clone()), @@ -479,6 +485,7 @@ impl< fn withdraw_asset( asset: &MultiAsset, location: &MultiLocation, + _maybe_context: Option<&XcmContext>, ) -> result::Result { // throw AssetNotFound error here if not match in order to reach the next foreign transact in tuple let amount: MultiCurrency::Balance = Match::matches_fungible(asset) @@ -507,6 +514,7 @@ impl< asset: &MultiAsset, from: &MultiLocation, to: &MultiLocation, + _context: &XcmContext, ) -> result::Result { let from_account = AccountIdConvert::convert_ref(from) .map_err(|_| XcmError::from(Error::AccountIdConversionFailed))?; diff --git a/pallets/xcm-helper/src/lib.rs b/pallets/xcm-helper/src/lib.rs index 013ca1ab9..cde4af9ac 100644 --- a/pallets/xcm-helper/src/lib.rs +++ b/pallets/xcm-helper/src/lib.rs @@ -29,7 +29,6 @@ use frame_system::pallet_prelude::BlockNumberFor; use sp_runtime::traits::{AccountIdConversion, BlockNumberProvider, Convert, StaticLookup}; use sp_std::{boxed::Box, prelude::*, vec, vec::Vec}; use xcm::{latest::prelude::*, DoubleEncoded}; -use xcm_executor::traits::InvertLocation; pub use pallet::*; use pallet_traits::{switch_relay, ump::*}; @@ -263,16 +262,17 @@ impl Pallet { timeout: BlockNumberFor, ) -> Result { let responder = responder.into(); - let dest = ::LocationInverter::invert_location(&responder) + let destination = ::UniversalLocation::get() + .invert_target(&responder) .map_err(|()| Error::::MultiLocationNotInvertible)?; let notify: ::RuntimeCall = notify.into(); - let max_response_weight = notify.get_dispatch_info().weight.ref_time(); - let query_id = pallet_xcm::Pallet::::new_notify_query(responder, notify, timeout); - let report_error = Xcm(vec![ReportError { - dest, + let max_weight = notify.get_dispatch_info().weight; + let query_id = pallet_xcm::Pallet::::new_notify_query(responder, notify, timeout, Here); + let report_error = Xcm(vec![ReportError(QueryResponseInfo { + destination, query_id, - max_response_weight, - }]); + max_weight, + })]); // Prepend SetAppendix(Xcm(vec![ReportError])) wont be able to pass barrier check // so we need to insert it after Withdraw, BuyExecution message.0.insert(2, SetAppendix(report_error)); @@ -295,8 +295,8 @@ impl Pallet { message.0.insert( 3, Transact { - origin_type: OriginKind::SovereignAccount, - require_weight_at_most: weight.ref_time(), + origin_kind: OriginKind::SovereignAccount, + require_weight_at_most: weight, call, }, ); @@ -332,14 +332,13 @@ impl XcmHelper, AccountIdOf> for Pallet { weight_limit: Unlimited, }, Transact { - origin_type: OriginKind::SovereignAccount, - require_weight_at_most: weight.ref_time(), + origin_kind: OriginKind::SovereignAccount, + require_weight_at_most: weight, call, }, RefundSurplus, DepositAsset { assets: asset.into(), - max_assets: 1, beneficiary, }, ])) @@ -374,7 +373,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_e) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_e) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -412,7 +411,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_e) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_e) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -447,7 +446,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_e) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_e) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -485,7 +484,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_e) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_e) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -537,7 +536,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_e) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_e) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -587,7 +586,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_err) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_err) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -634,7 +633,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_err) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_err) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -672,7 +671,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_err) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_err) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -710,7 +709,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_err) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_err) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -762,7 +761,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_err) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_err) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } @@ -803,7 +802,7 @@ impl XcmHelper, AccountIdOf> for Pallet { T::NotifyTimeout::get(), )?; - if let Err(_err) = T::XcmSender::send_xcm(MultiLocation::parent(), msg) { + if let Err(_err) = send_xcm::(MultiLocation::parent(), msg) { return Err(Error::::SendFailure.into()); } diff --git a/precompiles/utils/src/data/xcm.rs b/precompiles/utils/src/data/xcm.rs index 2a871f996..98b44957a 100644 --- a/precompiles/utils/src/data/xcm.rs +++ b/precompiles/utils/src/data/xcm.rs @@ -17,7 +17,6 @@ use crate::{revert, Bytes, EvmData, EvmDataReader, EvmDataWriter, EvmResult}; use frame_support::ensure; -use sp_runtime::WeakBoundedVec; use sp_std::vec::Vec; use xcm::latest::{Junction, Junctions, MultiLocation, NetworkId}; @@ -27,34 +26,76 @@ use xcm::latest::{Junction, Junctions, MultiLocation, NetworkId}; // Each NetworkId variant is represented as bytes // The first byte represents the enum variant to be used // The rest of the bytes (if any), represent the additional data that such enum variant requires -// In this case, only Named requires additional non-bounded data. // In such a case, since NetworkIds will be appended at the end, we will read the buffer until the // end to recover the name -pub(crate) fn network_id_to_bytes(network_id: NetworkId) -> Vec { +pub(crate) fn network_id_to_bytes(network_id: Option) -> Vec { let mut encoded: Vec = Vec::new(); - match network_id { - NetworkId::Any => { + match network_id.clone() { + None => { encoded.push(0u8); encoded } - NetworkId::Named(name) => { + Some(NetworkId::ByGenesis(id)) => { encoded.push(1u8); - encoded.append(&mut name.into_inner()); + encoded.append(&mut id.into()); encoded } - NetworkId::Polkadot => { + Some(NetworkId::Polkadot) => { + encoded.push(2u8); encoded.push(2u8); encoded } - NetworkId::Kusama => { + Some(NetworkId::Kusama) => { + encoded.push(3u8); encoded.push(3u8); encoded } + Some(NetworkId::ByFork { + block_number, + block_hash, + }) => { + encoded.push(4u8); + encoded.push(1u8); + encoded.append(&mut block_number.to_be_bytes().into()); + encoded.append(&mut block_hash.into()); + encoded + } + Some(NetworkId::Westend) => { + encoded.push(5u8); + encoded.push(4u8); + encoded + } + Some(NetworkId::Rococo) => { + encoded.push(6u8); + encoded.push(5u8); + encoded + } + Some(NetworkId::Wococo) => { + encoded.push(7u8); + encoded.push(6u8); + encoded + } + Some(NetworkId::Ethereum { chain_id }) => { + encoded.push(8u8); + encoded.push(7u8); + encoded.append(&mut chain_id.to_be_bytes().into()); + encoded + } + Some(NetworkId::BitcoinCore) => { + encoded.push(9u8); + encoded.push(8u8); + encoded + } + Some(NetworkId::BitcoinCash) => { + encoded.push(10u8); + encoded.push(9u8); + encoded + } } } // Function to convert bytes to networkId -pub(crate) fn network_id_from_bytes(encoded_bytes: Vec) -> EvmResult { +pub(crate) fn network_id_from_bytes(encoded_bytes: Vec) -> EvmResult> { ensure!( !encoded_bytes.is_empty(), revert("Junctions cannot be empty") @@ -64,13 +105,39 @@ pub(crate) fn network_id_from_bytes(encoded_bytes: Vec) -> EvmResult Ok(NetworkId::Any), - 1 => Ok(NetworkId::Named( - WeakBoundedVec::try_from(encoded_network_id.read_till_end()?.to_vec()) - .map_err(|_| revert("Named Network Id name too long."))?, - )), - 2 => Ok(NetworkId::Polkadot), - 3 => Ok(NetworkId::Kusama), + 0 => Ok(None), + 1 => Ok(Some(NetworkId::ByGenesis( + encoded_network_id + .read_till_end()? + .to_vec() + .try_into() + .map_err(|_| revert("network by genesis too large"))?, + ))), + 2 => Ok(Some(NetworkId::Polkadot)), + 3 => Ok(Some(NetworkId::Kusama)), + 4 => { + let mut block_number: [u8; 8] = Default::default(); + block_number.copy_from_slice(&encoded_network_id.read_raw_bytes(8)?); + + let mut block_hash: [u8; 32] = Default::default(); + block_hash.copy_from_slice(&encoded_network_id.read_raw_bytes(32)?); + Ok(Some(NetworkId::ByFork { + block_number: u64::from_be_bytes(block_number), + block_hash, + })) + } + 5 => Ok(Some(NetworkId::Westend)), + 6 => Ok(Some(NetworkId::Rococo)), + 7 => Ok(Some(NetworkId::Wococo)), + 8 => { + let mut chain_id: [u8; 8] = Default::default(); + chain_id.copy_from_slice(&encoded_network_id.read_raw_bytes(8)?); + Ok(Some(NetworkId::Ethereum { + chain_id: u64::from_be_bytes(chain_id), + })) + } + 9 => Ok(Some(NetworkId::BitcoinCore)), + 10 => Ok(Some(NetworkId::BitcoinCash)), _ => Err(revert("Non-valid Network Id")), } } @@ -142,11 +209,32 @@ impl EvmData for Junction { general_index.copy_from_slice(encoded_junction.read_raw_bytes(16)?); Ok(Junction::GeneralIndex(u128::from_be_bytes(general_index))) } - 6 => Ok(Junction::GeneralKey( - WeakBoundedVec::try_from(encoded_junction.read_till_end()?.to_vec()) - .map_err(|_| revert("Junction GeneralKey too long."))?, - )), + 6 => { + let mut length: [u8; 1] = Default::default(); + length.copy_from_slice( + encoded_junction + .read_raw_bytes(1) + .map_err(|_| revert("General Key length"))?, + ); + + let mut data: [u8; 32] = Default::default(); + data.copy_from_slice(&encoded_junction.read_till_end()?); + + Ok(Junction::GeneralKey { + length: u8::from_be_bytes(length), + data, + }) + } 7 => Ok(Junction::OnlyChild), + 8 => Err(revert("Junction::Plurality not supported yet")), + 9 => { + let network = encoded_junction.read_till_end()?.to_vec(); + if let Some(network_id) = network_id_from_bytes(network)? { + Ok(Junction::GlobalConsensus(network_id)) + } else { + Err(revert("Unknown NetworkId")) + } + } _ => Err(revert("No selector for this")), } } @@ -187,15 +275,21 @@ impl EvmData for Junction { encoded.append(&mut id.to_be_bytes().to_vec()); encoded.as_slice().into() } - Junction::GeneralKey(key) => { + Junction::GeneralKey { length, data } => { encoded.push(6u8); - encoded.append(&mut key.into_inner()); + encoded.push(length); + encoded.append(&mut data.into()); encoded.as_slice().into() } Junction::OnlyChild => { encoded.push(7u8); encoded.as_slice().into() } + Junction::GlobalConsensus(network_id) => { + encoded.push(9u8); + encoded.append(&mut network_id_to_bytes(Some(network_id))); + encoded.as_slice().into() + } // TODO: The only missing item here is Junciton::Plurality. This is a complex encoded // type that we need to evaluate how to support _ => unreachable!("Junction::Plurality not supported yet"), diff --git a/runtime/heiko/Cargo.toml b/runtime/heiko/Cargo.toml index e17ddec2c..6ac745e0d 100644 --- a/runtime/heiko/Cargo.toml +++ b/runtime/heiko/Cargo.toml @@ -280,7 +280,7 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'orml-xcm/try-runtime', 'orml-vesting/try-runtime', - 'frame-try-runtime', + 'frame-try-runtime/try-runtime', 'pallet-bridge/try-runtime', 'pallet-loans/try-runtime', 'pallet-liquid-staking/try-runtime', diff --git a/runtime/heiko/src/lib.rs b/runtime/heiko/src/lib.rs index 4d5e43044..3b6750f22 100644 --- a/runtime/heiko/src/lib.rs +++ b/runtime/heiko/src/lib.rs @@ -33,7 +33,7 @@ use frame_support::{ }, ConstantMultiplier, }, - ConsensusEngineId, PalletId, WeakBoundedVec, + ConsensusEngineId, PalletId, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -72,8 +72,8 @@ use sp_version::RuntimeVersion; use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, ConvertedConcreteAssetId, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, LocationInverter, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, EnsureXcmOrigin, FixedWeightBounds, + FungiblesAdapter, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; @@ -94,6 +94,7 @@ pub use pallet_prices; pub use pallet_router; pub use pallet_streaming; +use pallet_ethereum::PostLogContent; use pallet_evm::{FeeCalculator, Runner}; use pallet_traits::{ xcm::{ @@ -215,7 +216,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. 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! { @@ -276,7 +277,7 @@ impl Contains for WhiteListFilter { RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_unsubscribe_version_notify { .. }) | RuntimeCall::CumulusXcm(_) | // Consensus - RuntimeCall::Authorship(_) | + // RuntimeCall::Authorship(_) | // Call::CollatorSelection(_) | RuntimeCall::Session(_) | // Utility @@ -414,7 +415,7 @@ parameter_types! { parameter_types! { pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::parachain_id().into()))); - pub const BaseXcmWeight: u64 = 150_000_000; + pub const BaseXcmWeight: Weight = Weight::from_ref_time(150_000_000); pub const MaxInstructions: u32 = 100; pub const MaxAssetsForTransfer: usize = 2; } @@ -441,7 +442,7 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = BaseXcmWeight; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; @@ -685,9 +686,7 @@ parameter_types! { impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = (CollatorSelection,); + type EventHandler = CollatorSelection; } parameter_types! { @@ -863,9 +862,14 @@ impl pallet_evm::Config for Runtime { type OnCreate = (); } +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + impl pallet_ethereum::Config for Runtime { type RuntimeEvent = RuntimeEvent; type StateRoot = pallet_ethereum::IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; } parameter_types! { @@ -1066,11 +1070,16 @@ pub type LocalOriginToLocation = SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Runtime { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -1086,8 +1095,16 @@ impl pallet_xcm::Config for Runtime { // Teleporting is disabled. type XcmTeleportFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = weights::pallet_xcm::WeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -1104,6 +1121,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ControllerOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Runtime { @@ -1132,12 +1150,10 @@ impl cumulus_pallet_parachain_system::Config for Runtime { impl parachain_info::Config for Runtime {} parameter_types! { - pub RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayCurrency: CurrencyId = KSM; - pub HeikoNetwork: NetworkId = NetworkId::Named(WeakBoundedVec::>::force_from("heiko".into(), None)); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = MultiLocation::new(0, X1(Parachain(ParachainInfo::parachain_id().into()))); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used @@ -1265,7 +1281,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< Assets, // Use this currency when it is a fungible asset matching the given location or name: ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1277,7 +1293,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< // Our chain's account ID type (we can't get away without mentioning it explicitly): AccountId, // We dont allow teleports. - Nothing, + NoChecking, // We dont track any teleports CheckingAccount, >; @@ -1292,7 +1308,7 @@ pub type AssetTransactors = (LocalAssetTransactor, ForeignFungiblesTransactor); pub type XcmFeesToAccount = pallet_traits::xcm::XcmFeesToAccount< CurrencyAdapter, ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1313,7 +1329,7 @@ impl Config for XcmConfig { type IsReserve = MultiNativeAsset; // Teleporting is disabled. type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FirstAssetTrader; @@ -1321,6 +1337,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } impl pallet_asset_registry::Config for Runtime { @@ -1956,7 +1981,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event, Origin} = 25, // Consensus - Authorship: pallet_authorship::{Pallet, Call, Storage} = 30, + Authorship: pallet_authorship::{Pallet, Storage} = 30, CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 31, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 32, Aura: pallet_aura::{Pallet, Config, Storage} = 33, @@ -2203,12 +2228,21 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { TransactionPayment::query_info(uxt, len) } + fn query_fee_details( uxt: ::Extrinsic, len: u32, ) -> pallet_transaction_payment::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 orml_oracle_rpc_runtime_api::OracleApi< diff --git a/runtime/heiko/src/weights/mod.rs b/runtime/heiko/src/weights/mod.rs index 012eaf198..6e95ec0bd 100644 --- a/runtime/heiko/src/weights/mod.rs +++ b/runtime/heiko/src/weights/mod.rs @@ -25,4 +25,5 @@ pub mod orml_vesting; pub mod pallet_identity; pub mod pallet_preimage; pub mod pallet_treasury; -pub mod pallet_utility; \ No newline at end of file +pub mod pallet_utility; +pub mod pallet_xcm; \ No newline at end of file diff --git a/runtime/heiko/src/weights/pallet_xcm.rs b/runtime/heiko/src/weights/pallet_xcm.rs new file mode 100644 index 000000000..22ba52c13 --- /dev/null +++ b/runtime/heiko/src/weights/pallet_xcm.rs @@ -0,0 +1,168 @@ +// Copyright 2017-2022 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . +//! Autogenerated weights for `pallet_xcm` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-12-16, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json +// --pallet=pallet_xcm +// --chain=kusama-dev +// --header=./file_header.txt +// --output=./runtime/kusama/src/weights/ + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for `pallet_xcm`. +pub struct WeightInfo(PhantomData); +impl pallet_xcm::WeightInfo for WeightInfo { + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + fn send() -> Weight { + // Minimum execution time: 36_474 nanoseconds. + Weight::from_ref_time(57_030_000) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + } + fn teleport_assets() -> Weight { + // Minimum execution time: 28_147 nanoseconds. + Weight::from_ref_time(58_836_000) + } + fn reserve_transfer_assets() -> Weight { + // Minimum execution time: 28_469 nanoseconds. + Weight::from_ref_time(49_002_000) + } + fn execute() -> Weight { + // Minimum execution time: 15_637 nanoseconds. + Weight::from_ref_time(25_880_000) + } + // Storage: XcmPallet SupportedVersion (r:0 w:1) + fn force_xcm_version() -> Weight { + // Minimum execution time: 15_330 nanoseconds. + Weight::from_ref_time(25_817_000) + .saturating_add(T::DbWeight::get().writes(1)) + } + // Storage: XcmPallet SafeXcmVersion (r:0 w:1) + fn force_default_xcm_version() -> Weight { + // Minimum execution time: 4_104 nanoseconds. + Weight::from_ref_time(7_365_000) + .saturating_add(T::DbWeight::get().writes(1)) + } + // Storage: XcmPallet VersionNotifiers (r:1 w:1) + // Storage: XcmPallet QueryCounter (r:1 w:1) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: XcmPallet Queries (r:0 w:1) + fn force_subscribe_version_notify() -> Weight { + // Minimum execution time: 42_177 nanoseconds. + Weight::from_ref_time(72_657_000) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(6)) + } + // Storage: XcmPallet VersionNotifiers (r:1 w:1) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: XcmPallet Queries (r:0 w:1) + fn force_unsubscribe_version_notify() -> Weight { + // Minimum execution time: 45_481 nanoseconds. + Weight::from_ref_time(75_960_000) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(5)) + } + // Storage: XcmPallet SupportedVersion (r:4 w:2) + fn migrate_supported_version() -> Weight { + // Minimum execution time: 14_899 nanoseconds. + Weight::from_ref_time(25_452_000) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + // Storage: XcmPallet VersionNotifiers (r:4 w:2) + fn migrate_version_notifiers() -> Weight { + // Minimum execution time: 14_759 nanoseconds. + Weight::from_ref_time(25_176_000) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + // Storage: XcmPallet VersionNotifyTargets (r:5 w:0) + fn already_notified_target() -> Weight { + // Minimum execution time: 17_022 nanoseconds. + Weight::from_ref_time(37_468_000) + .saturating_add(T::DbWeight::get().reads(5)) + } + // Storage: XcmPallet VersionNotifyTargets (r:2 w:1) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + fn notify_current_targets() -> Weight { + // Minimum execution time: 37_810 nanoseconds. + Weight::from_ref_time(58_198_000) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(4)) + } + // Storage: XcmPallet VersionNotifyTargets (r:3 w:0) + fn notify_target_migration_fail() -> Weight { + // Minimum execution time: 7_440 nanoseconds. + Weight::from_ref_time(10_659_000) + .saturating_add(T::DbWeight::get().reads(3)) + } + // Storage: XcmPallet VersionNotifyTargets (r:4 w:2) + fn migrate_version_notify_targets() -> Weight { + // Minimum execution time: 14_975 nanoseconds. + Weight::from_ref_time(25_479_000) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + // Storage: XcmPallet VersionNotifyTargets (r:4 w:2) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + fn migrate_and_notify_old_targets() -> Weight { + // Minimum execution time: 43_328 nanoseconds. + Weight::from_ref_time(64_054_000) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(5)) + } +} From a1ebeb48cb9f5ee9f63cb660a66302e4a98b593f Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Fri, 16 Jun 2023 11:49:51 +0800 Subject: [PATCH 03/13] fix heiko try-runtime check --- runtime/heiko/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/heiko/Cargo.toml b/runtime/heiko/Cargo.toml index 6ac745e0d..598bae3c0 100644 --- a/runtime/heiko/Cargo.toml +++ b/runtime/heiko/Cargo.toml @@ -175,6 +175,7 @@ std = [ 'frame-executive/std', 'frame-system/std', 'frame-benchmarking/std', + 'frame-try-runtime/std', 'frame-system-rpc-runtime-api/std', 'pallet-balances/std', 'pallet-xcm/std', From 5c9196eee87a33a9f877816d3c14a7e05f7ea7e5 Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Fri, 16 Jun 2023 12:17:49 +0800 Subject: [PATCH 04/13] upgrade runtime --- runtime/kerria/Cargo.toml | 3 +- runtime/kerria/src/lib.rs | 74 ++++++--- runtime/parallel/Cargo.toml | 3 +- runtime/parallel/src/lib.rs | 73 ++++++--- runtime/parallel/src/weights/mod.rs | 3 +- runtime/parallel/src/weights/pallet_xcm.rs | 168 +++++++++++++++++++++ runtime/vanilla/Cargo.toml | 3 +- runtime/vanilla/src/lib.rs | 75 ++++++--- 8 files changed, 337 insertions(+), 65 deletions(-) create mode 100644 runtime/parallel/src/weights/pallet_xcm.rs diff --git a/runtime/kerria/Cargo.toml b/runtime/kerria/Cargo.toml index e5b8caf8d..f4cc55511 100644 --- a/runtime/kerria/Cargo.toml +++ b/runtime/kerria/Cargo.toml @@ -166,6 +166,7 @@ std = [ 'frame-executive/std', 'frame-system/std', 'frame-benchmarking/std', + 'frame-try-runtime/std', 'frame-system-rpc-runtime-api/std', 'pallet-balances/std', 'pallet-xcm/std', @@ -273,7 +274,7 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'orml-xcm/try-runtime', 'orml-vesting/try-runtime', - 'frame-try-runtime', + 'frame-try-runtime/try-runtime', 'pallet-bridge/try-runtime', 'pallet-loans/try-runtime', 'pallet-liquid-staking/try-runtime', diff --git a/runtime/kerria/src/lib.rs b/runtime/kerria/src/lib.rs index 4f157c6ab..79ffd7aa1 100644 --- a/runtime/kerria/src/lib.rs +++ b/runtime/kerria/src/lib.rs @@ -33,7 +33,7 @@ use frame_support::{ }, ConstantMultiplier, }, - ConsensusEngineId, PalletId, WeakBoundedVec, + ConsensusEngineId, PalletId, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -44,6 +44,7 @@ use orml_traits::{ DataProviderExtended, }; use orml_xcm_support::{IsNativeConcrete, MultiNativeAsset}; +use pallet_ethereum::PostLogContent; use pallet_evm::{FeeCalculator, Runner}; use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; @@ -73,8 +74,8 @@ use sp_version::RuntimeVersion; use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, ConvertedConcreteAssetId, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, LocationInverter, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, EnsureXcmOrigin, FixedWeightBounds, + FungiblesAdapter, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; @@ -215,7 +216,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. 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! { @@ -276,7 +277,7 @@ impl Contains for WhiteListFilter { RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_unsubscribe_version_notify { .. }) | RuntimeCall::CumulusXcm(_) | // Consensus - RuntimeCall::Authorship(_) | + // RuntimeCall::Authorship(_) | RuntimeCall::CollatorSelection(_) | RuntimeCall::Session(_) | // Utility @@ -414,7 +415,7 @@ parameter_types! { parameter_types! { pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::parachain_id().into()))); - pub const BaseXcmWeight: u64 = 150_000_000; + pub const BaseXcmWeight: Weight = Weight::from_ref_time(150_000_000); pub const MaxInstructions: u32 = 100; pub const MaxAssetsForTransfer: usize = 2; } @@ -429,7 +430,7 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = BaseXcmWeight; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; @@ -673,9 +674,7 @@ parameter_types! { impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = (CollatorSelection,); + type EventHandler = CollatorSelection; } parameter_types! { @@ -850,9 +849,14 @@ impl pallet_evm::Config for Runtime { type OnCreate = (); } +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + impl pallet_ethereum::Config for Runtime { type RuntimeEvent = RuntimeEvent; type StateRoot = pallet_ethereum::IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; } parameter_types! { @@ -1055,11 +1059,16 @@ pub type LocalOriginToLocation = SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Runtime { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -1075,8 +1084,16 @@ impl pallet_xcm::Config for Runtime { // Teleporting is disabled. type XcmTeleportFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = pallet_xcm::TestWeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -1093,6 +1110,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ControllerOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Runtime { @@ -1121,12 +1139,10 @@ impl cumulus_pallet_parachain_system::Config for Runtime { impl parachain_info::Config for Runtime {} parameter_types! { - pub RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Polkadot; pub RelayCurrency: CurrencyId = DOT; - pub KerriaNetwork: NetworkId = NetworkId::Named(WeakBoundedVec::>::force_from("kerria".into(), None)); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = MultiLocation::new(0, X1(Parachain(ParachainInfo::parachain_id().into()))); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used @@ -1262,7 +1278,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< Assets, // Use this currency when it is a fungible asset matching the given location or name: ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1274,7 +1290,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< // Our chain's account ID type (we can't get away without mentioning it explicitly): AccountId, // We dont allow teleports. - Nothing, + NoChecking, // We dont track any teleports CheckingAccount, >; @@ -1289,7 +1305,7 @@ pub type AssetTransactors = (LocalAssetTransactor, ForeignFungiblesTransactor); pub type XcmFeesToAccount = pallet_traits::xcm::XcmFeesToAccount< CurrencyAdapter, ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1310,7 +1326,7 @@ impl Config for XcmConfig { type IsReserve = MultiNativeAsset; // Teleporting is disabled. type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FirstAssetTrader; @@ -1318,6 +1334,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } impl pallet_asset_registry::Config for Runtime { @@ -1957,7 +1982,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event, Origin} = 25, // Consensus - Authorship: pallet_authorship::{Pallet, Call, Storage} = 30, + Authorship: pallet_authorship::{Pallet, Storage} = 30, CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 31, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 32, Aura: pallet_aura::{Pallet, Config, Storage} = 33, @@ -2199,12 +2224,21 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { TransactionPayment::query_info(uxt, len) } + fn query_fee_details( uxt: ::Extrinsic, len: u32, ) -> pallet_transaction_payment::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 orml_oracle_rpc_runtime_api::OracleApi< diff --git a/runtime/parallel/Cargo.toml b/runtime/parallel/Cargo.toml index 3182378e5..7f311bf75 100644 --- a/runtime/parallel/Cargo.toml +++ b/runtime/parallel/Cargo.toml @@ -175,6 +175,7 @@ std = [ 'frame-executive/std', 'frame-system/std', 'frame-benchmarking/std', + 'frame-try-runtime/std', 'frame-system-rpc-runtime-api/std', 'pallet-balances/std', 'pallet-xcm/std', @@ -280,7 +281,7 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'orml-xcm/try-runtime', 'orml-vesting/try-runtime', - 'frame-try-runtime', + 'frame-try-runtime/try-runtime', 'pallet-bridge/try-runtime', 'pallet-loans/try-runtime', 'pallet-liquid-staking/try-runtime', diff --git a/runtime/parallel/src/lib.rs b/runtime/parallel/src/lib.rs index bea387ba5..a9ddc70d6 100644 --- a/runtime/parallel/src/lib.rs +++ b/runtime/parallel/src/lib.rs @@ -34,7 +34,7 @@ use frame_support::{ }, ConstantMultiplier, }, - ConsensusEngineId, PalletId, WeakBoundedVec, + ConsensusEngineId, PalletId, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -45,6 +45,7 @@ use orml_traits::{ DataProviderExtended, }; use orml_xcm_support::{IsNativeConcrete, MultiNativeAsset}; +use pallet_ethereum::PostLogContent; use pallet_evm::{FeeCalculator, Runner}; use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; @@ -74,8 +75,8 @@ use sp_version::RuntimeVersion; use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, ConvertedConcreteAssetId, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, LocationInverter, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, EnsureXcmOrigin, FixedWeightBounds, + FungiblesAdapter, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; @@ -219,7 +220,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. 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! { @@ -280,7 +281,7 @@ impl Contains for WhiteListFilter { RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_unsubscribe_version_notify { .. }) | RuntimeCall::CumulusXcm(_) | // Consensus - RuntimeCall::Authorship(_) | + // RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | // RuntimeCall::CollatorSelection(_) | // Utility @@ -418,7 +419,7 @@ parameter_types! { parameter_types! { pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::parachain_id().into()))); - pub const BaseXcmWeight: u64 = 150_000_000; + pub const BaseXcmWeight: Weight = Weight::from_ref_time(150_000_000); pub const MaxInstructions: u32 = 100; pub const MaxAssetsForTransfer: usize = 2; } @@ -445,7 +446,7 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = BaseXcmWeight; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; @@ -689,9 +690,7 @@ parameter_types! { impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = (CollatorSelection,); + type EventHandler = CollatorSelection; } parameter_types! { @@ -866,9 +865,14 @@ impl pallet_evm::Config for Runtime { type OnCreate = (); } +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + impl pallet_ethereum::Config for Runtime { type RuntimeEvent = RuntimeEvent; type StateRoot = pallet_ethereum::IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; } parameter_types! { @@ -1070,11 +1074,16 @@ pub type LocalOriginToLocation = SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Runtime { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -1090,8 +1099,16 @@ impl pallet_xcm::Config for Runtime { // Teleporting is disabled. type XcmTeleportFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = weights::pallet_xcm::WeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -1108,6 +1125,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ControllerOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Runtime { @@ -1136,12 +1154,10 @@ impl cumulus_pallet_parachain_system::Config for Runtime { impl parachain_info::Config for Runtime {} parameter_types! { - pub RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Polkadot; pub RelayCurrency: CurrencyId = DOT; - pub ParallelNetwork: NetworkId = NetworkId::Named(WeakBoundedVec::>::force_from("parallel".into(), None)); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = MultiLocation::new(0, X1(Parachain(ParachainInfo::parachain_id().into()))); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used @@ -1265,7 +1281,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< Assets, // Use this currency when it is a fungible asset matching the given location or name: ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1277,7 +1293,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< // Our chain's account ID type (we can't get away without mentioning it explicitly): AccountId, // We dont allow teleports. - Nothing, + NoChecking, // We dont track any teleports CheckingAccount, >; @@ -1292,7 +1308,7 @@ pub type AssetTransactors = (LocalAssetTransactor, ForeignFungiblesTransactor); pub type XcmFeesToAccount = pallet_traits::xcm::XcmFeesToAccount< CurrencyAdapter, ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1313,7 +1329,7 @@ impl Config for XcmConfig { type IsReserve = MultiNativeAsset; // Teleporting is disabled. type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FirstAssetTrader; @@ -1321,6 +1337,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } impl pallet_asset_registry::Config for Runtime { @@ -1959,7 +1984,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event, Origin} = 25, // Consensus - Authorship: pallet_authorship::{Pallet, Call, Storage} = 30, + Authorship: pallet_authorship::{Pallet, Storage} = 30, CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 31, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 32, Aura: pallet_aura::{Pallet, Config, Storage} = 33, @@ -2206,12 +2231,20 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { TransactionPayment::query_info(uxt, len) } + fn query_fee_details( uxt: ::Extrinsic, len: u32, ) -> pallet_transaction_payment::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 orml_oracle_rpc_runtime_api::OracleApi< diff --git a/runtime/parallel/src/weights/mod.rs b/runtime/parallel/src/weights/mod.rs index 012eaf198..6e95ec0bd 100644 --- a/runtime/parallel/src/weights/mod.rs +++ b/runtime/parallel/src/weights/mod.rs @@ -25,4 +25,5 @@ pub mod orml_vesting; pub mod pallet_identity; pub mod pallet_preimage; pub mod pallet_treasury; -pub mod pallet_utility; \ No newline at end of file +pub mod pallet_utility; +pub mod pallet_xcm; \ No newline at end of file diff --git a/runtime/parallel/src/weights/pallet_xcm.rs b/runtime/parallel/src/weights/pallet_xcm.rs new file mode 100644 index 000000000..22ba52c13 --- /dev/null +++ b/runtime/parallel/src/weights/pallet_xcm.rs @@ -0,0 +1,168 @@ +// Copyright 2017-2022 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . +//! Autogenerated weights for `pallet_xcm` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-12-16, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json +// --pallet=pallet_xcm +// --chain=kusama-dev +// --header=./file_header.txt +// --output=./runtime/kusama/src/weights/ + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for `pallet_xcm`. +pub struct WeightInfo(PhantomData); +impl pallet_xcm::WeightInfo for WeightInfo { + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + fn send() -> Weight { + // Minimum execution time: 36_474 nanoseconds. + Weight::from_ref_time(57_030_000) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + } + fn teleport_assets() -> Weight { + // Minimum execution time: 28_147 nanoseconds. + Weight::from_ref_time(58_836_000) + } + fn reserve_transfer_assets() -> Weight { + // Minimum execution time: 28_469 nanoseconds. + Weight::from_ref_time(49_002_000) + } + fn execute() -> Weight { + // Minimum execution time: 15_637 nanoseconds. + Weight::from_ref_time(25_880_000) + } + // Storage: XcmPallet SupportedVersion (r:0 w:1) + fn force_xcm_version() -> Weight { + // Minimum execution time: 15_330 nanoseconds. + Weight::from_ref_time(25_817_000) + .saturating_add(T::DbWeight::get().writes(1)) + } + // Storage: XcmPallet SafeXcmVersion (r:0 w:1) + fn force_default_xcm_version() -> Weight { + // Minimum execution time: 4_104 nanoseconds. + Weight::from_ref_time(7_365_000) + .saturating_add(T::DbWeight::get().writes(1)) + } + // Storage: XcmPallet VersionNotifiers (r:1 w:1) + // Storage: XcmPallet QueryCounter (r:1 w:1) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: XcmPallet Queries (r:0 w:1) + fn force_subscribe_version_notify() -> Weight { + // Minimum execution time: 42_177 nanoseconds. + Weight::from_ref_time(72_657_000) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(6)) + } + // Storage: XcmPallet VersionNotifiers (r:1 w:1) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: XcmPallet Queries (r:0 w:1) + fn force_unsubscribe_version_notify() -> Weight { + // Minimum execution time: 45_481 nanoseconds. + Weight::from_ref_time(75_960_000) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(5)) + } + // Storage: XcmPallet SupportedVersion (r:4 w:2) + fn migrate_supported_version() -> Weight { + // Minimum execution time: 14_899 nanoseconds. + Weight::from_ref_time(25_452_000) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + // Storage: XcmPallet VersionNotifiers (r:4 w:2) + fn migrate_version_notifiers() -> Weight { + // Minimum execution time: 14_759 nanoseconds. + Weight::from_ref_time(25_176_000) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + // Storage: XcmPallet VersionNotifyTargets (r:5 w:0) + fn already_notified_target() -> Weight { + // Minimum execution time: 17_022 nanoseconds. + Weight::from_ref_time(37_468_000) + .saturating_add(T::DbWeight::get().reads(5)) + } + // Storage: XcmPallet VersionNotifyTargets (r:2 w:1) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + fn notify_current_targets() -> Weight { + // Minimum execution time: 37_810 nanoseconds. + Weight::from_ref_time(58_198_000) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(4)) + } + // Storage: XcmPallet VersionNotifyTargets (r:3 w:0) + fn notify_target_migration_fail() -> Weight { + // Minimum execution time: 7_440 nanoseconds. + Weight::from_ref_time(10_659_000) + .saturating_add(T::DbWeight::get().reads(3)) + } + // Storage: XcmPallet VersionNotifyTargets (r:4 w:2) + fn migrate_version_notify_targets() -> Weight { + // Minimum execution time: 14_975 nanoseconds. + Weight::from_ref_time(25_479_000) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(2)) + } + // Storage: XcmPallet VersionNotifyTargets (r:4 w:2) + // Storage: XcmPallet SupportedVersion (r:1 w:0) + // Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) + // Storage: XcmPallet SafeXcmVersion (r:1 w:0) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + fn migrate_and_notify_old_targets() -> Weight { + // Minimum execution time: 43_328 nanoseconds. + Weight::from_ref_time(64_054_000) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(5)) + } +} diff --git a/runtime/vanilla/Cargo.toml b/runtime/vanilla/Cargo.toml index 4131ec52f..ca2a1bb33 100644 --- a/runtime/vanilla/Cargo.toml +++ b/runtime/vanilla/Cargo.toml @@ -168,6 +168,7 @@ std = [ 'frame-executive/std', 'frame-system/std', 'frame-benchmarking/std', + 'frame-try-runtime/std', 'frame-system-rpc-runtime-api/std', 'pallet-balances/std', 'pallet-xcm/std', @@ -276,7 +277,7 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'orml-xcm/try-runtime', 'orml-vesting/try-runtime', - 'frame-try-runtime', + 'frame-try-runtime/try-runtime', 'pallet-bridge/try-runtime', 'pallet-loans/try-runtime', 'pallet-liquid-staking/try-runtime', diff --git a/runtime/vanilla/src/lib.rs b/runtime/vanilla/src/lib.rs index 86cb2e4c5..5d4371ccf 100644 --- a/runtime/vanilla/src/lib.rs +++ b/runtime/vanilla/src/lib.rs @@ -33,7 +33,7 @@ use frame_support::{ }, ConstantMultiplier, }, - ConsensusEngineId, PalletId, WeakBoundedVec, + ConsensusEngineId, PalletId, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -70,8 +70,8 @@ use sp_version::RuntimeVersion; use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, - AllowTopLevelPaidExecutionFrom, ConvertedConcreteAssetId, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, LocationInverter, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + AllowTopLevelPaidExecutionFrom, ConvertedConcreteId, EnsureXcmOrigin, FixedWeightBounds, + FungiblesAdapter, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; @@ -94,6 +94,7 @@ pub use pallet_router; pub use pallet_stableswap; pub use pallet_streaming; +use pallet_ethereum::PostLogContent; use pallet_evm::{FeeCalculator, Runner}; use pallet_traits::{ xcm::{ @@ -215,7 +216,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. 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! { @@ -276,7 +277,7 @@ impl Contains for WhiteListFilter { RuntimeCall::PolkadotXcm(pallet_xcm::Call::force_unsubscribe_version_notify { .. }) | RuntimeCall::CumulusXcm(_) | // Consensus - RuntimeCall::Authorship(_) | + // RuntimeCall::Authorship(_) | RuntimeCall::CollatorSelection(_) | RuntimeCall::Session(_) | // Utility @@ -414,7 +415,7 @@ parameter_types! { parameter_types! { pub SelfLocation: MultiLocation = MultiLocation::new(1, X1(Parachain(ParachainInfo::parachain_id().into()))); - pub const BaseXcmWeight: u64 = 150_000_000; + pub const BaseXcmWeight: Weight = Weight::from_ref_time(150_000_000); pub const MaxInstructions: u32 = 100; pub const MaxAssetsForTransfer: usize = 2; } @@ -429,7 +430,7 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = BaseXcmWeight; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; @@ -673,9 +674,7 @@ parameter_types! { impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = (CollatorSelection,); + type EventHandler = CollatorSelection; } parameter_types! { @@ -851,9 +850,14 @@ impl pallet_evm::Config for Runtime { type OnCreate = (); } +parameter_types! { + pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes; +} + impl pallet_ethereum::Config for Runtime { type RuntimeEvent = RuntimeEvent; type StateRoot = pallet_ethereum::IntermediateStateRoot; + type PostLogContent = PostBlockAndTxnHashes; } parameter_types! { @@ -1059,11 +1063,16 @@ pub type LocalOriginToLocation = SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Runtime { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -1079,8 +1088,16 @@ impl pallet_xcm::Config for Runtime { // Teleporting is disabled. type XcmTeleportFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = pallet_xcm::TestWeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -1097,6 +1114,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ControllerOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Runtime { @@ -1125,14 +1143,11 @@ impl cumulus_pallet_parachain_system::Config for Runtime { impl parachain_info::Config for Runtime {} parameter_types! { - pub const RelayLocation: MultiLocation = MultiLocation::parent(); pub RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayCurrency: CurrencyId = KSM; - pub VanillaNetwork: NetworkId = NetworkId::Named(WeakBoundedVec::>::force_from("vanilla".into(), None)); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = MultiLocation::new(0, X1(Parachain(ParachainInfo::parachain_id().into()))); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } - /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used /// when determining ownership of accounts for asset transacting and when attempting to use XCM /// `Transact` in order to determine the dispatch Origin. @@ -1270,7 +1285,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< Assets, // Use this currency when it is a fungible asset matching the given location or name: ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1282,7 +1297,7 @@ pub type ForeignFungiblesTransactor = FungiblesAdapter< // Our chain's account ID type (we can't get away without mentioning it explicitly): AccountId, // We dont allow teleports. - Nothing, + NoChecking, // We dont track any teleports CheckingAccount, >; @@ -1297,7 +1312,7 @@ pub type AssetTransactors = (LocalAssetTransactor, ForeignFungiblesTransactor); pub type XcmFeesToAccount = pallet_traits::xcm::XcmFeesToAccount< CurrencyAdapter, ( - ConvertedConcreteAssetId< + ConvertedConcreteId< CurrencyId, Balance, AsAssetType, @@ -1318,7 +1333,7 @@ impl Config for XcmConfig { type IsReserve = MultiNativeAsset; // Teleporting is disabled. type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FirstAssetTrader; @@ -1326,6 +1341,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } impl pallet_asset_registry::Config for Runtime { @@ -1986,7 +2010,7 @@ construct_runtime!( CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event, Origin} = 25, // Consensus - Authorship: pallet_authorship::{Pallet, Call, Storage} = 30, + Authorship: pallet_authorship::{Pallet, Storage} = 30, CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 31, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 32, Aura: pallet_aura::{Pallet, Config, Storage} = 33, @@ -2229,12 +2253,21 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { TransactionPayment::query_info(uxt, len) } + fn query_fee_details( uxt: ::Extrinsic, len: u32, ) -> pallet_transaction_payment::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 orml_oracle_rpc_runtime_api::OracleApi< From 9b97d1d306b5922e3a212186d159bc58e1a88c24 Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Fri, 16 Jun 2023 16:34:54 +0800 Subject: [PATCH 05/13] fix mock --- pallets/crowdloans/src/mock.rs | 76 +++++++++++++++++++++--------- pallets/liquid-staking/src/mock.rs | 59 ++++++++++++++++------- pallets/xcm-helper/src/mock.rs | 57 +++++++++++++++------- 3 files changed, 138 insertions(+), 54 deletions(-) diff --git a/pallets/crowdloans/src/mock.rs b/pallets/crowdloans/src/mock.rs index 2248dbbb9..deacfe265 100644 --- a/pallets/crowdloans/src/mock.rs +++ b/pallets/crowdloans/src/mock.rs @@ -1,4 +1,4 @@ -use codec::{Decode, Encode}; +use codec::Decode; use core::marker::PhantomData; use frame_support::{ construct_runtime, @@ -9,7 +9,7 @@ use frame_support::{ GenesisBuild, Nothing, OriginTrait, SortedMembers, }, weights::constants::WEIGHT_REF_TIME_PER_SECOND, - PalletId, WeakBoundedVec, + BoundedSlice, PalletId, }; use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; @@ -33,9 +33,9 @@ pub use xcm_builder::{ AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, ChildParachainAsNative, ChildParachainConvertsVia, ChildSystemParachainAsSuperuser, CurrencyAdapter as XcmCurrencyAdapter, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, - IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, + IsConcrete, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, }; use xcm_executor::{traits::ConvertOrigin, Config, XcmExecutor}; use xcm_simulator::{decl_test_network, decl_test_parachain, decl_test_relay_chain}; @@ -102,7 +102,7 @@ parameter_types! { pub RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayCurrency: CurrencyId = DOT; pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub type LocationToAccountId = ( @@ -121,7 +121,7 @@ pub type XcmOriginToCallOrigin = ( parameter_types! { pub const UnitWeightCost: u64 = 1; - pub DotPerSecond: (AssetId, u128) = (AssetId::Concrete(MultiLocation::parent()), 1); + pub DotPerSecond: (AssetId, u128, u128) = (AssetId::Concrete(MultiLocation::parent()), 1, 1); } parameter_types! { @@ -161,7 +161,7 @@ impl Config for XcmConfig { type OriginConverter = XcmOriginToCallOrigin; type IsReserve = NativeAsset; type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FixedRateOfFungible; @@ -169,6 +169,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = (); + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } type KusamaXcmOriginToCallOrigin = ( @@ -184,7 +193,7 @@ type KusamaXcmOriginToCallOrigin = ( >, // The AccountId32 location type can be expressed natively as a `Signed` origin. SignedAccountId32AsNative< - kusama_runtime::xcm_config::KusamaNetwork, + kusama_runtime::xcm_config::ThisNetwork, kusama_runtime::RuntimeOrigin, >, // A system child parachain, expressed as a Superuser, converts to the `Root` origin. @@ -195,7 +204,7 @@ pub type KusamaCall = kusama_runtime::RuntimeCall; pub type KusamaLocalAssetTransactor = kusama_runtime::xcm_config::LocalAssetTransactor; // pub type KusamaXcmOriginToCallOrigin = kusama_runtime::LocalOriginConverter; // pub type KusamaLocationInverter = kusama_runtime::LocationInverter; -pub type KusamaAncestry = kusama_runtime::xcm_config::Ancestry; +pub type KusamaUniversalLocation = kusama_runtime::xcm_config::UniversalLocation; pub type KusamaBarrier = kusama_runtime::xcm_config::Barrier; pub type KusamaXcmPallet = kusama_runtime::XcmPallet; @@ -207,7 +216,7 @@ impl Config for RelayXcmConfig { type OriginConverter = KusamaXcmOriginToCallOrigin; type IsReserve = (); type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = KusamaUniversalLocation; type Barrier = KusamaBarrier; type Weigher = FixedWeightBounds; type Trader = FixedRateOfFungible; @@ -215,6 +224,15 @@ impl Config for RelayXcmConfig { type SubscriptionService = KusamaXcmPallet; type AssetTrap = KusamaXcmPallet; type AssetClaims = KusamaXcmPallet; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = (); + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = KusamaCall; + type SafeCallFilter = Everything; } pub struct SystemParachainAsSuperuser(PhantomData); @@ -251,6 +269,7 @@ impl cumulus_pallet_xcmp_queue::Config for Test { type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = SystemParachainAsSuperuser; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Test { @@ -266,6 +285,11 @@ impl cumulus_pallet_xcm::Config for Test { pub type LocalOriginToLocation = SignedToAccountId32; +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Test { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -281,8 +305,16 @@ impl pallet_xcm::Config for Test { type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = pallet_xcm::TestWeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } pub struct CurrencyIdConvert; @@ -294,10 +326,8 @@ impl Convert> for CurrencyIdConvert { 1, X2( Parachain(ParachainInfo::parachain_id().into()), - GeneralKey(WeakBoundedVec::>::force_from( - b"sDOT".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"sDOT".to_vec().as_ref()) + .into(), ), )), _ => None, @@ -314,9 +344,13 @@ impl Convert> for CurrencyIdConvert { } => Some(DOT), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::parachain_id() && key == b"sDOT".to_vec() => { - Some(SDOT) + interior: X2(Parachain(id), GeneralKey { data, length }), + } => { + let key = &data[..data.len().min(length as usize)]; + if ParaId::from(id) == ParachainInfo::parachain_id() && key == b"sDOT".to_vec() { + return Some(SDOT); + } + None } _ => None, } @@ -341,7 +375,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account_id: AccountId) -> MultiLocation { MultiLocation::from(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: account_id.into(), }) } @@ -370,7 +404,7 @@ impl orml_xtokens::Config for Test { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = BaseXcmWeight; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; diff --git a/pallets/liquid-staking/src/mock.rs b/pallets/liquid-staking/src/mock.rs index d22d54bd4..b44582ce0 100644 --- a/pallets/liquid-staking/src/mock.rs +++ b/pallets/liquid-staking/src/mock.rs @@ -8,7 +8,7 @@ use frame_support::{ GenesisBuild, Nothing, OriginTrait, SortedMembers, }, weights::constants::WEIGHT_REF_TIME_PER_SECOND, - PalletId, WeakBoundedVec, + BoundedSlice, PalletId, }; use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; @@ -39,9 +39,9 @@ pub use xcm_builder::{ AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, ChildParachainAsNative, ChildParachainConvertsVia, ChildSystemParachainAsSuperuser, CurrencyAdapter as XcmCurrencyAdapter, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, - IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, + IsConcrete, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, }; use xcm_executor::{traits::ConvertOrigin, Config, XcmExecutor}; use xcm_simulator::{decl_test_network, decl_test_parachain, decl_test_relay_chain}; @@ -74,7 +74,7 @@ parameter_types! { pub DotLocation: MultiLocation = MultiLocation::parent(); pub RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub type LocationToAccountId = ( @@ -93,7 +93,7 @@ pub type XcmOriginToCallOrigin = ( parameter_types! { pub const UnitWeightCost: u64 = 1; - pub DotPerSecond: (AssetId, u128) = (AssetId::Concrete(MultiLocation::parent()), 1); + pub DotPerSecond: (AssetId, u128, u128) = (AssetId::Concrete(MultiLocation::parent()), 1, 1); } parameter_types! { @@ -133,7 +133,7 @@ impl Config for XcmConfig { type OriginConverter = XcmOriginToCallOrigin; type IsReserve = NativeAsset; type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FixedRateOfFungible; @@ -141,6 +141,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = (); + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } pub struct SystemParachainAsSuperuser(PhantomData); @@ -175,6 +184,7 @@ impl cumulus_pallet_xcmp_queue::Config for Test { type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = SystemParachainAsSuperuser; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Test { @@ -190,6 +200,11 @@ impl cumulus_pallet_xcm::Config for Test { pub type LocalOriginToLocation = SignedToAccountId32; +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Test { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -204,8 +219,16 @@ impl pallet_xcm::Config for Test { type XcmTeleportFilter = Nothing; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = pallet_xcm::TestWeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } pub struct CurrencyIdConvert; @@ -217,10 +240,8 @@ impl Convert> for CurrencyIdConvert { 1, X2( Parachain(ParachainInfo::parachain_id().into()), - GeneralKey(WeakBoundedVec::>::force_from( - b"sKSM".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"sKSM".to_vec().as_ref()) + .into(), ), )), _ => None, @@ -237,9 +258,13 @@ impl Convert> for CurrencyIdConvert { } => Some(KSM), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::parachain_id() && key == b"sKSM".to_vec() => { - Some(SKSM) + interior: X2(Parachain(id), GeneralKey { data, length }), + } => { + let key = &data[..data.len().min(length as usize)]; + if ParaId::from(id) == ParachainInfo::parachain_id() && key == b"sKSM".to_vec() { + return Some(SKSM); + } + None } _ => None, } @@ -264,7 +289,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account_id: AccountId) -> MultiLocation { X1(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: account_id.into(), }) .into() @@ -357,7 +382,7 @@ impl orml_xtokens::Config for Test { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = BaseXcmWeight; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; diff --git a/pallets/xcm-helper/src/mock.rs b/pallets/xcm-helper/src/mock.rs index 069c711eb..dbf294504 100644 --- a/pallets/xcm-helper/src/mock.rs +++ b/pallets/xcm-helper/src/mock.rs @@ -8,7 +8,7 @@ use frame_support::{ OriginTrait, SortedMembers, }, weights::constants::WEIGHT_REF_TIME_PER_SECOND, - PalletId, WeakBoundedVec, + BoundedSlice, PalletId, }; use frame_system::{EnsureRoot, EnsureSigned}; use orml_xcm_support::IsNativeConcrete; @@ -29,9 +29,9 @@ pub use xcm_builder::{ AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, ChildParachainAsNative, ChildParachainConvertsVia, ChildSystemParachainAsSuperuser, CurrencyAdapter as XcmCurrencyAdapter, EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, - IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, + IsConcrete, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, }; use xcm_executor::{traits::ConvertOrigin, Config, XcmExecutor}; use xcm_simulator::{decl_test_network, decl_test_parachain, decl_test_relay_chain}; @@ -82,7 +82,7 @@ parameter_types! { pub RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayCurrency: CurrencyId = DOT; pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub type LocationToAccountId = ( @@ -101,7 +101,7 @@ pub type XcmOriginToCallOrigin = ( parameter_types! { pub const UnitWeightCost: u64 = 1; - pub DotPerSecond: (AssetId, u128) = (AssetId::Concrete(MultiLocation::parent()), 1); + pub DotPerSecond: (AssetId, u128, u128) = (AssetId::Concrete(MultiLocation::parent()), 1, 1); } parameter_types! { @@ -141,7 +141,7 @@ impl Config for XcmConfig { type OriginConverter = XcmOriginToCallOrigin; type IsReserve = NativeAsset; type IsTeleporter = (); - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = FixedRateOfFungible; @@ -149,6 +149,15 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type PalletInstancesInfo = (); + type MaxAssetsIntoHolding = ConstU32<64>; + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type CallDispatcher = RuntimeCall; + type SafeCallFilter = Everything; } pub struct SystemParachainAsSuperuser(PhantomData); @@ -183,6 +192,7 @@ impl cumulus_pallet_xcmp_queue::Config for Test { type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = SystemParachainAsSuperuser; type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; + type PriceForSiblingDelivery = (); } impl cumulus_pallet_dmp_queue::Config for Test { @@ -198,6 +208,11 @@ impl cumulus_pallet_xcm::Config for Test { pub type LocalOriginToLocation = SignedToAccountId32; +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub ReachableDest: Option = Some(Parent.into()); +} + impl pallet_xcm::Config for Test { const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; @@ -213,8 +228,16 @@ impl pallet_xcm::Config for Test { type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type UniversalLocation = UniversalLocation; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = (); + type MaxLockers = ConstU32<8>; + type WeightInfo = pallet_xcm::TestWeightInfo; + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } pub struct CurrencyIdConvert; @@ -226,10 +249,8 @@ impl Convert> for CurrencyIdConvert { 1, X2( Parachain(ParachainInfo::parachain_id().into()), - GeneralKey(WeakBoundedVec::>::force_from( - b"sDOT".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"sDOT".to_vec().as_ref()) + .into(), ), )), _ => None, @@ -246,9 +267,13 @@ impl Convert> for CurrencyIdConvert { } => Some(DOT), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::parachain_id() && key == b"sDOT".to_vec() => { - Some(SDOT) + interior: X2(Parachain(id), GeneralKey { data, length }), + } => { + let key = &data[..data.len().min(length as usize)]; + if ParaId::from(id) == ParachainInfo::parachain_id() && key == b"sDOT".to_vec() { + return Some(SDOT); + } + None } _ => None, } @@ -273,7 +298,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account_id: AccountId) -> MultiLocation { MultiLocation::from(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: account_id.into(), }) } From 0261fec343ac577ee0d35e617d6a4ef0383bbbe7 Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Fri, 16 Jun 2023 19:24:02 +0800 Subject: [PATCH 06/13] make check works --- integration-tests/src/kusama_transfer.rs | 14 ++++---- integration-tests/src/polkadot_transfer.rs | 40 ++++++++++++---------- integration-tests/src/setup.rs | 40 ++++++++-------------- integration-tests/src/sibling_transfer.rs | 33 +++++++++--------- integration-tests/src/statemine.rs | 32 +++++++++-------- node/parallel/src/client.rs | 12 ++----- node/parallel/src/rpc.rs | 25 ++++++-------- node/parallel/src/service.rs | 9 +++-- precompiles/utils/src/tests.rs | 36 ++++++++----------- 9 files changed, 109 insertions(+), 132 deletions(-) diff --git a/integration-tests/src/kusama_transfer.rs b/integration-tests/src/kusama_transfer.rs index 801e623c1..888aefa77 100644 --- a/integration-tests/src/kusama_transfer.rs +++ b/integration-tests/src/kusama_transfer.rs @@ -29,15 +29,15 @@ fn transfer_from_relay_chain() { KusamaNet::execute_with(|| { assert_ok!(kusama_runtime::XcmPallet::reserve_transfer_assets( kusama_runtime::RuntimeOrigin::signed(ALICE.into()), - Box::new(VersionedMultiLocation::V1(X1(Parachain(2085)).into())), - Box::new(VersionedMultiLocation::V1( + Box::new(VersionedMultiLocation::V3(X1(Parachain(2085)).into())), + Box::new(VersionedMultiLocation::V3( X1(Junction::AccountId32 { id: BOB, - network: NetworkId::Any + network: None }) .into() )), - Box::new(VersionedMultiAssets::V1((Here, ksm(1f64)).into())), + Box::new(VersionedMultiAssets::V3((Here, ksm(1f64)).into())), 0, )); }); @@ -56,14 +56,14 @@ fn transfer_to_relay_chain() { RuntimeOrigin::signed(ALICE.into()), KSM, ksm(1f64), - Box::new(xcm::VersionedMultiLocation::V1(MultiLocation::new( + Box::new(xcm::VersionedMultiLocation::V3(MultiLocation::new( 1, X1(Junction::AccountId32 { id: BOB, - network: NetworkId::Any + network: None }) ))), - WeightLimit::Limited(4_000_000_000) + WeightLimit::Limited(4_000_000_000.into()) )); }); diff --git a/integration-tests/src/polkadot_transfer.rs b/integration-tests/src/polkadot_transfer.rs index e9f2c7b80..aa0c0b2e6 100644 --- a/integration-tests/src/polkadot_transfer.rs +++ b/integration-tests/src/polkadot_transfer.rs @@ -15,7 +15,7 @@ //! Cross-chain transfer tests within Polkadot network. use cumulus_primitives_core::ParaId; -use frame_support::{assert_ok, traits::ConstU32, WeakBoundedVec}; +use frame_support::{assert_ok, traits::ConstU32, BoundedSlice}; use parallel_runtime::Assets; use primitives::{tokens::*, AccountId}; use sp_runtime::traits::AccountIdConversion; @@ -29,15 +29,15 @@ fn transfer_from_relay_chain() { PolkadotNet::execute_with(|| { assert_ok!(polkadot_runtime::XcmPallet::reserve_transfer_assets( polkadot_runtime::RuntimeOrigin::signed(ALICE.into()), - Box::new(VersionedMultiLocation::V1(X1(Parachain(2012)).into())), - Box::new(VersionedMultiLocation::V1( + Box::new(VersionedMultiLocation::V3(X1(Parachain(2012)).into())), + Box::new(VersionedMultiLocation::V3( X1(Junction::AccountId32 { id: BOB, - network: NetworkId::Any + network: None }) .into() )), - Box::new(VersionedMultiAssets::V1((Here, dot(1f64)).into())), + Box::new(VersionedMultiAssets::V3((Here, dot(1f64)).into())), 0, )); }); @@ -56,14 +56,14 @@ fn transfer_to_relay_chain() { RuntimeOrigin::signed(ALICE.into()), DOT, dot(10f64), - Box::new(xcm::VersionedMultiLocation::V1(MultiLocation::new( + Box::new(xcm::VersionedMultiLocation::V3(MultiLocation::new( 1, X1(Junction::AccountId32 { id: BOB, - network: NetworkId::Any + network: None }) ))), - WeightLimit::Limited(4_000_000_000) + WeightLimit::Limited(4_000_000_000.into()) )); }); @@ -90,19 +90,21 @@ fn transfer_sibling_chain_asset() { RuntimeOrigin::signed(ALICE.into()).clone(), Box::new(MultiLocation::new(1, X1(Parachain(2012))).into()), Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() + MultiLocation::new( + 0, + X1(Junction::AccountId32 { + id: BOB, + network: None + }) + ) .into() ), Box::new( ( - X1(GeneralKey(WeakBoundedVec::>::force_from( - b"CLV".to_vec(), - None - ))), + X1( + BoundedSlice::>::truncate_from(b"CLV".to_vec().as_ref()) + .into() + ), para(10) ) .into() @@ -129,14 +131,14 @@ fn transfer_sibling_chain_asset() { X2( Parachain(2002), //Sibling chain Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) ) .into() ), - WeightLimit::Limited(4_000_000_000), + WeightLimit::Limited(4_000_000_000.into()), )); assert_eq!( diff --git a/integration-tests/src/setup.rs b/integration-tests/src/setup.rs index 479f7732c..3fbd56dd2 100644 --- a/integration-tests/src/setup.rs +++ b/integration-tests/src/setup.rs @@ -14,7 +14,7 @@ use frame_support::traits::ConstU32; use frame_support::traits::GenesisBuild; -use frame_support::WeakBoundedVec; +use frame_support::BoundedSlice; pub use frame_support::pallet_prelude::Weight; use frame_support::traits::Currency; @@ -175,10 +175,8 @@ impl ExtBuilder { 1, X2( Parachain(2085), - GeneralKey(WeakBoundedVec::>::force_from( - b"HKO".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"HKO".to_vec().as_ref()) + .into(), ), ); let hko_asset_type = AssetType::Xcm(hko_asset_location); @@ -230,7 +228,7 @@ impl ExtBuilder { XcmHelper::update_xcm_weight_fee( RuntimeOrigin::root(), - XcmCall::TransferToSiblingchain(Box::new((1, Parachain(1000)).into())), + XcmCall::TransferToSiblingchain(Box::new(MultiLocation::new(1u8, Parachain(1000)))), XcmWeightFeeMisc { weight: Weight::from_ref_time(WEIGHT_IN_STATEMINE), fee: FEE_IN_STATEMINE, @@ -300,10 +298,8 @@ impl ExtBuilder { 1, X2( Parachain(2000), - GeneralKey(WeakBoundedVec::>::force_from( - b"KAR".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"KAR".to_vec().as_ref()) + .into(), ), ); let kar_asset_type = AssetType::Xcm(kar_asset_location); @@ -439,10 +435,8 @@ impl ExtBuilder { 1, X2( Parachain(2012), - GeneralKey(WeakBoundedVec::>::force_from( - b"PARA".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"PARA".to_vec().as_ref()) + .into(), ), ); let para_asset_type = AssetType::Xcm(para_asset_location); @@ -472,10 +466,8 @@ impl ExtBuilder { 1, X2( Parachain(2002), - GeneralKey(WeakBoundedVec::>::force_from( - b"CLV".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"CLV".to_vec().as_ref()) + .into(), ), ); let clv_asset_type = AssetType::Xcm(clv_asset_location); @@ -593,10 +585,8 @@ impl ExtBuilder { 1, X2( Parachain(2000), - GeneralKey(WeakBoundedVec::>::force_from( - b"KAR".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"KAR".to_vec().as_ref()) + .into(), ), ); let kar_asset_type = AssetType::Xcm(kar_asset_location); @@ -622,10 +612,8 @@ impl ExtBuilder { 1, X2( Parachain(2002), - GeneralKey(WeakBoundedVec::>::force_from( - b"CLV".to_vec(), - None, - )), + BoundedSlice::>::truncate_from(b"CLV".to_vec().as_ref()) + .into(), ), ); let clv_asset_type = AssetType::Xcm(clv_asset_location); diff --git a/integration-tests/src/sibling_transfer.rs b/integration-tests/src/sibling_transfer.rs index 5c29342aa..0b41b2812 100644 --- a/integration-tests/src/sibling_transfer.rs +++ b/integration-tests/src/sibling_transfer.rs @@ -15,7 +15,7 @@ use crate::{kusama_test_net::*, setup::*}; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{assert_ok, traits::ConstU32, WeakBoundedVec}; +use frame_support::{assert_ok, traits::ConstU32, BoundedSlice}; use primitives::{AccountId, BlockNumber, KAR}; use scale_info::TypeInfo; use sp_core::{hexdisplay::HexDisplay, RuntimeDebug}; @@ -56,14 +56,13 @@ fn transfer_sibling_chain_asset() { MockSibling::execute_with(|| { let mut general_key = - WeakBoundedVec::>::force_from([4, 13].to_vec(), None).to_vec(); + BoundedSlice::>::truncate_from([4, 13].to_vec().as_ref()).to_vec(); assert_eq!(general_key, vec![4, 13]); let mut general_key_hex = format!("0x{:?}", HexDisplay::from(&general_key)); assert_eq!(general_key_hex, "0x040d"); - general_key = WeakBoundedVec::>::force_from( - CurrencyId::LiquidCrowdloan(13).encode(), - None, + general_key = BoundedSlice::>::truncate_from( + CurrencyId::LiquidCrowdloan(13).encode().as_ref(), ) .to_vec(); assert_eq!(general_key, vec![4, 13, 0, 0, 0]); @@ -74,19 +73,21 @@ fn transfer_sibling_chain_asset() { RuntimeOrigin::signed(ALICE.into()).clone(), Box::new(MultiLocation::new(1, X1(Parachain(2085))).into()), Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() + MultiLocation::new( + 0, + X1(Junction::AccountId32 { + id: BOB, + network: None + }) + ) .into() ), Box::new( ( - X1(GeneralKey(WeakBoundedVec::>::force_from( - b"KAR".to_vec(), - None - ))), + X1( + BoundedSlice::>::truncate_from(b"KAR".to_vec().as_ref()) + .into() + ), heiko(10) ) .into() @@ -113,14 +114,14 @@ fn transfer_sibling_chain_asset() { X2( Parachain(2000), //Sibling chain Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) ) .into() ), - WeightLimit::Limited(4_000_000_000), + WeightLimit::Limited(4_000_000_000.into()), )); assert_eq!( diff --git a/integration-tests/src/statemine.rs b/integration-tests/src/statemine.rs index 6ee7335b2..de652f5da 100644 --- a/integration-tests/src/statemine.rs +++ b/integration-tests/src/statemine.rs @@ -31,11 +31,13 @@ fn transfer_statemine_rmrk() { RuntimeOrigin::signed(ALICE.into()).clone(), Box::new(MultiLocation::new(1, X1(Parachain(2085))).into()), Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() + MultiLocation::new( + 0, + X1(Junction::AccountId32 { + id: BOB, + network: None + }) + ) .into() ), Box::new((X2(PalletInstance(50), GeneralIndex(8)), rmrk(2)).into()), @@ -80,14 +82,14 @@ fn transfer_statemine_rmrk() { X2( Parachain(1000), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) ) .into() ), - WeightLimit::Limited(WEIGHT_IN_STATEMINE as u64) + WeightLimit::Limited(WEIGHT_IN_STATEMINE.into()) )); }); // check reserved ksm move from heiko sovereign to statemine sovereign @@ -125,11 +127,13 @@ fn transfer_statemine_usdt() { RuntimeOrigin::signed(ALICE.into()).clone(), Box::new(MultiLocation::new(1, X1(Parachain(2085))).into()), Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() + MultiLocation::new( + 0, + X1(Junction::AccountId32 { + id: BOB, + network: None + }) + ) .into() ), Box::new( @@ -179,14 +183,14 @@ fn transfer_statemine_usdt() { X2( Parachain(1000), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) ) .into() ), - WeightLimit::Limited(WEIGHT_IN_STATEMINE as u64) + WeightLimit::Limited(WEIGHT_IN_STATEMINE.into()) )); }); diff --git a/node/parallel/src/client.rs b/node/parallel/src/client.rs index 18e12b5c9..619561964 100644 --- a/node/parallel/src/client.rs +++ b/node/parallel/src/client.rs @@ -374,11 +374,7 @@ impl sc_client_api::StorageProvider for Clie prefix: Option<&'a StorageKey>, start_key: Option<&StorageKey>, ) -> sp_blockchain::Result< - KeyIterator< - 'a, - >::State, - Block, - >, + KeyIterator<>::State, Block>, > { with_client! { self, @@ -426,11 +422,7 @@ impl sc_client_api::StorageProvider for Clie prefix: Option<&'a StorageKey>, start_key: Option<&StorageKey>, ) -> sp_blockchain::Result< - KeyIterator< - 'a, - >::State, - Block, - >, + KeyIterator<>::State, Block>, > { with_client! { self, diff --git a/node/parallel/src/rpc.rs b/node/parallel/src/rpc.rs index 734ad495a..f3acb81aa 100644 --- a/node/parallel/src/rpc.rs +++ b/node/parallel/src/rpc.rs @@ -21,6 +21,7 @@ use fc_rpc::{ SchemaV1Override, SchemaV2Override, SchemaV3Override, StorageOverride, Web3, Web3ApiServer, }; use fc_rpc_core::types::{FeeHistoryCache, FilterPool}; +use fp_rpc::EthereumRuntimeRPCApi; use fp_storage::EthereumStorageSchema; use jsonrpsee::RpcModule; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; @@ -39,7 +40,7 @@ use sp_block_builder::BlockBuilder; use sp_blockchain::{ Backend as BlockchainBackend, Error as BlockChainError, HeaderBackend, HeaderMetadata, }; -use sp_runtime::traits::BlakeTwo256; +use sp_runtime::traits::{BlakeTwo256, Block as BlockT}; use std::collections::BTreeMap; use std::sync::Arc; use substrate_frame_rpc_system::{System, SystemApiServer}; @@ -90,30 +91,26 @@ where )?)) } -pub fn overrides_handle(client: Arc) -> Arc> +pub fn overrides_handle(client: Arc) -> Arc> where - C: ProvideRuntimeApi + StorageProvider + AuxStore, - C: HeaderBackend + HeaderMetadata, - C: Send + Sync + 'static, - C::Api: fp_rpc::EthereumRuntimeRPCApi, - BE: Backend + 'static, - BE::State: StateBackend, + B: BlockT, + C: ProvideRuntimeApi, + C::Api: EthereumRuntimeRPCApi, + C: HeaderBackend + StorageProvider + 'static, + BE: Backend + 'static, { let mut overrides_map = BTreeMap::new(); overrides_map.insert( EthereumStorageSchema::V1, - Box::new(SchemaV1Override::new(client.clone())) - as Box + Send + Sync>, + Box::new(SchemaV1Override::new(client.clone())) as Box>, ); overrides_map.insert( EthereumStorageSchema::V2, - Box::new(SchemaV2Override::new(client.clone())) - as Box + Send + Sync>, + Box::new(SchemaV2Override::new(client.clone())) as Box>, ); overrides_map.insert( EthereumStorageSchema::V3, - Box::new(SchemaV3Override::new(client.clone())) - as Box + Send + Sync>, + Box::new(SchemaV3Override::new(client.clone())) as Box>, ); Arc::new(OverrideHandle { diff --git a/node/parallel/src/service.rs b/node/parallel/src/service.rs index b07046851..fe325047c 100644 --- a/node/parallel/src/service.rs +++ b/node/parallel/src/service.rs @@ -35,7 +35,7 @@ use std::{collections::BTreeMap, sync::Arc, time::Duration}; use cumulus_client_cli::CollatorOptions; use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain; -use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult}; +use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult}; use cumulus_relay_chain_minimal_node::build_minimal_relay_chain_node; use fc_consensus::FrontierBlockImport; @@ -340,10 +340,7 @@ where collator_options.clone(), ) .await - .map_err(|e| match e { - RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x, - s => s.to_string().into(), - })?; + .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?; let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id); let force_authoring = parachain_config.force_authoring; @@ -379,6 +376,7 @@ where Duration::new(6, 0), client.clone(), backend.clone(), + overrides.clone(), frontier_backend.clone(), 3, 0, @@ -746,6 +744,7 @@ where Duration::new(6, 0), client.clone(), backend.clone(), + overrides.clone(), frontier_backend.clone(), 3, 0, diff --git a/precompiles/utils/src/tests.rs b/precompiles/utils/src/tests.rs index 0a202e93a..722ef4d1d 100644 --- a/precompiles/utils/src/tests.rs +++ b/precompiles/utils/src/tests.rs @@ -16,7 +16,6 @@ use super::*; use crate::data::xcm::{network_id_from_bytes, network_id_to_bytes}; use hex_literal::hex; use sp_core::{H256, U256}; -use sp_runtime::WeakBoundedVec; use sp_std::convert::TryInto; use xcm::latest::{Junction, Junctions, NetworkId}; @@ -804,7 +803,7 @@ fn junction_decoder_works() { let writer_output = EvmDataWriter::new() .write(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: [1u8; 32], }) .build(); @@ -817,14 +816,14 @@ fn junction_decoder_works() { assert_eq!( parsed, Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: [1u8; 32], } ); let writer_output = EvmDataWriter::new() .write(Junction::AccountIndex64 { - network: NetworkId::Any, + network: None, index: u64::from_be_bytes([1u8; 8]), }) .build(); @@ -837,14 +836,14 @@ fn junction_decoder_works() { assert_eq!( parsed, Junction::AccountIndex64 { - network: NetworkId::Any, + network: None, index: u64::from_be_bytes([1u8; 8]), } ); let writer_output = EvmDataWriter::new() .write(Junction::AccountKey20 { - network: NetworkId::Any, + network: None, key: H160::repeat_byte(0xAA).as_bytes().try_into().unwrap(), }) .build(); @@ -857,7 +856,7 @@ fn junction_decoder_works() { assert_eq!( parsed, Junction::AccountKey20 { - network: NetworkId::Any, + network: None, key: H160::repeat_byte(0xAA).as_bytes().try_into().unwrap(), } ); @@ -865,28 +864,23 @@ fn junction_decoder_works() { #[test] fn network_id_decoder_works() { - assert_eq!( - network_id_from_bytes(network_id_to_bytes(NetworkId::Any)), - Ok(NetworkId::Any) - ); + assert_eq!(network_id_from_bytes(network_id_to_bytes(None)), Ok(None)); + let mut name = [0u8; 32]; + name[0..6].copy_from_slice(b"myname"); assert_eq!( - network_id_from_bytes(network_id_to_bytes(NetworkId::Named( - WeakBoundedVec::try_from(b"myname".to_vec()).unwrap() - ))), - Ok(NetworkId::Named( - WeakBoundedVec::try_from(b"myname".to_vec()).unwrap() - )) + network_id_from_bytes(network_id_to_bytes(Some(NetworkId::ByGenesis(name)))), + Ok(Some(NetworkId::ByGenesis(name))) ); assert_eq!( - network_id_from_bytes(network_id_to_bytes(NetworkId::Kusama)), - Ok(NetworkId::Kusama) + network_id_from_bytes(network_id_to_bytes(Some(NetworkId::Kusama))), + Ok(Some(NetworkId::Kusama)) ); assert_eq!( - network_id_from_bytes(network_id_to_bytes(NetworkId::Polkadot)), - Ok(NetworkId::Polkadot) + network_id_from_bytes(network_id_to_bytes(Some(NetworkId::Polkadot))), + Ok(Some(NetworkId::Polkadot)) ); } From 22dc62517c9b0f2c0bf04027b65cf4dd7cd7e499 Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Fri, 16 Jun 2023 19:24:48 +0800 Subject: [PATCH 07/13] disable Benchmark --- .github/workflows/benchmark.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 1ff35079f..33c31ab90 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -6,8 +6,8 @@ on: push: branches: - master - pull_request: - branches: [master] + # pull_request: + # branches: [master] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: From bb63ed8fe324a12a45044ad3e0b0922491c3882e Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Mon, 19 Jun 2023 12:38:36 +0800 Subject: [PATCH 08/13] fix cargo clippy --- pallets/traits/src/xcm.rs | 24 ++++++++++-------------- precompiles/utils/src/data/xcm.rs | 10 +++++----- runtime/heiko/src/lib.rs | 2 +- runtime/kerria/src/lib.rs | 2 +- runtime/parallel/src/lib.rs | 2 +- runtime/vanilla/src/lib.rs | 2 +- 6 files changed, 19 insertions(+), 23 deletions(-) diff --git a/pallets/traits/src/xcm.rs b/pallets/traits/src/xcm.rs index aa4fd5cac..fa2c4be82 100644 --- a/pallets/traits/src/xcm.rs +++ b/pallets/traits/src/xcm.rs @@ -55,7 +55,7 @@ where AssetIdInfoGetter: AssetTypeGetter, { fn convert_ref(id: impl Borrow) -> Result { - if let Some(asset_id) = AssetIdInfoGetter::get_asset_id(id.borrow().clone().into()) { + if let Some(asset_id) = AssetIdInfoGetter::get_asset_id((*id.borrow()).into()) { Ok(asset_id) } else { Err(()) @@ -129,7 +129,7 @@ impl< // transfers. We will see later if we change this. match (first_asset.id, first_asset.fun) { (xcmAssetId::Concrete(id), Fungibility::Fungible(_)) => { - let asset_type: AssetType = id.clone().into(); + let asset_type: AssetType = id.into(); // Shortcut if we know the asset is not supported // This involves the same db read per block, mitigating any attack based on // non-supported assets @@ -157,7 +157,7 @@ impl< let required = MultiAsset { fun: Fungibility::Fungible(amount), - id: xcmAssetId::Concrete(id.clone()), + id: xcmAssetId::Concrete(id), }; let unused = payment .checked_sub(required) @@ -177,7 +177,7 @@ impl< "asset_type: {:?}", id, ); - let new_asset = match self.1.clone() { + let new_asset = match self.1 { Some((prev_id, prev_amount, units_per_second)) => { if prev_id == id { Some((id, prev_amount.saturating_add(amount), units_per_second)) @@ -200,16 +200,12 @@ impl< } fn refund_weight(&mut self, weight: Weight) -> Option { - if let Some((id, prev_amount, units_per_second)) = self.1.clone() { + if let Some((id, prev_amount, units_per_second)) = self.1 { let weight = weight.min(self.0); self.0 -= weight; let amount = units_per_second * (weight.ref_time() as u128) / (WEIGHT_REF_TIME_PER_SECOND as u128); - self.1 = Some(( - id.clone(), - prev_amount.saturating_sub(amount), - units_per_second, - )); + self.1 = Some((id, prev_amount.saturating_sub(amount), units_per_second)); log::trace!( target: "xcm::refund_weight", "id: {:?}", @@ -233,7 +229,7 @@ impl< > Drop for FirstAssetTrader { fn drop(&mut self) { - if let Some((id, amount, _)) = self.1.clone() { + if let Some((id, amount, _)) = self.1 { R::take_revenue((id, amount).into()); } } @@ -566,7 +562,7 @@ impl> { fn convert(location: MultiLocation) -> Option { let currency_id = - AsAssetType::::convert_ref(&location).ok(); + AsAssetType::::convert_ref(location).ok(); log::trace!( target: "xcm::convert", "multi_location: {:?}. currency_id: {:?}", @@ -614,11 +610,11 @@ where if location.parents != 0 { return asset_type; } - let mut new_location = location.clone(); + let mut new_location = location; new_location.parents = 1; new_location = new_location .pushed_front_with_interior(Parachain(ParachainId::get().into())) - .unwrap_or_else(|_| location.clone()); + .unwrap_or(location); log::trace!( target: "xcm::asset_registry_convert", "old_location: {:?}, new_location: {:?}", diff --git a/precompiles/utils/src/data/xcm.rs b/precompiles/utils/src/data/xcm.rs index 98b44957a..8747291ef 100644 --- a/precompiles/utils/src/data/xcm.rs +++ b/precompiles/utils/src/data/xcm.rs @@ -30,7 +30,7 @@ use xcm::latest::{Junction, Junctions, MultiLocation, NetworkId}; // end to recover the name pub(crate) fn network_id_to_bytes(network_id: Option) -> Vec { let mut encoded: Vec = Vec::new(); - match network_id.clone() { + match network_id { None => { encoded.push(0u8); encoded @@ -117,10 +117,10 @@ pub(crate) fn network_id_from_bytes(encoded_bytes: Vec) -> EvmResult Ok(Some(NetworkId::Kusama)), 4 => { let mut block_number: [u8; 8] = Default::default(); - block_number.copy_from_slice(&encoded_network_id.read_raw_bytes(8)?); + block_number.copy_from_slice(encoded_network_id.read_raw_bytes(8)?); let mut block_hash: [u8; 32] = Default::default(); - block_hash.copy_from_slice(&encoded_network_id.read_raw_bytes(32)?); + block_hash.copy_from_slice(encoded_network_id.read_raw_bytes(32)?); Ok(Some(NetworkId::ByFork { block_number: u64::from_be_bytes(block_number), block_hash, @@ -131,7 +131,7 @@ pub(crate) fn network_id_from_bytes(encoded_bytes: Vec) -> EvmResult Ok(Some(NetworkId::Wococo)), 8 => { let mut chain_id: [u8; 8] = Default::default(); - chain_id.copy_from_slice(&encoded_network_id.read_raw_bytes(8)?); + chain_id.copy_from_slice(encoded_network_id.read_raw_bytes(8)?); Ok(Some(NetworkId::Ethereum { chain_id: u64::from_be_bytes(chain_id), })) @@ -218,7 +218,7 @@ impl EvmData for Junction { ); let mut data: [u8; 32] = Default::default(); - data.copy_from_slice(&encoded_junction.read_till_end()?); + data.copy_from_slice(encoded_junction.read_till_end()?); Ok(Junction::GeneralKey { length: u8::from_be_bytes(length), diff --git a/runtime/heiko/src/lib.rs b/runtime/heiko/src/lib.rs index 3b6750f22..6aea9624d 100644 --- a/runtime/heiko/src/lib.rs +++ b/runtime/heiko/src/lib.rs @@ -426,7 +426,7 @@ parameter_type_with_key! { pub ParachainMinFee: |location: MultiLocation| -> Option { #[allow(clippy::match_ref_pats)] // false positive match (location.parents, location.first_interior()) { - (1, Some(Parachain(paras::statemine::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(location.clone()).fee),//default fee should be enough even if not configured + (1, Some(Parachain(paras::statemine::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(*location).fee),//default fee should be enough even if not configured _ => None, } }; diff --git a/runtime/kerria/src/lib.rs b/runtime/kerria/src/lib.rs index 79ffd7aa1..d377a4dd8 100644 --- a/runtime/kerria/src/lib.rs +++ b/runtime/kerria/src/lib.rs @@ -1259,7 +1259,7 @@ parameter_type_with_key! { pub ParachainMinFee: |location: MultiLocation| -> Option { #[allow(clippy::match_ref_pats)] // false positive match (location.parents, location.first_interior()) { - (1, Some(Parachain(paras::statemint::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(location.clone()).fee),//default fee should be enough even if not configured + (1, Some(Parachain(paras::statemint::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(*location).fee),//default fee should be enough even if not configured _ => Some(u128::MAX), } }; diff --git a/runtime/parallel/src/lib.rs b/runtime/parallel/src/lib.rs index a9ddc70d6..a75b6a181 100644 --- a/runtime/parallel/src/lib.rs +++ b/runtime/parallel/src/lib.rs @@ -430,7 +430,7 @@ parameter_type_with_key! { pub ParachainMinFee: |location: MultiLocation| -> Option { #[allow(clippy::match_ref_pats)] // false positive match (location.parents, location.first_interior()) { - (1, Some(Parachain(paras::statemint::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(location.clone()).fee),//default fee should be enough even if not configured + (1, Some(Parachain(paras::statemint::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(*location).fee),//default fee should be enough even if not configured _ => None, } }; diff --git a/runtime/vanilla/src/lib.rs b/runtime/vanilla/src/lib.rs index 5d4371ccf..eb3d77aef 100644 --- a/runtime/vanilla/src/lib.rs +++ b/runtime/vanilla/src/lib.rs @@ -1266,7 +1266,7 @@ parameter_type_with_key! { pub ParachainMinFee: |location: MultiLocation| -> Option { #[allow(clippy::match_ref_pats)] // false positive match (location.parents, location.first_interior()) { - (1, Some(Parachain(paras::statemine::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(location.clone()).fee),//default fee should be enough even if not configured + (1, Some(Parachain(paras::statemine::ID))) => Some(XcmHelper::get_xcm_weight_fee_to_sibling(*location).fee),//default fee should be enough even if not configured _ => None, } }; From 879fcd93c641c5c047846c949b0ca04900363f60 Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Mon, 19 Jun 2023 14:49:16 +0800 Subject: [PATCH 09/13] fix make test --- pallets/crowdloans/Cargo.toml | 2 +- precompiles/balances-erc20/src/tests.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pallets/crowdloans/Cargo.toml b/pallets/crowdloans/Cargo.toml index 5cc8fcb84..cfd93c309 100644 --- a/pallets/crowdloans/Cargo.toml +++ b/pallets/crowdloans/Cargo.toml @@ -42,7 +42,7 @@ polkadot-core-primitives = { workspace = true } polkadot-parachain = { workspace = true, features = ['std'] } polkadot-runtime-common = { workspace = true, features = ['std'] } polkadot-runtime-parachains = { workspace = true } -polkadot-cli = { workspace = true } +polkadot-cli = { workspace = true, features = ['runtime-benchmarks'] } serde = { workspace = true } sp-core = { workspace = true, features = ['std'] } sp-io = { workspace = true, features = ['std'] } diff --git a/precompiles/balances-erc20/src/tests.rs b/precompiles/balances-erc20/src/tests.rs index e492d269e..ea6701110 100644 --- a/precompiles/balances-erc20/src/tests.rs +++ b/precompiles/balances-erc20/src/tests.rs @@ -254,7 +254,7 @@ fn transfer() { .write(U256::from(400)) .build(), ) - .expect_cost(173812756u64) // 1 weight => 1 gas in mock + .expect_cost(173315756u64) // 1 weight => 1 gas in mock .expect_log(LogsBuilder::new(Account::Precompile.into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, @@ -340,7 +340,7 @@ fn transfer_from() { .write(U256::from(400)) .build(), ) - .expect_cost(173812756u64) // 1 weight => 1 gas in mock + .expect_cost(173315756u64) // 1 weight => 1 gas in mock .expect_log(LogsBuilder::new(Account::Precompile.into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, @@ -435,7 +435,7 @@ fn transfer_from_self() { .write(U256::from(400)) .build(), ) - .expect_cost(173812756u64) // 1 weight => 1 gas in mock + .expect_cost(173315756u64) // 1 weight => 1 gas in mock .expect_log(LogsBuilder::new(Account::Precompile.into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, From 37799dd11c01c793f6858ea90bdf3d78d2ccc39a Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Mon, 19 Jun 2023 17:22:23 +0800 Subject: [PATCH 10/13] fix integration-test --- integration-tests/Cargo.toml | 2 +- integration-tests/src/kusama_transfer.rs | 2 +- integration-tests/src/polkadot_transfer.rs | 5 ++++- integration-tests/src/setup.rs | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index a6a10e020..d641557f0 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -81,7 +81,7 @@ env_logger = { workspace = true } kusama-runtime = { workspace = true, features = ['runtime-benchmarks'] } log = { workspace = true } polkadot-primitives = { workspace = true } -polkadot-runtime = { workspace = true } +polkadot-runtime = { workspace = true, features = ['runtime-benchmarks'] } polkadot-runtime-parachains = { workspace = true } sp-io = { workspace = true } sp-trie = { workspace = true } diff --git a/integration-tests/src/kusama_transfer.rs b/integration-tests/src/kusama_transfer.rs index 888aefa77..b5d038f26 100644 --- a/integration-tests/src/kusama_transfer.rs +++ b/integration-tests/src/kusama_transfer.rs @@ -72,7 +72,7 @@ fn transfer_to_relay_chain() { println!("heiko para account in relaychain:{:?}", para_acc); assert_eq!( kusama_runtime::Balances::free_balance(&AccountId::from(BOB)), - 999_895_428_355 + 999909712564 ); }); } diff --git a/integration-tests/src/polkadot_transfer.rs b/integration-tests/src/polkadot_transfer.rs index aa0c0b2e6..c3e19ee62 100644 --- a/integration-tests/src/polkadot_transfer.rs +++ b/integration-tests/src/polkadot_transfer.rs @@ -50,6 +50,9 @@ fn transfer_from_relay_chain() { #[test] fn transfer_to_relay_chain() { + let _ = env_logger::builder().is_test(true).try_init(); + TestNet::reset(); + use parallel_runtime::{RuntimeOrigin, XTokens}; Parallel::execute_with(|| { assert_ok!(XTokens::transfer( @@ -72,7 +75,7 @@ fn transfer_to_relay_chain() { println!("parallel para account in relaychain:{:?}", para_acc); assert_eq!( polkadot_runtime::Balances::free_balance(&AccountId::from(BOB)), - 99_578_565_860 + 99637471000 ); }); } diff --git a/integration-tests/src/setup.rs b/integration-tests/src/setup.rs index 3fbd56dd2..da9b8bcdf 100644 --- a/integration-tests/src/setup.rs +++ b/integration-tests/src/setup.rs @@ -370,7 +370,7 @@ impl ExtBuilder { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) @@ -504,7 +504,7 @@ impl ExtBuilder { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) @@ -645,7 +645,7 @@ impl ExtBuilder { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) From 4180ebdbcca7ae06509a09264d4d0548ffd9f02b Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Tue, 20 Jun 2023 10:41:35 +0800 Subject: [PATCH 11/13] fix ci: Coverage --- CHANGELOG.md | 2 +- pallets/crowdloans/Cargo.toml | 4 ++-- pallets/liquid-staking/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2720ea6a4..1e8f8db96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -273,7 +273,7 @@ - Integrate parachain-launch (#325) - Split docker images (#325) - Add subwasm (#325) -- Annonce new release to discord channel (#325) +- Announce new release to discord channel (#325) ## 2021.07.22 diff --git a/pallets/crowdloans/Cargo.toml b/pallets/crowdloans/Cargo.toml index cfd93c309..cc03779c5 100644 --- a/pallets/crowdloans/Cargo.toml +++ b/pallets/crowdloans/Cargo.toml @@ -28,7 +28,7 @@ cumulus-pallet-dmp-queue = { workspace = true, features = ['std'] } cumulus-pallet-parachain-system = { workspace = true, features = ['std'] } cumulus-pallet-xcm = { workspace = true, features = ['std'] } cumulus-pallet-xcmp-queue = { workspace = true, features = ['std'] } -kusama-runtime = { workspace = true, features = ['runtime-benchmarks'] } +kusama-runtime = { workspace = true, features = ['std'] } orml-traits = { workspace = true, features = ['std'] } orml-xcm-support = { workspace = true, features = ['std'] } orml-xtokens = { workspace = true, features = ['std'] } @@ -42,7 +42,7 @@ polkadot-core-primitives = { workspace = true } polkadot-parachain = { workspace = true, features = ['std'] } polkadot-runtime-common = { workspace = true, features = ['std'] } polkadot-runtime-parachains = { workspace = true } -polkadot-cli = { workspace = true, features = ['runtime-benchmarks'] } +polkadot-cli = { workspace = true } serde = { workspace = true } sp-core = { workspace = true, features = ['std'] } sp-io = { workspace = true, features = ['std'] } diff --git a/pallets/liquid-staking/Cargo.toml b/pallets/liquid-staking/Cargo.toml index d3003dac7..d6327dbc3 100644 --- a/pallets/liquid-staking/Cargo.toml +++ b/pallets/liquid-staking/Cargo.toml @@ -37,7 +37,7 @@ sp-core = { workspace = true, features = ['std'] } sp-io = { workspace = true, features = ['std'] } sp-state-machine = { workspace = true } -kusama-runtime = { workspace = true, features = ['runtime-benchmarks'] } +kusama-runtime = { workspace = true, features = ['std'] } polkadot-core-primitives = { workspace = true } polkadot-parachain = { workspace = true, features = ['std'] } polkadot-runtime-parachains = { workspace = true } From a12d2ca8383454afcf7ef62731f91ab44b61af4e Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Tue, 20 Jun 2023 10:53:45 +0800 Subject: [PATCH 12/13] fix make test --- pallets/crowdloans/Cargo.toml | 6 +++++- pallets/liquid-staking/Cargo.toml | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pallets/crowdloans/Cargo.toml b/pallets/crowdloans/Cargo.toml index cc03779c5..b17fef818 100644 --- a/pallets/crowdloans/Cargo.toml +++ b/pallets/crowdloans/Cargo.toml @@ -53,7 +53,11 @@ bytes = { workspace = true } [features] default = ['std'] -runtime-benchmarks = ['frame-benchmarking'] +runtime-benchmarks = [ + 'frame-benchmarking', + 'kusama-runtime/runtime-benchmarks', + 'polkadot-cli/runtime-benchmarks' + ] std = [ 'codec/std', 'frame-support/std', diff --git a/pallets/liquid-staking/Cargo.toml b/pallets/liquid-staking/Cargo.toml index d6327dbc3..746b93622 100644 --- a/pallets/liquid-staking/Cargo.toml +++ b/pallets/liquid-staking/Cargo.toml @@ -61,7 +61,10 @@ pallet-currency-adapter = { workspace = true, features = ['std'] } [features] default = ['std'] -runtime-benchmarks = ['frame-benchmarking'] +runtime-benchmarks = [ + 'frame-benchmarking', + 'kusama-runtime/runtime-benchmarks', + ] std = [ 'codec/std', 'frame-support/std', From 05fc6897637c26a83e664a848c746dc2c490d2de Mon Sep 17 00:00:00 2001 From: MrPai <1164934857@qq.com> Date: Tue, 27 Jun 2023 10:59:37 +0800 Subject: [PATCH 13/13] add migration --- .github/workflows/benchmark.yml | 4 +- pallets/asset-registry/src/lib.rs | 1 + pallets/asset-registry/src/migration.rs | 385 ++++++++++++++++++++++++ runtime/heiko/src/lib.rs | 7 +- runtime/parallel/src/lib.rs | 6 +- 5 files changed, 393 insertions(+), 10 deletions(-) create mode 100644 pallets/asset-registry/src/migration.rs diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 33c31ab90..1ff35079f 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -6,8 +6,8 @@ on: push: branches: - master - # pull_request: - # branches: [master] + pull_request: + branches: [master] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: diff --git a/pallets/asset-registry/src/lib.rs b/pallets/asset-registry/src/lib.rs index aca046165..79255e1ba 100644 --- a/pallets/asset-registry/src/lib.rs +++ b/pallets/asset-registry/src/lib.rs @@ -20,6 +20,7 @@ use frame_support::pallet; #[cfg(any(test, feature = "runtime-benchmarks"))] mod benchmarks; +pub mod migration; #[cfg(test)] pub mod mock; #[cfg(test)] diff --git a/pallets/asset-registry/src/migration.rs b/pallets/asset-registry/src/migration.rs new file mode 100644 index 000000000..6cec224da --- /dev/null +++ b/pallets/asset-registry/src/migration.rs @@ -0,0 +1,385 @@ +use crate::{AssetIdType, AssetTypeId, AssetTypeUnitsPerSecond, Config, SupportedFeePaymentAssets}; +use codec::{Decode, Encode}; +#[cfg(feature = "try-runtime")] +use frame_support::storage::{generator::StorageValue, migration::get_storage_value}; +use frame_support::{ + pallet_prelude::PhantomData, + storage::migration::storage_key_iter, + traits::{Get, OnRuntimeUpgrade}, + weights::Weight, + Blake2_128Concat, StoragePrefixedMap, +}; +use sp_std::vec::Vec; +use xcm::latest::prelude::*; + +#[derive(Clone, Eq, Debug, PartialEq, Ord, PartialOrd, Encode, Decode)] +pub(crate) enum OldAssetType { + Xcm(xcm::v2::MultiLocation), +} + +impl From for Option { + fn from(val: OldAssetType) -> Self { + match val { + OldAssetType::Xcm(location) => Some(location), + } + } +} + +#[cfg(feature = "try-runtime")] +#[derive(Clone, Eq, Debug, PartialEq, Ord, PartialOrd, Encode, Decode)] +enum PreUpgradeState { + AssetIdType(Vec<(T::AssetId, OldAssetType)>), + AssetTypeId(Vec<(OldAssetType, T::AssetId)>), + AssetTypeUnitsPerSecond(Vec<(OldAssetType, u128)>), + SupportedFeePaymentAssets(Vec), +} + +#[cfg(feature = "try-runtime")] +#[derive(Clone, Eq, Debug, PartialEq, Ord, PartialOrd, Encode, Decode)] +enum PostUpgradeState { + AssetIdType(Vec<(T::AssetId, T::AssetType)>), + AssetTypeId(Vec<(T::AssetType, T::AssetId)>), + AssetTypeUnitsPerSecond(Vec<(T::AssetType, u128)>), + SupportedFeePaymentAssets(Vec), +} + +#[cfg(feature = "try-runtime")] +impl From> for PostUpgradeState +where + T::AssetType: From, +{ + fn from(pre: PreUpgradeState) -> PostUpgradeState { + match pre { + PreUpgradeState::AssetIdType(items) => { + let mut out: Vec<(T::AssetId, T::AssetType)> = Vec::new(); + for (key, value) in items.into_iter() { + let old_multilocation: Option = value.into(); + let old_multilocation: xcm::v2::MultiLocation = + old_multilocation.expect("old storage convert to XcmV2 Multilocation"); + let new_multilocation: MultiLocation = old_multilocation + .try_into() + .expect("Multilocation v2 to v3"); + out.push((key, new_multilocation.into())); + } + PostUpgradeState::AssetIdType(out) + } + PreUpgradeState::AssetTypeId(items) => { + let mut out: Vec<(T::AssetType, T::AssetId)> = Vec::new(); + for (key, value) in items.into_iter() { + let old_multilocation: Option = key.into(); + let old_multilocation: xcm::v2::MultiLocation = + old_multilocation.expect("old storage convert to XcmV2 Multilocation"); + let new_multilocation: MultiLocation = old_multilocation + .try_into() + .expect("Multilocation v2 to v3"); + let new_key: T::AssetType = new_multilocation.into(); + out.push((new_key, value)); + } + PostUpgradeState::AssetTypeId(out) + } + PreUpgradeState::AssetTypeUnitsPerSecond(items) => { + let mut out: Vec<(T::AssetType, u128)> = Vec::new(); + for (key, value) in items.into_iter() { + let old_multilocation: Option = key.into(); + let old_multilocation: xcm::v2::MultiLocation = + old_multilocation.expect("old storage convert to XcmV2 Multilocation"); + let new_multilocation: MultiLocation = old_multilocation + .try_into() + .expect("Multilocation v2 to v3"); + out.push((new_multilocation.into(), value)); + } + PostUpgradeState::AssetTypeUnitsPerSecond(out) + } + PreUpgradeState::SupportedFeePaymentAssets(items) => { + let mut out: Vec = Vec::new(); + for value in items.into_iter() { + let old_multilocation: Option = value.into(); + let old_multilocation: xcm::v2::MultiLocation = + old_multilocation.expect("old storage convert to XcmV2 Multilocation"); + let new_multilocation: MultiLocation = old_multilocation + .try_into() + .expect("Multilocation v2 to v3"); + out.push(new_multilocation.into()); + } + PostUpgradeState::SupportedFeePaymentAssets(out) + } + } + } +} + +pub struct XcmV2ToV3AssetManager(PhantomData); +impl OnRuntimeUpgrade for XcmV2ToV3AssetManager +where + T::AssetType: From, +{ + fn on_runtime_upgrade() -> Weight { + log::trace!( + target: "XcmV2ToV3AssetManager", + "Running XcmV2ToV3AssetManager migration" + ); + // Migrates the pallet's storage from Xcm V2 to V3: + // - AssetIdType -> migrate map's value + // - AssetTypeId -> migrate map's key + // - AssetTypeUnitsPerSecond -> migrate map's key + // - SupportedFeePaymentAssets -> migrate value + + // Shared module prefix + let module_prefix = AssetIdType::::module_prefix(); + // AssetTypeId + let asset_type_id_storage_prefix = AssetTypeId::::storage_prefix(); + // AssetTypeUnitsPerSecond + let units_per_second_storage_prefix = AssetTypeUnitsPerSecond::::storage_prefix(); + + // Db (read, write) count + let mut db_weight_count: (u64, u64) = (0, 0); + + // Migrate `AssetIdType` value + AssetIdType::::translate::(|_key, value| { + db_weight_count.0 += 1; + db_weight_count.1 += 1; + let old_multilocation: Option = value.into(); + let old_multilocation: xcm::v2::MultiLocation = + old_multilocation.expect("old storage convert to XcmV2 Multilocation"); + let new_multilocation: MultiLocation = old_multilocation + .try_into() + .expect("Multilocation v2 to v3"); + Some(new_multilocation.into()) + }); + + // Migrate `AssetTypeId` key + db_weight_count.0 += 1; + let old_data = storage_key_iter::( + module_prefix, + asset_type_id_storage_prefix, + ) + .drain() + .collect::>(); + for (old_key, value) in old_data { + db_weight_count.1 += 1; + let old_key: Option = old_key.into(); + let old_key: xcm::v2::MultiLocation = + old_key.expect("old storage convert to XcmV2 Multilocation"); + let v3_multilocation: MultiLocation = + old_key.try_into().expect("Multilocation v2 to v3"); + let new_key: T::AssetType = v3_multilocation.into(); + AssetTypeId::::insert(new_key, value); + } + + // Migrate `AssetTypeUnitsPerSecond` key + db_weight_count.0 += 1; + let old_data = storage_key_iter::( + module_prefix, + units_per_second_storage_prefix, + ) + .drain() + .collect::>(); + for (old_key, value) in old_data { + db_weight_count.1 += 1; + let old_key: Option = old_key.into(); + let old_key: xcm::v2::MultiLocation = + old_key.expect("old storage convert to XcmV2 Multilocation"); + let v3_multilocation: MultiLocation = + old_key.try_into().expect("Multilocation v2 to v3"); + let new_key: T::AssetType = v3_multilocation.into(); + AssetTypeUnitsPerSecond::::insert(new_key, value); + } + + // Migrate `SupportedFeePaymentAssets` value + let _ = SupportedFeePaymentAssets::::translate::, _>(|value| { + db_weight_count.0 += 1; + db_weight_count.1 += 1; + let new_value: Vec = value + .unwrap_or_default() + .into_iter() + .map(|old_value| { + let old_multilocation: Option = old_value.into(); + let old_multilocation: xcm::v2::MultiLocation = + old_multilocation.expect("old storage convert to XcmV2 Multilocation"); + let new_multilocation: MultiLocation = old_multilocation + .try_into() + .expect("Multilocation v2 to v3"); + new_multilocation.into() + }) + .collect(); + Some(new_value) + }); + + T::DbWeight::get().reads_writes(db_weight_count.0, db_weight_count.1) + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + log::trace!( + target: "XcmV2ToV3AssetManager", + "Running XcmV2ToV3AssetManager pre_upgrade hook" + ); + // Shared module prefix + let module_prefix = AssetIdType::::module_prefix(); + // AssetIdType + let asset_id_type_storage_prefix = AssetIdType::::storage_prefix(); + // AssetTypeId + let asset_type_id_storage_prefix = AssetTypeId::::storage_prefix(); + // AssetTypeUnitsPerSecond + let units_per_second_storage_prefix = AssetTypeUnitsPerSecond::::storage_prefix(); + // SupportedFeePaymentAssets + let supported_fee_storage_prefix = SupportedFeePaymentAssets::::storage_prefix(); + + let mut result: Vec> = Vec::new(); + + // AssetIdType pre-upgrade data + let asset_id_type_storage_data: Vec<_> = + storage_key_iter::( + module_prefix, + asset_id_type_storage_prefix, + ) + .collect(); + result.push(PreUpgradeState::::AssetIdType( + asset_id_type_storage_data, + )); + + // AssetTypeId pre-upgrade data + let asset_type_id_storage_data: Vec<_> = + storage_key_iter::( + module_prefix, + asset_type_id_storage_prefix, + ) + .collect(); + result.push(PreUpgradeState::::AssetTypeId( + asset_type_id_storage_data, + )); + + // AssetTypeUnitsPerSecond pre-upgrade data + let units_per_second_storage_data: Vec<_> = + storage_key_iter::( + module_prefix, + units_per_second_storage_prefix, + ) + .collect(); + result.push(PreUpgradeState::::AssetTypeUnitsPerSecond( + units_per_second_storage_data, + )); + + // SupportedFeePaymentAssets pre-upgrade data + let supported_fee_storage_data: Vec<_> = get_storage_value::>( + module_prefix, + supported_fee_storage_prefix, + &[], + ) + .expect("SupportedFeePaymentAssets value"); + result.push(PreUpgradeState::::SupportedFeePaymentAssets( + supported_fee_storage_data, + )); + + Ok(result.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(state: Vec) -> Result<(), &'static str> { + log::trace!( + target: "XcmV2ToV3AssetManager", + "Running XcmV2ToV3AssetManager post_upgrade hook" + ); + let pre_upgrade_state: Vec> = + Decode::decode(&mut &state[..]).expect("pre_upgrade provides a valid state; qed"); + + // Shared module prefix + let module_prefix = AssetIdType::::module_prefix(); + // AssetIdType + let asset_id_type_storage_prefix = AssetIdType::::storage_prefix(); + // AssetTypeId + let asset_type_id_storage_prefix = AssetTypeId::::storage_prefix(); + // AssetTypeUnitsPerSecond + let units_per_second_storage_prefix = AssetTypeUnitsPerSecond::::storage_prefix(); + + // First we convert pre-state to post-state. This is equivalent to what the migration + // should do. If this conversion and the result of the migration match, we consider it a + // success. + let to_post_upgrade: Vec> = pre_upgrade_state + .into_iter() + .map(|value| value.into()) + .collect(); + + // Because the order of the storage and the pre-upgrade vector is likely different, + // we encode everything, which is easier to sort and compare. + let mut expected_post_upgrade_state: Vec> = Vec::new(); + for item in to_post_upgrade.iter() { + match item { + // Vec<(T::AssetId, T::AssetType)> + PostUpgradeState::AssetIdType(items) => { + for inner in items.into_iter() { + expected_post_upgrade_state.push(inner.encode()) + } + } + // Vec<(T::AssetType, T::AssetId)> + PostUpgradeState::AssetTypeId(items) => { + for inner in items.into_iter() { + expected_post_upgrade_state.push(inner.encode()) + } + } + // Vec<(T::AssetType, u128)> + PostUpgradeState::AssetTypeUnitsPerSecond(items) => { + for inner in items.into_iter() { + expected_post_upgrade_state.push(inner.encode()) + } + } + // Vec + PostUpgradeState::SupportedFeePaymentAssets(items) => { + for inner in items.into_iter() { + expected_post_upgrade_state.push(inner.encode()) + } + } + } + } + + // Then we retrieve the actual state after migration. + let mut actual_post_upgrade_state: Vec> = Vec::new(); + + // Actual AssetIdType post-upgrade data + let asset_id_type_storage_data: Vec<_> = + storage_key_iter::( + module_prefix, + asset_id_type_storage_prefix, + ) + .collect(); + for item in asset_id_type_storage_data.iter() { + actual_post_upgrade_state.push(item.encode()) + } + + // Actual AssetTypeId post-upgrade data + let asset_type_id_storage_data: Vec<_> = + storage_key_iter::( + module_prefix, + asset_type_id_storage_prefix, + ) + .collect(); + for item in asset_type_id_storage_data.iter() { + actual_post_upgrade_state.push(item.encode()) + } + + // Actual AssetTypeUnitsPerSecond post-upgrade data + let units_per_second_storage_data: Vec<_> = + storage_key_iter::( + module_prefix, + units_per_second_storage_prefix, + ) + .collect(); + for item in units_per_second_storage_data.iter() { + actual_post_upgrade_state.push(item.encode()) + } + + // Actual SupportedFeePaymentAssets post-upgrade data + let supported_fee_storage_data: Vec<_> = SupportedFeePaymentAssets::::get(); + for item in supported_fee_storage_data.iter() { + actual_post_upgrade_state.push(item.encode()) + } + + // Both state blobs are sorted. + expected_post_upgrade_state.sort(); + actual_post_upgrade_state.sort(); + + // Assert equality + assert_eq!(expected_post_upgrade_state, actual_post_upgrade_state); + + Ok(()) + } +} diff --git a/runtime/heiko/src/lib.rs b/runtime/heiko/src/lib.rs index 6aea9624d..8ae79608a 100644 --- a/runtime/heiko/src/lib.rs +++ b/runtime/heiko/src/lib.rs @@ -2070,10 +2070,9 @@ pub type Executive = frame_executive::Executive< Runtime, AllPalletsWithSystem, ( - pallet_balances::migration::ResetInactive, - // We need to apply this migration again, because `ResetInactive` resets the state again. - pallet_balances::migration::MigrateToTrackInactive, - pallet_scheduler::migration::v4::CleanupAgendas, + // "Use 2D weights in XCM v3" + pallet_xcm::migration::v1::MigrateToV1, + pallet_asset_registry::migration::XcmV2ToV3AssetManager, ), >; diff --git a/runtime/parallel/src/lib.rs b/runtime/parallel/src/lib.rs index a75b6a181..516975bba 100644 --- a/runtime/parallel/src/lib.rs +++ b/runtime/parallel/src/lib.rs @@ -2073,10 +2073,8 @@ pub type Executive = frame_executive::Executive< Runtime, AllPalletsWithSystem, ( - pallet_balances::migration::ResetInactive, - // We need to apply this migration again, because `ResetInactive` resets the state again. - pallet_balances::migration::MigrateToTrackInactive, - pallet_scheduler::migration::v4::CleanupAgendas, + pallet_xcm::migration::v1::MigrateToV1, + pallet_asset_registry::migration::XcmV2ToV3AssetManager, ), >;