diff --git a/Cargo.lock b/Cargo.lock index bbdac30e4c..fd10280ebe 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.8", + "getrandom 0.2.9", + "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.9", "once_cell", "version_check", ] @@ -169,9 +181,9 @@ dependencies = [ [[package]] name = "always-assert" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" +checksum = "4436e0292ab1bb631b42973c61205e704475fe8126af845c8d923c0996328127" [[package]] name = "android_system_properties" @@ -214,42 +226,51 @@ dependencies = [ [[package]] name = "anstream" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f" +checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371" dependencies = [ "anstyle", "anstyle-parse", + "anstyle-query", "anstyle-wincon", - "concolor-override", - "concolor-query", + "colorchoice", "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "0.3.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2" +checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" [[package]] name = "anstyle-parse" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116" +checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" dependencies = [ "utf8parse", ] +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "anstyle-wincon" -version = "0.2.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa" +checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd" dependencies = [ "anstyle", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -372,9 +393,9 @@ dependencies = [ [[package]] name = "asn1_der" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" +checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "assert_matches" @@ -396,7 +417,7 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.6", + "rustix 0.37.11", "slab", "socket2", "waker-fn", @@ -419,7 +440,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -437,9 +458,9 @@ dependencies = [ [[package]] name = "atomic-waker" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" [[package]] name = "atty" @@ -536,7 +557,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -570,7 +591,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "beefy-gadget", "futures", @@ -589,7 +610,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sp-api", "sp-beefy", @@ -1077,9 +1098,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3" +checksum = "9b802d85aaf3a1cdb02b224ba472ebdea62014fccfcb269b95a4d76443b5ee5a" dependencies = [ "clap_builder", "clap_derive", @@ -1088,9 +1109,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f" +checksum = "14a1a858f532119338887a4b8e1af9c60de8249cd7bafd68036a489e261e37b6" dependencies = [ "anstream", "anstyle", @@ -1108,7 +1129,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -1195,6 +1216,12 @@ dependencies = [ "sp-tracing", ] +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "comfy-table" version = "6.1.4" @@ -1206,26 +1233,11 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "concolor-override" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f" - -[[package]] -name = "concolor-query" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf" -dependencies = [ - "windows-sys 0.45.0", -] - [[package]] name = "concurrent-queue" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" dependencies = [ "crossbeam-utils", ] @@ -1425,9 +1437,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ "cfg-if", "crossbeam-utils", @@ -1556,7 +1568,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "clap", "parity-scale-codec", @@ -1571,7 +1583,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1594,7 +1606,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1623,7 +1635,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1646,7 +1658,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1669,7 +1681,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1692,7 +1704,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1715,7 +1727,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1743,7 +1755,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "frame-support", "frame-system", @@ -1759,7 +1771,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1776,7 +1788,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1799,12 +1811,13 @@ dependencies = [ "sp-std", "sp-trie", "sp-version", + "xcm", ] [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1815,7 +1828,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1831,15 +1844,17 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "log", "parity-scale-codec", + "polkadot-runtime-common", "rand_chacha 0.3.1", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1849,7 +1864,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1859,12 +1874,13 @@ dependencies = [ "sp-runtime", "sp-std", "sp-trie", + "xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1887,7 +1903,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "futures", @@ -1900,12 +1916,14 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", "log", "parity-scale-codec", + "polkadot-runtime-common", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1916,7 +1934,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1941,7 +1959,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1949,7 +1967,6 @@ dependencies = [ "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "polkadot-service", "sc-client-api", "sp-api", "sp-blockchain", @@ -1961,7 +1978,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "array-bytes 6.0.0", "async-trait", @@ -1969,7 +1986,7 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "lru", + "lru 0.9.0", "polkadot-core-primitives", "polkadot-network-bridge", "polkadot-node-network-protocol", @@ -2001,7 +2018,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2009,7 +2026,7 @@ dependencies = [ "futures", "futures-timer", "jsonrpsee", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-service", "sc-client-api", @@ -2030,7 +2047,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2090,9 +2107,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.2" +version = "4.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d928d978dbec61a1167414f5ec534f24bea0d7a0d24dd9b6233d3d8223e585" +checksum = "8d4ba9852b42210c7538b75484f9daa0655e9a3ac04f693747bb0f02cf3cfe16" dependencies = [ "cfg-if", "fiat-crypto", @@ -2126,7 +2143,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -2143,7 +2160,7 @@ checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -2280,6 +2297,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" @@ -2619,7 +2647,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", @@ -2683,7 +2711,7 @@ checksum = "9d2c772ccdbdfd1967b4f5d79d17c98ebf92009fdcc838db7aa434462f600c26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -2694,7 +2722,7 @@ checksum = "48016319042fb7c87b78d2993084a831793a897a5cd1a2a67cab9d1eeb4b7d76" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -2742,13 +2770,13 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ "errno-dragonfly", "libc", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -2979,14 +3007,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" +checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" dependencies = [ "cfg-if", "libc", "redox_syscall 0.2.16", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -3062,7 +3090,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", ] @@ -3085,9 +3113,10 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log", @@ -3103,12 +3132,13 @@ dependencies = [ "sp-runtime-interface", "sp-std", "sp-storage", + "static_assertions", ] [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "Inflector", "array-bytes 4.2.0", @@ -3155,7 +3185,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3166,7 +3196,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3183,7 +3213,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -3212,7 +3242,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "log", @@ -3228,7 +3258,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "bitflags", "frame-metadata", @@ -3260,10 +3290,11 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -3274,7 +3305,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -3286,7 +3317,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro2", "quote", @@ -3296,7 +3327,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "log", @@ -3314,7 +3345,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -3329,7 +3360,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-api", @@ -3338,7 +3369,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "parity-scale-codec", @@ -3426,9 +3457,9 @@ checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-lite" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ "fastrand", "futures-core", @@ -3447,7 +3478,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -3548,9 +3579,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" dependencies = [ "cfg-if", "libc", @@ -3626,9 +3657,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" +checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f" dependencies = [ "bytes", "fnv", @@ -3678,7 +3709,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]] @@ -3850,9 +3890,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.25" +version = "0.14.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" dependencies = [ "bytes", "futures-channel", @@ -4012,7 +4052,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -4461,13 +4501,13 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" dependencies = [ "hermit-abi 0.3.1", "libc", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -4496,14 +4536,14 @@ checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" [[package]] name = "is-terminal" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256017f749ab3117e93acb91063009e1f1bb56d03965b14c2c8df4eb02c524d8" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", - "io-lifetimes 1.0.9", - "rustix 0.37.6", - "windows-sys 0.45.0", + "io-lifetimes 1.0.10", + "rustix 0.37.11", + "windows-sys 0.48.0", ] [[package]] @@ -4852,8 +4892,8 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -4949,8 +4989,8 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -5008,9 +5048,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.140" +version = "0.2.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" +checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" [[package]] name = "libloading" @@ -5043,7 +5083,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.8", + "getrandom 0.2.9", "instant", "libp2p-core 0.38.0", "libp2p-dns", @@ -5156,7 +5196,7 @@ dependencies = [ "libp2p-core 0.38.0", "libp2p-swarm", "log", - "lru", + "lru 0.8.1", "prost", "prost-build", "prost-codec", @@ -5734,7 +5774,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]] @@ -5826,7 +5875,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ - "rustix 0.37.6", + "rustix 0.37.11", ] [[package]] @@ -5847,6 +5896,15 @@ dependencies = [ "autocfg 1.1.0", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "memoffset" version = "0.8.0" @@ -5863,7 +5921,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -5925,7 +5983,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "log", @@ -5944,7 +6002,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "anyhow", "jsonrpsee", @@ -6238,6 +6296,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" @@ -6369,7 +6441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -6517,7 +6589,7 @@ dependencies = [ [[package]] name = "orml-asset-registry" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6536,7 +6608,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6554,7 +6626,7 @@ dependencies = [ [[package]] name = "orml-tokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6569,7 +6641,7 @@ dependencies = [ [[package]] name = "orml-traits" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -6578,6 +6650,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-core", "sp-io", "sp-runtime", "sp-std", @@ -6587,7 +6660,7 @@ dependencies = [ [[package]] name = "orml-unknown-tokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6602,7 +6675,7 @@ dependencies = [ [[package]] name = "orml-utilities" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "parity-scale-codec", @@ -6616,7 +6689,7 @@ dependencies = [ [[package]] name = "orml-vesting" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6631,7 +6704,7 @@ dependencies = [ [[package]] name = "orml-xcm" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "frame-system", @@ -6645,7 +6718,7 @@ dependencies = [ [[package]] name = "orml-xcm-support" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "frame-support", "orml-traits", @@ -6659,7 +6732,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=24f0a8b6e04e1078f70d0437fb816337cdf4f64c#24f0a8b6e04e1078f70d0437fb816337cdf4f64c" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=8301b6c2871ce4e0279c78b3714e8e3a40a749ea#8301b6c2871ce4e0279c78b3714e8e3a40a749ea" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -6721,7 +6794,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -6737,7 +6810,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -6753,14 +6826,13 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", "sp-runtime", "sp-std", ] @@ -6768,7 +6840,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6792,7 +6864,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6812,7 +6884,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6827,7 +6899,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -6843,7 +6915,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "beefy-merkle-tree", @@ -6866,7 +6938,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6884,7 +6956,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6903,7 +6975,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6920,7 +6992,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6937,7 +7009,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -6955,7 +7027,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6978,7 +7050,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6991,7 +7063,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7009,7 +7081,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7027,7 +7099,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7050,7 +7122,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7066,7 +7138,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7086,7 +7158,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7103,7 +7175,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7120,7 +7192,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7137,7 +7209,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7153,7 +7225,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7169,7 +7241,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7186,7 +7258,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7206,7 +7278,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-api", @@ -7216,7 +7288,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7233,12 +7305,13 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", + "log", "pallet-babe", "pallet-balances", "pallet-grandpa", @@ -7256,7 +7329,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7273,7 +7346,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7288,7 +7361,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7306,7 +7379,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7321,7 +7394,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7340,7 +7413,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7357,7 +7430,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7378,7 +7451,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7394,7 +7467,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7408,7 +7481,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7431,7 +7504,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7442,7 +7515,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "sp-arithmetic", @@ -7451,7 +7524,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7468,7 +7541,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7482,7 +7555,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7500,7 +7573,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7519,7 +7592,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-support", "frame-system", @@ -7535,7 +7608,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7551,7 +7624,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7563,7 +7636,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7580,7 +7653,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7596,7 +7669,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7611,7 +7684,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-benchmarking", "frame-support", @@ -7625,9 +7698,10 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -7635,6 +7709,7 @@ dependencies = [ "scale-info", "serde", "sp-core", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -7643,8 +7718,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-benchmarking", "frame-support", @@ -7652,16 +7727,18 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", + "xcm-builder", "xcm-executor", ] [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" +source = "git+https://github.com/paritytech//cumulus?branch=polkadot-v0.9.38#9b4e0247137f158d1a35118197d34adfa58858b7" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -7835,9 +7912,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" [[package]] name = "parking_lot" @@ -7971,7 +8048,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -8063,8 +8140,8 @@ checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" [[package]] name = "polkadot-approval-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-metrics", @@ -8078,8 +8155,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -8092,13 +8169,13 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "fatality", "futures", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8115,12 +8192,12 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "fatality", "futures", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8136,8 +8213,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "clap", "frame-benchmarking-cli", @@ -8151,6 +8228,7 @@ dependencies = [ "sc-cli", "sc-executor", "sc-service", + "sc-storage-monitor", "sc-sysinfo", "sc-tracing", "sp-core", @@ -8163,8 +8241,8 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "frame-benchmarking", @@ -8206,8 +8284,8 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "bitvec", @@ -8228,8 +8306,8 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "scale-info", @@ -8240,15 +8318,15 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "fatality", "futures", "futures-timer", "indexmap", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8265,8 +8343,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8279,8 +8357,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "futures-timer", @@ -8299,8 +8377,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "async-trait", @@ -8323,8 +8401,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "parity-scale-codec", @@ -8341,15 +8419,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "derive_more", "futures", "futures-timer", "kvdb", - "lru", + "lru 0.9.0", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -8370,8 +8448,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "futures", @@ -8390,8 +8468,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "fatality", @@ -8409,8 +8487,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-subsystem", @@ -8424,8 +8502,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures", @@ -8443,8 +8521,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-metrics", @@ -8458,8 +8536,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "futures-timer", @@ -8475,13 +8553,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "fatality", "futures", "kvdb", - "lru", + "lru 0.9.0", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8494,8 +8572,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures", @@ -8511,8 +8589,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "fatality", @@ -8529,8 +8607,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "always-assert", "assert_matches", @@ -8561,8 +8639,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", "polkadot-node-primitives", @@ -8577,11 +8655,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "futures", - "lru", + "lru 0.9.0", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", @@ -8592,8 +8670,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "lazy_static", "log", @@ -8610,8 +8688,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bs58", "futures", @@ -8629,8 +8707,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8652,8 +8730,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bounded-vec", "futures", @@ -8674,8 +8752,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -8684,8 +8762,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8707,8 +8785,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "derive_more", @@ -8717,7 +8795,7 @@ dependencies = [ "futures-channel", "itertools", "kvdb", - "lru", + "lru 0.9.0", "parity-db", "parity-scale-codec", "parking_lot 0.11.2", @@ -8740,13 +8818,13 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "futures", "futures-timer", - "lru", + "lru 0.9.0", "orchestra", "parking_lot 0.12.1", "polkadot-node-metrics", @@ -8763,8 +8841,8 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derive_more", "frame-support", @@ -8779,8 +8857,8 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "env_logger 0.9.3", "kusama-runtime", @@ -8794,8 +8872,8 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "hex-literal 0.3.4", @@ -8820,8 +8898,8 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -8852,8 +8930,8 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -8941,8 +9019,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -8958,6 +9036,7 @@ dependencies = [ "pallet-balances", "pallet-beefy-mmr", "pallet-election-provider-multi-phase", + "pallet-fast-unstake", "pallet-session", "pallet-staking", "pallet-staking-reward-fn", @@ -8989,8 +9068,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -9003,8 +9082,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bs58", "parity-scale-codec", @@ -9015,8 +9094,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitflags", "bitvec", @@ -9058,11 +9137,12 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "async-trait", "beefy-gadget", + "frame-benchmarking-cli", "frame-support", "frame-system-rpc-runtime-api", "futures", @@ -9070,7 +9150,8 @@ dependencies = [ "kusama-runtime", "kvdb", "kvdb-rocksdb", - "lru", + "log", + "lru 0.9.0", "mmr-gadget", "pallet-babe", "pallet-im-online", @@ -9165,8 +9246,8 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -9186,8 +9267,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9196,9 +9277,9 @@ dependencies = [ [[package]] name = "polling" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e1f879b2998099c2d69ab9605d145d5b661195627eccc680002c4918a7fb6fa" +checksum = "4be1c66a6add46bff50935c313dae30a5030cf8385c5206e8a95e9e9def974aa" dependencies = [ "autocfg 1.1.0", "bitflags", @@ -9207,7 +9288,7 @@ dependencies = [ "libc", "log", "pin-project-lite 0.2.9", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -9420,9 +9501,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", "prost-derive", @@ -9430,9 +9511,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", @@ -9465,9 +9546,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools", @@ -9478,9 +9559,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ "prost", ] @@ -9656,7 +9737,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.9", ] [[package]] @@ -9889,7 +9970,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.9", "redox_syscall 0.2.16", "thiserror", ] @@ -9924,7 +10005,7 @@ checksum = "8d2275aab483050ab2a7364c1a46604865ee7d6906684e08db0f090acf74f9e7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -10112,8 +10193,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "beefy-merkle-tree", "frame-benchmarking", @@ -10198,8 +10279,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -10242,7 +10323,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix", + "nix 0.24.3", "thiserror", "tokio", ] @@ -10363,16 +10444,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.6" +version = "0.37.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d097081ed288dfe45699b72f5b5d648e5f15d64d900c7080273baa20c16a6849" +checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77" dependencies = [ "bitflags", - "errno 0.3.0", - "io-lifetimes 1.0.9", + "errno 0.3.1", + "io-lifetimes 1.0.10", "libc", "linux-raw-sys 0.3.1", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -10456,7 +10537,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "sp-core", @@ -10467,7 +10548,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10494,7 +10575,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "futures-timer", @@ -10517,7 +10598,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -10533,7 +10614,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -10548,7 +10629,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -10559,7 +10640,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "chrono", @@ -10599,7 +10680,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "fnv", "futures", @@ -10625,7 +10706,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hash-db", "kvdb", @@ -10638,6 +10719,7 @@ dependencies = [ "parking_lot 0.12.1", "sc-client-api", "sc-state-db", + "schnellru", "sp-arithmetic", "sp-blockchain", "sp-core", @@ -10650,7 +10732,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10675,7 +10757,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10704,7 +10786,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "fork-tree", @@ -10742,7 +10824,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "jsonrpsee", @@ -10764,7 +10846,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10777,7 +10859,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "assert_matches", "async-trait", @@ -10811,7 +10893,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -10834,9 +10916,9 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -10858,7 +10940,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -10871,7 +10953,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "sc-allocator", @@ -10884,7 +10966,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "cfg-if", "libc", @@ -10901,9 +10983,9 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "ahash", + "ahash 0.8.3", "array-bytes 4.2.0", "async-trait", "dyn-clone", @@ -10941,7 +11023,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "finality-grandpa", "futures", @@ -10961,7 +11043,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ansi_term", "futures", @@ -10976,7 +11058,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -10991,7 +11073,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -11005,7 +11087,7 @@ dependencies = [ "ip_network", "libp2p", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -11033,7 +11115,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "cid", "futures", @@ -11052,7 +11134,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "bitflags", @@ -11078,14 +11160,14 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "ahash", + "ahash 0.8.3", "futures", "futures-timer", "libp2p", "log", - "lru", + "lru 0.8.1", "sc-network-common", "sc-peerset", "sp-runtime", @@ -11096,7 +11178,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "futures", @@ -11117,7 +11199,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -11125,7 +11207,7 @@ dependencies = [ "futures", "libp2p", "log", - "lru", + "lru 0.8.1", "mockall", "parity-scale-codec", "prost", @@ -11149,7 +11231,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "futures", @@ -11168,7 +11250,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "bytes", @@ -11198,7 +11280,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "libp2p", @@ -11211,7 +11293,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -11220,7 +11302,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "jsonrpsee", @@ -11244,12 +11326,13 @@ dependencies = [ "sp-runtime", "sp-session", "sp-version", + "tokio", ] [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11268,7 +11351,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "http", "jsonrpsee", @@ -11283,7 +11366,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "futures", @@ -11309,7 +11392,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "directories", @@ -11340,6 +11423,7 @@ dependencies = [ "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", + "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -11374,7 +11458,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "log", "parity-scale-codec", @@ -11382,10 +11466,26 @@ dependencies = [ "sp-core", ] +[[package]] +name = "sc-storage-monitor" +version = "0.1.0" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" +dependencies = [ + "clap", + "futures", + "log", + "nix 0.26.2", + "sc-client-db", + "sc-utils", + "sp-core", + "thiserror", + "tokio", +] + [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11404,7 +11504,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "libc", @@ -11423,7 +11523,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "chrono", "futures", @@ -11442,7 +11542,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ansi_term", "atty", @@ -11473,7 +11573,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -11484,13 +11584,14 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", "futures-timer", "linked-hash-map", "log", + "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "sc-client-api", @@ -11510,7 +11611,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -11524,7 +11625,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "backtrace", "futures", @@ -11570,6 +11671,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" @@ -11756,29 +11868,29 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.159" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" +checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.159" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585" +checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] name = "serde_json" -version = "1.0.95" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" +checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" dependencies = [ "itoa", "ryu", @@ -11847,9 +11959,9 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c" dependencies = [ "digest 0.10.6", "keccak", @@ -11924,8 +12036,8 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" [[package]] name = "slot-range-helper" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "enumn", "parity-scale-codec", @@ -11957,14 +12069,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" +checksum = "5ccba027ba85743e09d15c03296797cad56395089b832b48b5a5217880f57733" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.2", + "curve25519-dalek 4.0.0-rc.1", "rand_core 0.6.4", "ring", "rustc_version", @@ -12002,7 +12114,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hash-db", "log", @@ -12020,7 +12132,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "blake2", "proc-macro-crate", @@ -12032,7 +12144,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12045,7 +12157,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "integer-sqrt", "num-traits", @@ -12059,7 +12171,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12069,22 +12181,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12101,7 +12201,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-api", @@ -12113,11 +12213,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "futures", "log", - "lru", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -12131,7 +12231,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -12149,7 +12249,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "parity-scale-codec", @@ -12167,7 +12267,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "merlin", @@ -12190,7 +12290,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12202,7 +12302,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12215,7 +12315,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "array-bytes 4.2.0", "base58", @@ -12257,7 +12357,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "blake2", "byteorder", @@ -12271,7 +12371,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro2", "quote", @@ -12282,7 +12382,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -12291,7 +12391,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "proc-macro2", "quote", @@ -12301,7 +12401,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "environmental", "parity-scale-codec", @@ -12312,7 +12412,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "finality-grandpa", "log", @@ -12330,7 +12430,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -12344,7 +12444,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "bytes", "ed25519", @@ -12369,7 +12469,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "lazy_static", "sp-core", @@ -12380,7 +12480,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures", @@ -12397,7 +12497,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "thiserror", "zstd", @@ -12406,7 +12506,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -12424,7 +12524,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12438,7 +12538,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sp-api", "sp-core", @@ -12448,7 +12548,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "backtrace", "lazy_static", @@ -12458,7 +12558,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "rustc-hash", "serde", @@ -12468,7 +12568,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "either", "hash256-std-hasher", @@ -12490,7 +12590,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -12508,7 +12608,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "Inflector", "proc-macro-crate", @@ -12520,7 +12620,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12534,7 +12634,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12546,7 +12646,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hash-db", "log", @@ -12566,12 +12666,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -12584,7 +12684,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "futures-timer", @@ -12599,7 +12699,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "sp-std", @@ -12611,7 +12711,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "sp-api", "sp-runtime", @@ -12620,7 +12720,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "log", @@ -12636,18 +12736,18 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", "scale-info", + "schnellru", "sp-core", "sp-std", "thiserror", @@ -12659,7 +12759,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -12676,7 +12776,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -12687,7 +12787,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "impl-trait-for-tuples", "log", @@ -12700,7 +12800,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "parity-scale-codec", "scale-info", @@ -12914,7 +13014,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "platforms 2.0.0", ] @@ -12922,7 +13022,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -12941,7 +13041,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "hyper", "log", @@ -12953,7 +13053,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "async-trait", "jsonrpsee", @@ -12966,7 +13066,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "jsonrpsee", "log", @@ -12985,7 +13085,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "ansi_term", "build-helper", @@ -13048,9 +13148,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.13" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" dependencies = [ "proc-macro2", "quote", @@ -13111,7 +13211,7 @@ dependencies = [ "cfg-if", "fastrand", "redox_syscall 0.3.5", - "rustix 0.37.6", + "rustix 0.37.11", "windows-sys 0.45.0", ] @@ -13369,7 +13469,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -13540,7 +13640,7 @@ checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -13694,8 +13794,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -13705,8 +13805,8 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -13786,7 +13886,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", @@ -13856,7 +13956,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.38#18bb7c7c841b101c19a8d1881b893ae8e37de460" dependencies = [ "clap", "frame-remote-externalities", @@ -14053,11 +14153,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" +checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.9", ] [[package]] @@ -14283,9 +14383,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", @@ -14299,9 +14399,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", @@ -14311,9 +14411,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", @@ -14681,7 +14781,7 @@ dependencies = [ "tokio", "webpki 0.21.4", "webrtc-util", - "x25519-dalek 2.0.0-rc.2", + "x25519-dalek 2.0.0-pre.1", "x509-parser 0.13.2", ] @@ -14793,7 +14893,7 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", + "nix 0.24.3", "rand 0.8.5", "thiserror", "tokio", @@ -14802,8 +14902,8 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "bitvec", "frame-benchmarking", @@ -14847,6 +14947,7 @@ dependencies = [ "pallet-society", "pallet-staking", "pallet-staking-reward-curve", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -14892,8 +14993,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "polkadot-primitives", @@ -15011,6 +15112,15 @@ dependencies = [ "windows-targets 0.42.2", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -15225,13 +15335,12 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0-rc.2" +version = "2.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabd6e16dd08033932fc3265ad4510cc2eab24656058a6dcb107ffe274abcc95" +checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" dependencies = [ - "curve25519-dalek 4.0.0-rc.2", + "curve25519-dalek 3.2.0", "rand_core 0.6.4", - "serde", "zeroize", ] @@ -15274,25 +15383,28 @@ dependencies = [ [[package]] name = "xcm" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "derivative", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "serde", + "sp-core", + "sp-weights", "xcm-procedural", ] [[package]] name = "xcm-builder" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "pallet-transaction-payment", "parity-scale-codec", @@ -15309,7 +15421,7 @@ dependencies = [ [[package]] name = "xcm-emulator" version = "0.1.0" -source = "git+https://github.com/shaunxw/xcm-simulator?rev=0460d04c798028e7bef82c907082e11753ed173b#0460d04c798028e7bef82c907082e11753ed173b" +source = "git+https://github.com/shaunxw/xcm-simulator?rev=754f3b90ecc65af735a6c9a2e1792c5253926ff6#754f3b90ecc65af735a6c9a2e1792c5253926ff6" dependencies = [ "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", @@ -15334,9 +15446,10 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ + "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", @@ -15347,13 +15460,14 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "sp-weights", "xcm", ] [[package]] name = "xcm-procedural" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "Inflector", "proc-macro2", @@ -15363,8 +15477,8 @@ dependencies = [ [[package]] name = "xcm-simulator" -version = "0.9.37" -source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" +version = "0.9.38" +source = "git+https://github.com/paritytech//polkadot?branch=release-v0.9.38#097ffd245c42aeff28cf80f8a3568e1bee2e7da7" dependencies = [ "frame-support", "parity-scale-codec", @@ -15394,9 +15508,9 @@ dependencies = [ [[package]] name = "yasna" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ "time 0.3.20", ] @@ -15418,7 +15532,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.13", + "syn 2.0.15", ] [[package]] @@ -15442,9 +15556,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.7+zstd.1.5.4" +version = "2.0.8+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" dependencies = [ "cc", "libc", diff --git a/Cargo.toml b/Cargo.toml index 6b13986800..cc9b48e478 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,229 +24,230 @@ incremental = false incremental = false [patch."https://github.com/paritytech/substrate"] -frame-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-benchmarking-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-election-provider-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-executive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support-procedural = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support-procedural-tools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-support-procedural-tools-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-system-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -frame-try-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-balances = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-democracy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-election-provider-multi-phase = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-elections-phragmen = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-identity = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-im-online = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-indices = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-membership = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -mmr-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nis = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-state-trie-migration = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-multisig = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-offences = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-offences-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-proxy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-recovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-scheduler = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-session-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-society = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-staking-reward-curve = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-staking-reward-fn = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-sudo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-tips = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-transaction-payment = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-treasury = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-utility = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-vesting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-basic-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-chain-spec = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-client-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-client-db = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-babe-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-epochs = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-executor = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-executor-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-executor-wasmtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-finality-grandpa-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-informant = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-gossip = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-peerset = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-rpc-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-rpc-server = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-service = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-sync-state-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-telemetry = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-transaction-pool-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-application-crypto = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-arithmetic = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-blockchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-consensus-vrf = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-core = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-debug-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-externalities = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-inherents = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-io = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-keyring = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-maybe-compressed-blob = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-mmr-primitives = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-npos-elections = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-runtime-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-state-machine = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-std = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-storage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-trie = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-version = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-wasm-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sp-weights = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-build-script-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-wasm-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -try-runtime-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-sysinfo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -beefy-gadget= { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -beefy-gadget-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -beefy-merkle-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-bags-list = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-beefy-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-child-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-election-provider-support-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nomination-pools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nomination-pools-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-preimage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-conviction-voting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-fast-unstake = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-ranked-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-referenda = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -pallet-whitelist = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-light = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -sc-network-sync = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -fork-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } -mmr-gadget = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.37" } +frame-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-benchmarking-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-election-provider-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-executive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support-procedural = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support-procedural-tools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-support-procedural-tools-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-system-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +frame-try-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-balances = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-democracy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-elections-phragmen = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-identity = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-im-online = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-indices = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-membership = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +mmr-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nis = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-state-trie-migration = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-multisig = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-offences = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-offences-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-proxy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-recovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-scheduler = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-session-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-society = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-staking-reward-curve = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-staking-reward-fn = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-sudo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-tips = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-transaction-payment = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-treasury = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-utility = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-vesting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-basic-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-chain-spec = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-client-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-client-db = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-babe-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-epochs = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-executor = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-executor-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-executor-wasmtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-finality-grandpa-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-informant = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-gossip = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-common = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-peerset = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-rpc-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-rpc-server = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-service = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-sync-state-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-telemetry = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-transaction-pool-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-application-crypto = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-arithmetic = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-authority-discovery = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +# sp-authorship = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-block-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-blockchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-aura = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-babe = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-slots = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-consensus-vrf = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-core = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-debug-derive = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-externalities = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-finality-grandpa = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-inherents = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-io = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-keyring = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-keystore = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-maybe-compressed-blob = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-mmr-primitives = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-npos-elections = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-offchain = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-runtime = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-runtime-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-session = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-staking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-state-machine = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-std = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-storage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-timestamp = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-tracing = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-transaction-pool = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-trie = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-version = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-wasm-interface = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sp-weights = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-build-script-utils = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-wasm-builder = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +try-runtime-cli = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-sysinfo = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +beefy-gadget= { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +beefy-gadget-rpc = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +beefy-merkle-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-bags-list = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-beefy = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-beefy-mmr = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-child-bounties = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-election-provider-support-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nomination-pools = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nomination-pools-benchmarking = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-preimage = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-conviction-voting = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-fast-unstake = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-ranked-collective = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-referenda = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +pallet-whitelist = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-light = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-network-sync = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +fork-tree = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +mmr-gadget = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } +sc-storage-monitor = { git = "https://github.com/paritytech//substrate", branch = "polkadot-v0.9.38" } [patch."https://github.com/paritytech/polkadot"] -kusama-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -pallet-xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-cli = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-client = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-core-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-core-av-store = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-core-pvf = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-network-protocol = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-subsystem = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-subsystem-util = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-overseer = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-parachain = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-runtime-common = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-runtime-parachains = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-service = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-statement-table = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -rococo-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -westend-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm-builder = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm-executor = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -xcm-simulator = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-availability-distribution = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-erasure-coding = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-network-bridge = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -polkadot-node-jaeger = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -tracing-gum = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } -tracing-gum-proc-macro = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.37" } +kusama-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +pallet-xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-cli = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-client = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-core-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-core-av-store = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-core-pvf = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-network-protocol = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-subsystem = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-subsystem-util = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-overseer = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-parachain = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-primitives = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-runtime-common = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-runtime-parachains = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-service = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-statement-table = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +rococo-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +westend-runtime = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm-builder = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm-executor = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +xcm-simulator = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-availability-distribution = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-erasure-coding = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-network-bridge = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +polkadot-node-jaeger = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +tracing-gum = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } +tracing-gum-proc-macro = { git = "https://github.com/paritytech//polkadot", branch = "release-v0.9.38" } [patch."https://github.com/paritytech/cumulus"] -cumulus-client-cli = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-network = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-service = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-xcm = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-core = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-primitives-utility = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -parachain-info = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-client-collator = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } -cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.37" } +cumulus-client-cli = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-network = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-service = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-xcm = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-core = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-primitives-utility = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +parachain-info = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-client-collator = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } +cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech//cumulus", branch = "polkadot-v0.9.38" } [patch."https://github.com/open-web3-stack/open-runtime-module-library"] -orml-asset-registry = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-oracle = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-traits = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-unknown-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-utilities = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-vesting = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-xcm-support = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-xcm = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } -orml-xtokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "24f0a8b6e04e1078f70d0437fb816337cdf4f64c" } \ No newline at end of file +orml-asset-registry = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-oracle = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-traits = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-unknown-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-utilities = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-vesting = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-xcm-support = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-xcm = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } +orml-xtokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "8301b6c2871ce4e0279c78b3714e8e3a40a749ea" } \ No newline at end of file diff --git a/crates/collator-selection/src/benchmarking.rs b/crates/collator-selection/src/benchmarking.rs index 19e2e9bed1..b67d3c9026 100644 --- a/crates/collator-selection/src/benchmarking.rs +++ b/crates/collator-selection/src/benchmarking.rs @@ -103,7 +103,7 @@ benchmarks! { set_invulnerables { let b in 1 .. T::MaxInvulnerables::get(); let new_invulnerables = register_validators::(b); - let origin = T::UpdateOrigin::successful_origin(); + let origin = T::UpdateOrigin::try_successful_origin().unwrap(); }: { assert_ok!( >::set_invulnerables(origin, new_invulnerables.clone()) @@ -115,7 +115,7 @@ benchmarks! { set_desired_candidates { let max: u32 = 999; - let origin = T::UpdateOrigin::successful_origin(); + let origin = T::UpdateOrigin::try_successful_origin().unwrap(); }: { assert_ok!( >::set_desired_candidates(origin, max.clone()) @@ -127,7 +127,7 @@ benchmarks! { set_candidacy_bond { let bond_amount: BalanceOf = T::StakingCurrency::minimum_balance() * 10u32.into(); - let origin = T::UpdateOrigin::successful_origin(); + let origin = T::UpdateOrigin::try_successful_origin().unwrap(); }: { assert_ok!( >::set_candidacy_bond(origin, bond_amount.clone()) diff --git a/crates/collator-selection/src/lib.rs b/crates/collator-selection/src/lib.rs index 5008567c9e..3390d44b75 100644 --- a/crates/collator-selection/src/lib.rs +++ b/crates/collator-selection/src/lib.rs @@ -489,10 +489,6 @@ pub mod pallet { DispatchClass::Mandatory, ); } - - fn note_uncle(_author: T::AccountId, _age: T::BlockNumber) { - //TODO can we ignore this? - } } /// Play the role of the session manager. diff --git a/crates/collator-selection/src/mock.rs b/crates/collator-selection/src/mock.rs index 5fbc5d76f3..21e42d4e9f 100644 --- a/crates/collator-selection/src/mock.rs +++ b/crates/collator-selection/src/mock.rs @@ -45,7 +45,7 @@ frame_support::construct_runtime!( Aura: pallet_aura::{Pallet, Storage, Config}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event}, - Authorship: pallet_authorship::{Pallet, Call, Storage, Inherent}, + Authorship: pallet_authorship::{Pallet, Storage}, } ); @@ -110,8 +110,6 @@ impl FindAuthor for Author4 { impl pallet_authorship::Config for Test { type FindAuthor = Author4; - type UncleGenerations = (); - type FilterUncle = (); type EventHandler = CollatorSelection; } diff --git a/crates/democracy/src/benchmarking.rs b/crates/democracy/src/benchmarking.rs index 1f41acd0a3..18a9cb96d8 100644 --- a/crates/democracy/src/benchmarking.rs +++ b/crates/democracy/src/benchmarking.rs @@ -144,7 +144,7 @@ benchmarks! { } fast_track { - let origin_fast_track = T::FastTrackOrigin::successful_origin(); + let origin_fast_track = T::FastTrackOrigin::try_successful_origin().unwrap(); let proposal_hash = add_proposal::(0)?; let prop_index = PublicProps::::get() .iter() diff --git a/crates/tx-pause/src/benchmarking.rs b/crates/tx-pause/src/benchmarking.rs index c7c186d4b4..c14ed45b82 100644 --- a/crates/tx-pause/src/benchmarking.rs +++ b/crates/tx-pause/src/benchmarking.rs @@ -26,7 +26,7 @@ benchmarks! { let full_name: FullNameOf = (name::(b"SomePalletName"), Some(name::(b"SomePalletName"))); // let pallet_name: PalletNameOf = name::(b"SomePalletName"); // let maybe_call_name: Option> = Some(name::(b"some_call_name")); - let origin = T::PauseOrigin::successful_origin(); + let origin = T::PauseOrigin::try_successful_origin().unwrap(); // let call = Call::::pause { full_name: full_name.clone() }; // let call = Call::::pause { pallet_name: pallet_name.clone(), maybe_call_name: maybe_call_name.clone() }; @@ -37,14 +37,14 @@ benchmarks! { unpause { let full_name: FullNameOf = (name::(b"SomePalletName"), Some(name::(b"SomePalletName"))); - let pause_origin = T::PauseOrigin::successful_origin(); + let pause_origin = T::PauseOrigin::try_successful_origin().unwrap(); TxPause::::pause( pause_origin, full_name.clone(), )?; - let unpause_origin = T::UnpauseOrigin::successful_origin(); + let unpause_origin = T::UnpauseOrigin::try_successful_origin().unwrap(); // let call = Call::::unpause { pallet_name: pallet_name.clone(), maybe_call_name: maybe_call_name.clone() }; }: _(unpause_origin, full_name.clone()) diff --git a/parachain/runtime/common/src/lib.rs b/parachain/runtime/common/src/lib.rs index 391e19da54..9a15d28740 100644 --- a/parachain/runtime/common/src/lib.rs +++ b/parachain/runtime/common/src/lib.rs @@ -23,7 +23,7 @@ pub type AccountId = ::AccountId; pub type VaultId = primitives::VaultId, currency::CurrencyId>; pub use currency::CurrencyId; use primitives::{Balance, Nonce}; -use xcm::{latest::MultiLocation, v2::Instruction}; +use xcm::latest::{Instruction, MultiLocation, Weight}; use xcm_executor::traits::ShouldExecute; fn native_currency_id() -> CurrencyId { @@ -65,12 +65,12 @@ pub struct AndBarrier(PhantomData<(T, U)>); impl ShouldExecute for AndBarrier { fn should_execute( origin: &MultiLocation, - message: &mut xcm::v2::Xcm, - max_weight: u64, - weight_credit: &mut u64, + instructions: &mut [Instruction], + max_weight: Weight, + weight_credit: &mut Weight, ) -> Result<(), ()> { - T::should_execute(origin, message, max_weight, weight_credit)?; - U::should_execute(origin, message, max_weight, weight_credit)?; + T::should_execute(origin, instructions, max_weight, weight_credit)?; + U::should_execute(origin, instructions, max_weight, weight_credit)?; // only if both returned ok, we return ok Ok(()) } @@ -81,19 +81,17 @@ pub struct Transactless(PhantomData); impl ShouldExecute for Transactless { fn should_execute( origin: &MultiLocation, - message: &mut xcm::v2::Xcm, - max_weight: u64, - weight_credit: &mut u64, + instructions: &mut [Instruction], + max_weight: Weight, + weight_credit: &mut Weight, ) -> Result<(), ()> { - let xcm::v2::Xcm(ref instructions) = message; - // filter any outer-level Transacts. Any Transact calls sent to other chain should still work. let has_transact = instructions.iter().any(|x| matches!(x, Instruction::Transact { .. })); if has_transact { return Err(()); } // No transact - return result of the wrapped barrier - T::should_execute(origin, message, max_weight, weight_credit) + T::should_execute(origin, instructions, max_weight, weight_credit) } } diff --git a/parachain/runtime/interlay/src/lib.rs b/parachain/runtime/interlay/src/lib.rs index 531882e1a8..3e1aae82ac 100644 --- a/parachain/runtime/interlay/src/lib.rs +++ b/parachain/runtime/interlay/src/lib.rs @@ -133,7 +133,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { @@ -169,7 +169,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -232,14 +231,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -413,8 +406,8 @@ impl EnsureOrigin for EnsureKintsugiLabs { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin() -> RuntimeOrigin { - RuntimeOrigin::from(RawOrigin::None) + fn try_successful_origin() -> Result { + Ok(RuntimeOrigin::from(RawOrigin::None)) } } @@ -700,8 +693,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1190,7 +1183,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, // Treasury: 73 - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1249,10 +1242,12 @@ pub type Executive = frame_executive::Executive< >, democracy::migrations::v1::Migration, SudoMigrationCheck, + orml_asset_registry::Migration, + orml_unknown_tokens::Migration, ), >; -struct SudoMigrationCheck; +pub struct SudoMigrationCheck; impl OnRuntimeUpgrade for SudoMigrationCheck { fn on_runtime_upgrade() -> Weight { @@ -1378,6 +1373,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } impl loans_rpc_runtime_api::LoansApi< diff --git a/parachain/runtime/interlay/src/xcm_config.rs b/parachain/runtime/interlay/src/xcm_config.rs index 047f235d9b..616cac76ce 100644 --- a/parachain/runtime/interlay/src/xcm_config.rs +++ b/parachain/runtime/interlay/src/xcm_config.rs @@ -14,16 +14,15 @@ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdap use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{prelude::*, Weight}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; pub use xcm_executor; -use xcm_executor::{Config, XcmExecutor}; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -72,7 +71,7 @@ pub type Barrier = Transactless<( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); pub const MaxInstructions: u32 = 100; } @@ -90,27 +89,35 @@ pub fn dot_per_second() -> u128 { } parameter_types! { - pub DotPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), dot_per_second()); - pub CanonicalizedIntrPerSecond: (AssetId, u128) = ( + pub DotPerSecond: (AssetId, u128, u128) = (MultiLocation::parent().into(), dot_per_second(), + 0, // todo: determine how much to charge per mb of proof +); + pub CanonicalizedIntrPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(INTR)).into(), // INTR:DOT = 4:3 - (dot_per_second() * 4) / 3 + (dot_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedIbtcPerSecond: (AssetId, u128) = ( + pub CanonicalizedIbtcPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(IBTC)).into(), // (I)BTC:DOT = 1:2266 & Satoshi:Planck = 1:100 - dot_per_second() / 226_600 + dot_per_second() / 226_600, + 0, // todo: determine how much to charge per mb of proof ); - pub IntrPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub IntrPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(Token(INTR)).into(), // KINT:KSM = 4:3 - (dot_per_second() * 4) / 3 + (dot_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub IbtcPerSecond: (AssetId, u128) = ( + pub IbtcPerSecond: (AssetId, u128, u128) = ( non_canonical_currency_location(Token(IBTC)).into(), // (I)BTC:DOT = 1:2266 & Satoshi:Planck = 1:100 - dot_per_second() / 226_600 + dot_per_second() / 226_600, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToAuthor; @@ -155,6 +162,32 @@ impl FixedConversionRateProvider for MyFixedConversionRateProvider { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completely blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -163,7 +196,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -171,6 +203,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -180,11 +222,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -197,9 +245,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -215,6 +271,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -235,24 +292,26 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -276,9 +335,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -294,13 +357,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -344,7 +407,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -361,9 +424,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/runtime/kintsugi/src/lib.rs b/parachain/runtime/kintsugi/src/lib.rs index 63f8f907f6..2bf4439aab 100644 --- a/parachain/runtime/kintsugi/src/lib.rs +++ b/parachain/runtime/kintsugi/src/lib.rs @@ -14,10 +14,10 @@ use frame_support::{ dispatch::{DispatchError, DispatchResult}, traits::{ ConstU32, Contains, Currency as PalletCurrency, EitherOfDiverse, EnsureOrigin, EnsureOriginWithArg, - EqualPrivilegeOnly, ExistenceRequirement, Imbalance, InstanceFilter, OnUnbalanced, + EqualPrivilegeOnly, ExistenceRequirement, Imbalance, InstanceFilter, OnRuntimeUpgrade, OnUnbalanced, }, weights::ConstantMultiplier, - PalletId, + Blake2_128Concat, PalletId, Twox64Concat, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -135,7 +135,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -170,7 +170,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -233,14 +232,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -414,8 +407,8 @@ impl EnsureOrigin for EnsureKintsugiLabs { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin() -> RuntimeOrigin { - RuntimeOrigin::from(RawOrigin::None) + fn try_successful_origin() -> Result { + Ok(RuntimeOrigin::from(RawOrigin::None)) } } @@ -712,8 +705,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1235,7 +1228,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, // Treasury: 73 - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1395,6 +1388,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/parachain/runtime/kintsugi/src/xcm_config.rs b/parachain/runtime/kintsugi/src/xcm_config.rs index bf5246c74c..aa245751ab 100644 --- a/parachain/runtime/kintsugi/src/xcm_config.rs +++ b/parachain/runtime/kintsugi/src/xcm_config.rs @@ -13,15 +13,14 @@ use orml_xcm_support::{DepositToAlternative, IsNativeConcrete, MultiCurrencyAdap use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{prelude::*, Weight}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; -use xcm_executor::XcmExecutor; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; use CurrencyId::ForeignAsset; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -70,7 +69,7 @@ pub type Barrier = Transactless<( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); pub const MaxInstructions: u32 = 100; } @@ -92,27 +91,35 @@ pub fn kint_per_second() -> u128 { } parameter_types! { - pub KsmPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), ksm_per_second()); - pub KintPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KsmPerSecond: (AssetId, u128, u128) = (MultiLocation::parent().into(), ksm_per_second(), + 0, // todo: determine how much to charge per mb of proof +); + pub KintPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(Token(KINT)).into(), // KINT:KSM = 4:3 - kint_per_second() + kint_per_second(), + 0, // todo: determine how much to charge per mb of proof ); - pub KbtcPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KbtcPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(Token(KBTC)).into(), // KBTC:KSM = 1:150 & Satoshi:Planck = 1:10_000 - ksm_per_second() / 1_500_000 + ksm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedKintPerSecond: (AssetId, u128) = ( + pub CanonicalizedKintPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(KINT)).into(), // KINT:KSM = 4:3 - kint_per_second() + kint_per_second(), + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedKbtcPerSecond: (AssetId, u128) = ( + pub CanonicalizedKbtcPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(Token(KBTC)).into(), // KBTC:KSM = 1:150 & Satoshi:Planck = 1:10_000 - ksm_per_second() / 1_500_000 + ksm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Kusama; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToTreasury; @@ -149,6 +156,32 @@ impl FixedConversionRateProvider for MyFixedConversionRateProvider { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -157,7 +190,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -165,6 +197,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -174,11 +216,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -191,9 +239,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -209,6 +265,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -229,24 +286,26 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -270,9 +329,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -288,13 +351,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -338,7 +401,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -355,9 +418,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/runtime/runtime-tests/Cargo.toml b/parachain/runtime/runtime-tests/Cargo.toml index 81116e4180..c2688426ac 100644 --- a/parachain/runtime/runtime-tests/Cargo.toml +++ b/parachain/runtime/runtime-tests/Cargo.toml @@ -78,7 +78,7 @@ xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "releas xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.31", default-features = false } xcm-simulator = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.31", default-features = false } pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.31", default-features = false } -xcm-emulator = { git = "https://github.com/shaunxw/xcm-simulator", rev = "0460d04c798028e7bef82c907082e11753ed173b" } +xcm-emulator = { git = "https://github.com/shaunxw/xcm-simulator", rev = "754f3b90ecc65af735a6c9a2e1792c5253926ff6" } # Parachain dependencies runtime-common = {path = "../common", default-features = false } diff --git a/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs b/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs index 5079f5c374..6b51ecceea 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/kusama_cross_chain_transfer.rs @@ -1,13 +1,10 @@ use crate::relaychain::kusama_test_net::*; use codec::Encode; -use frame_support::{ - assert_ok, - weights::{Weight as FrameWeight, WeightToFee}, -}; +use frame_support::assert_ok; use orml_traits::MultiCurrency; use primitives::{ CurrencyId::{ForeignAsset, Token}, - CustomMetadata, + CustomMetadata, TokenSymbol, }; use sp_runtime::{FixedPointNumber, FixedU128}; use xcm::latest::{prelude::*, Weight}; @@ -21,20 +18,25 @@ mod fees { // N * unit_weight * (weight/10^12) * token_per_second fn weight_calculation(instruction_count: u32, unit_weight: Weight, per_second: u128) -> u128 { let weight = unit_weight.saturating_mul(instruction_count as u64); - let weight_ratio = FixedU128::saturating_from_rational(weight as u128, WEIGHT_REF_TIME_PER_SECOND as u128); + let weight_ratio = + FixedU128::saturating_from_rational(weight.ref_time() as u128, WEIGHT_REF_TIME_PER_SECOND as u128); weight_ratio.saturating_mul_int(per_second) } fn native_unit_cost(instruction_count: u32, per_second: u128) -> u128 { let unit_weight: Weight = kintsugi_runtime_parachain::xcm_config::UnitWeightCost::get(); - assert_eq!(unit_weight, 200_000_000); + assert_eq!(unit_weight.ref_time(), 200_000_000); + assert_eq!(unit_weight.proof_size(), 0); weight_calculation(instruction_count, unit_weight, per_second) } pub fn ksm_per_second_as_fee(instruction_count: u32) -> u128 { let ksm_per_second = kintsugi_runtime_parachain::xcm_config::ksm_per_second(); - assert_eq!(202060000000, ksm_per_second); + + // check ksm per second. It's by no means essential - it's just useful to be forced to check the + // change after polkadot updates + assert_eq!(200320000000, ksm_per_second); native_unit_cost(instruction_count, ksm_per_second) } @@ -52,25 +54,20 @@ mod hrmp { use polkadot_runtime_parachains::hrmp; fn construct_xcm(call: hrmp::Call) -> Xcm<()> { Xcm(vec![ - WithdrawAsset((Here, 410000000000).into()), + WithdrawAsset((Here, 410000000000u128).into()), BuyExecution { - fees: (Here, 400000000000).into(), + fees: (Here, 400000000000u128).into(), weight_limit: Unlimited, }, Transact { - require_weight_at_most: 10000000000, - origin_type: OriginKind::Native, + require_weight_at_most: Weight::from_ref_time(10000000000), + origin_kind: OriginKind::Native, call: kusama_runtime::RuntimeCall::Hrmp(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]) } @@ -181,25 +178,20 @@ fn test_transact_barrier() { keep_alive: false, }; let message = Xcm(vec![ - WithdrawAsset((Here, 410000000000).into()), + WithdrawAsset((Here, 410000000000u128).into()), BuyExecution { - fees: (Here, 400000000000).into(), + fees: (Here, 400000000000u128).into(), weight_limit: Unlimited, }, Transact { - require_weight_at_most: 10000000000, - origin_type: OriginKind::Native, + require_weight_at_most: Weight::from_ref_time(10000000000), + origin_kind: OriginKind::Native, call: kintsugi_runtime_parachain::RuntimeCall::Tokens(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]); @@ -227,26 +219,20 @@ fn transfer_from_relay_chain() { KusamaNet::execute_with(|| { assert_ok!(kusama_runtime::XcmPallet::reserve_transfer_assets( kusama_runtime::RuntimeOrigin::signed(ALICE.into()), - Box::new(Parachain(KINTSUGI_PARA_ID).into().into()), - Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() - .into() - ), + Box::new(Parachain(KINTSUGI_PARA_ID).into_versioned()), + Box::new(Junction::AccountId32 { id: BOB, network: None }.into_versioned()), Box::new((Here, KSM.one()).into()), 0 )); }); Kintsugi::execute_with(|| { - let xcm_fee = fees::ksm_per_second_as_fee(4); - assert_eq!( - Tokens::free_balance(Token(KSM), &AccountId::from(BOB)), - KSM.one() - xcm_fee - ); + let xcm_fee = KSM.one() - Tokens::free_balance(Token(KSM), &AccountId::from(BOB)); + + assert!(xcm_fee < 1000000000); // fees are set to 1000000000 in ui - make sure it's enough + assert!(xcm_fee > 0); // check that some fees are taken + + // check that fees go to treasury assert_eq!(Tokens::free_balance(Token(KSM), &TreasuryAccount::get()), xcm_fee); }); } @@ -266,28 +252,13 @@ fn transfer_to_relay_chain() { RuntimeOrigin::signed(ALICE.into()), Token(KSM), KSM.one(), - Box::new( - MultiLocation::new( - 1, - X1(Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - }) - ) - .into() - ), + Box::new(MultiLocation::new(1, X1(Junction::AccountId32 { id: BOB, network: None })).into()), WeightLimit::Unlimited )); }); KusamaNet::execute_with(|| { - let used_weight = FrameWeight::from_ref_time(298_368_000); // the actual weight of the sent message - let fee = - ::WeightToFee::weight_to_fee(&used_weight); - assert_eq!( - kusama_runtime::Balances::free_balance(&AccountId::from(BOB)), - KSM.one() - fee - ); + let fee = KSM.one() - kusama_runtime::Balances::free_balance(&AccountId::from(BOB)); // UI uses 165940672 - make sure that that's an overestimation assert!(fee < 165940672); @@ -327,7 +298,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(SIBLING_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) @@ -368,7 +339,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(KINTSUGI_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), } ) @@ -411,7 +382,6 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); @@ -419,10 +389,10 @@ fn xcm_transfer_execution_barrier_trader_works() { // Kusama effectively disabled the `send` extrinsic in 0.9.19, so use send_xcm assert_ok!(pallet_xcm::Pallet::::send_xcm( X1(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), }), - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), message )); }); @@ -444,16 +414,16 @@ fn xcm_transfer_execution_barrier_trader_works() { ReserveAssetDeposited((Parent, 100).into()), BuyExecution { fees: (Parent, 100).into(), - weight_limit: Limited(message_weight - 1), + weight_limit: Limited(message_weight - Weight::from_ref_time(1)), }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); Kintsugi::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, message_weight); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, message_weight); assert_eq!(r, Outcome::Error(XcmError::Barrier)); }); @@ -467,12 +437,12 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); Kintsugi::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, message_weight); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, message_weight); assert_eq!( r, Outcome::Incomplete(message_weight - unit_instruction_weight, XcmError::TooExpensive) @@ -488,12 +458,12 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]); Kintsugi::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, message_weight); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, message_weight); assert_eq!(r, Outcome::Complete(message_weight)); }); } @@ -504,7 +474,7 @@ fn subscribe_version_notify_works() { KusamaNet::execute_with(|| { let r = pallet_xcm::Pallet::::force_subscribe_version_notify( kusama_runtime::RuntimeOrigin::root(), - Box::new(Parachain(KINTSUGI_PARA_ID).into().into()), + Box::new(Parachain(KINTSUGI_PARA_ID).into_versioned()), ); assert_ok!(r); }); @@ -515,7 +485,7 @@ fn subscribe_version_notify_works() { parents: 0, interior: X1(Parachain(KINTSUGI_PARA_ID)), }, - 2, + 3, ), )); }); @@ -535,7 +505,7 @@ fn subscribe_version_notify_works() { parents: 1, interior: Here, }, - 2, + 3, ), )); }); @@ -573,9 +543,25 @@ fn subscribe_version_notify_works() { }); } +fn general_key_of(token_symbol: TokenSymbol) -> Junction { + let id = Token(token_symbol); + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + #[test] fn trap_assets_works() { let mut kint_treasury_amount = 0; + let mut ksm_treasury_amount = 0; let (ksm_asset_amount, kint_asset_amount) = (KSM.one(), KINT.one()); let trader_weight_to_treasury = fees::ksm_per_second_as_fee(3); @@ -586,6 +572,7 @@ fn trap_assets_works() { assert_ok!(Tokens::deposit(Token(KINT), &parent_account, 100 * KINT.one())); kint_treasury_amount = Tokens::free_balance(Token(KINT), &TreasuryAccount::get()); + ksm_treasury_amount = Tokens::free_balance(Token(KSM), &TreasuryAccount::get()); }); let assets: MultiAsset = (Parent, ksm_asset_amount).into(); @@ -595,17 +582,11 @@ fn trap_assets_works() { WithdrawAsset(assets.clone().into()), BuyExecution { fees: assets, - weight_limit: Limited(KSM.one() as u64), + weight_limit: Limited(Weight::from_ref_time(KSM.one() as u64)), }, WithdrawAsset( ( - ( - Parent, - X2( - Parachain(KINTSUGI_PARA_ID), - GeneralKey(Token(KINT).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(KINTSUGI_PARA_ID), general_key_of(KINT))), kint_asset_amount, ) .into(), @@ -613,7 +594,7 @@ fn trap_assets_works() { ]; assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), Xcm(xcm), )); }); @@ -666,31 +647,20 @@ fn trap_assets_works() { }, BuyExecution { fees: ( - ( - Parent, - X2( - Parachain(KINTSUGI_PARA_ID), - GeneralKey(Token(KINT).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(KINTSUGI_PARA_ID), general_key_of(KINT))), kint_asset_amount / 2, ) .into(), - weight_limit: Limited(KSM.one() as u64), + weight_limit: Limited(Weight::from_ref_time(KSM.one() as u64)), }, DepositAsset { assets: All.into(), - max_assets: 2, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]; assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(KINTSUGI_PARA_ID).into(), + Parachain(KINTSUGI_PARA_ID), Xcm(xcm), )); }); @@ -716,16 +686,7 @@ fn register_kint_as_foreign_asset() { name: "Kintsugi native".as_bytes().to_vec(), symbol: "extKINT".as_bytes().to_vec(), existential_deposit: 0, - location: Some( - MultiLocation::new( - 1, - X2( - Parachain(KINTSUGI_PARA_ID), - GeneralKey(Token(KINT).encode().try_into().unwrap()), - ), - ) - .into(), - ), + location: Some(MultiLocation::new(1, X2(Parachain(KINTSUGI_PARA_ID), general_key_of(KINT))).into()), additional: CustomMetadata { fee_per_second: 1_000_000_000_000, coingecko_id: "kint-sugi".as_bytes().to_vec(), diff --git a/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs b/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs index d7430920d8..2d2d04e4ee 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/kusama_test_net.rs @@ -1,6 +1,7 @@ +use cumulus_primitives_core::MultiLocation; use frame_support::{traits::GenesisBuild, weights::Weight}; pub use kintsugi_runtime_parachain::{xcm_config::*, *}; -use polkadot_primitives::v2::{BlockNumber, MAX_CODE_SIZE, MAX_POV_SIZE}; +use polkadot_primitives::{BlockNumber, MAX_CODE_SIZE, MAX_POV_SIZE}; use polkadot_runtime_parachains::{configuration::HostConfiguration, paras::ParaKind}; pub use primitives::{ CurrencyId::Token, @@ -23,7 +24,7 @@ decl_test_relay_chain! { decl_test_parachain! { pub struct Kintsugi { Runtime = Runtime, - Origin = RuntimeOrigin, + RuntimeOrigin = RuntimeOrigin, XcmpMessageHandler = kintsugi_runtime_parachain::XcmpQueue, DmpMessageHandler = kintsugi_runtime_parachain::DmpQueue, new_ext = para_ext(KINTSUGI_PARA_ID), @@ -33,7 +34,7 @@ decl_test_parachain! { decl_test_parachain! { pub struct Sibling { Runtime = testnet_kintsugi_runtime_parachain::Runtime, - Origin = testnet_kintsugi_runtime_parachain::RuntimeOrigin, + RuntimeOrigin = testnet_kintsugi_runtime_parachain::RuntimeOrigin, XcmpMessageHandler = testnet_kintsugi_runtime_parachain::XcmpQueue, DmpMessageHandler = testnet_kintsugi_runtime_parachain::DmpQueue, new_ext = para_ext(SIBLING_PARA_ID), @@ -131,7 +132,7 @@ pub fn kusama_ext() -> sp_io::TestExternalities { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) @@ -212,14 +213,22 @@ impl ExtBuilder { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(2), // NOTE! if this was required for tests we may need it on mainnet }, &mut t, ) .unwrap(); let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); + ext.execute_with(|| { + System::set_block_number(1); + PolkadotXcm::force_xcm_version( + kintsugi_runtime_parachain::RuntimeOrigin::root(), + Box::new(MultiLocation::parent()), + 3, + ) + .unwrap(); + }); ext } } diff --git a/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs b/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs index 0a44777d8f..11bef6286f 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/polkadot_cross_chain_transfer.rs @@ -7,7 +7,7 @@ use frame_support::{ use orml_traits::MultiCurrency; use primitives::{ CurrencyId::{ForeignAsset, Token}, - CustomMetadata, + CustomMetadata, TokenSymbol, }; use xcm::latest::{prelude::*, Weight}; use xcm_builder::ParentIsPreset; @@ -28,18 +28,13 @@ mod hrmp { }, Transact { require_weight_at_most: transact_weight, - origin_type: OriginKind::Native, + origin_kind: OriginKind::Native, call: polkadot_runtime::RuntimeCall::Hrmp(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]) } @@ -145,6 +140,7 @@ mod hrmp { } fn open_hrmp_channel(initial_balance: u128, xcm_fee: u128, transact_weight: u64) { + let transact_weight = Weight::from_ref_time(transact_weight); let existential_deposit = DOT.one(); // setup sovereign account balances @@ -190,25 +186,20 @@ fn test_transact_barrier() { keep_alive: false, }; let message = Xcm(vec![ - WithdrawAsset((Here, 410000000000).into()), + WithdrawAsset((Here, 410000000000u128).into()), BuyExecution { - fees: (Here, 400000000000).into(), + fees: (Here, 400000000000u128).into(), weight_limit: Unlimited, }, Transact { - require_weight_at_most: 10000000000, - origin_type: OriginKind::Native, + require_weight_at_most: Weight::from_ref_time(10000000000), + origin_kind: OriginKind::Native, call: interlay_runtime_parachain::RuntimeCall::Tokens(call).encode().into(), }, RefundSurplus, DepositAsset { assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]); @@ -236,15 +227,8 @@ fn transfer_from_relay_chain() { PolkadotNet::execute_with(|| { assert_ok!(polkadot_runtime::XcmPallet::reserve_transfer_assets( polkadot_runtime::RuntimeOrigin::signed(ALICE.into()), - Box::new(Parachain(INTERLAY_PARA_ID).into().into()), - Box::new( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any - } - .into() - .into() - ), + Box::new(Parachain(INTERLAY_PARA_ID).into_versioned()), + Box::new(Junction::AccountId32 { id: BOB, network: None }.into_versioned()), Box::new((Here, DOT.one()).into()), 0 )); @@ -280,16 +264,7 @@ fn transfer_to_relay_chain() { RuntimeOrigin::signed(ALICE.into()), Token(DOT), 2 * DOT.one(), - Box::new( - MultiLocation::new( - 1, - X1(Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - }) - ) - .into() - ), + Box::new(MultiLocation::new(1, X1(Junction::AccountId32 { id: BOB, network: None })).into()), WeightLimit::Unlimited )); }); @@ -340,7 +315,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(SIBLING_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: BOB.into(), } ) @@ -381,7 +356,7 @@ fn transfer_to_sibling_and_back() { X2( Parachain(INTERLAY_PARA_ID), Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), } ) @@ -423,7 +398,6 @@ fn xcm_transfer_execution_barrier_trader_works() { }, DepositAsset { assets: All.into(), - max_assets: 1, beneficiary: Here.into(), }, ]) @@ -431,9 +405,10 @@ fn xcm_transfer_execution_barrier_trader_works() { let expect_weight_limit = ::Weigher::weight( &mut construct_xcm(100, Unlimited)).unwrap(); - let weight_limit_too_low = 500_000_000; - let unit_instruction_weight = 200_000_000; - let minimum_fee = (interlay_runtime_parachain::xcm_config::DotPerSecond::get().1 * expect_weight_limit as u128) + let weight_limit_too_low = Weight::from_ref_time(500_000_000); + let unit_instruction_weight = Weight::from_ref_time(200_000_000); + let minimum_fee = (interlay_runtime_parachain::xcm_config::DotPerSecond::get().1 + * expect_weight_limit.ref_time() as u128) / WEIGHT_REF_TIME_PER_SECOND as u128; // relay-chain use normal account to send xcm, destination parachain can't pass Barrier check @@ -442,10 +417,10 @@ fn xcm_transfer_execution_barrier_trader_works() { // Polkadot effectively disabled the `send` extrinsic in 0.9.19, so use send_xcm assert_ok!(pallet_xcm::Pallet::::send_xcm( X1(Junction::AccountId32 { - network: NetworkId::Any, + network: None, id: ALICE.into(), }), - Parachain(INTERLAY_PARA_ID).into(), + Parachain(INTERLAY_PARA_ID), message )); }); @@ -465,7 +440,8 @@ fn xcm_transfer_execution_barrier_trader_works() { // other situation when `weight_limit` is `Unlimited` or large than `xcm_weight`, then it's ok. let message = construct_xcm(100, Limited(weight_limit_too_low)); Interlay::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, expect_weight_limit); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, expect_weight_limit); assert_eq!(r, Outcome::Error(XcmError::Barrier)); }); @@ -474,7 +450,8 @@ fn xcm_transfer_execution_barrier_trader_works() { let message = construct_xcm(minimum_fee - 1, Limited(expect_weight_limit)); Interlay::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, expect_weight_limit); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, expect_weight_limit); assert_eq!( r, Outcome::Incomplete(expect_weight_limit - unit_instruction_weight, XcmError::TooExpensive) @@ -484,7 +461,8 @@ fn xcm_transfer_execution_barrier_trader_works() { // all situation fulfilled, execute success let message = construct_xcm(minimum_fee, Limited(expect_weight_limit)); Interlay::execute_with(|| { - let r = XcmExecutor::::execute_xcm(Parent, message, expect_weight_limit); + let hash = message.using_encoded(sp_io::hashing::blake2_256); + let r = XcmExecutor::::execute_xcm(Parent, message, hash, expect_weight_limit); assert_eq!(r, Outcome::Complete(expect_weight_limit)); }); } @@ -495,7 +473,7 @@ fn subscribe_version_notify_works() { PolkadotNet::execute_with(|| { let r = pallet_xcm::Pallet::::force_subscribe_version_notify( polkadot_runtime::RuntimeOrigin::root(), - Box::new(Parachain(INTERLAY_PARA_ID).into().into()), + Box::new(Parachain(INTERLAY_PARA_ID).into_versioned()), ); assert_ok!(r); }); @@ -506,7 +484,7 @@ fn subscribe_version_notify_works() { parents: 0, interior: X1(Parachain(INTERLAY_PARA_ID)), }, - 2, + 3, ), )); }); @@ -526,7 +504,7 @@ fn subscribe_version_notify_works() { parents: 1, interior: Here, }, - 2, + 3, ), )); }); @@ -567,8 +545,24 @@ fn subscribe_version_notify_works() { fn weigh_xcm(mut message: Xcm, fee_per_second: u128) -> u128 { let trapped_xcm_message_weight = ::Weigher::weight( &mut message).unwrap(); - (fee_per_second * trapped_xcm_message_weight as u128) / WEIGHT_REF_TIME_PER_SECOND as u128 + (fee_per_second * trapped_xcm_message_weight.ref_time() as u128) / WEIGHT_REF_TIME_PER_SECOND as u128 +} + +fn general_key_of(token_symbol: TokenSymbol) -> Junction { + let id = Token(token_symbol); + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } } + #[test] fn trap_assets_works() { let mut intr_treasury_amount = 0; @@ -590,17 +584,11 @@ fn trap_assets_works() { WithdrawAsset(assets.clone().into()), BuyExecution { fees: assets, - weight_limit: Limited(DOT.one() as u64), + weight_limit: Limited(Weight::from_ref_time(DOT.one() as u64)), }, WithdrawAsset( ( - ( - Parent, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))), intr_asset_amount, ) .into(), @@ -617,7 +605,7 @@ fn trap_assets_works() { PolkadotNet::execute_with(|| { assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(INTERLAY_PARA_ID).into(), + Parachain(INTERLAY_PARA_ID), construct_xcm(assets.clone(), intr_asset_amount), )); }); @@ -664,24 +652,13 @@ fn trap_assets_works() { let trapped_intr_amount = trapped_assets .clone() .unwrap() - .drain() + .into_inner() .into_iter() .find_map(|x| match x { MultiAsset { id: AssetId::Concrete(location), fun: Fungibility::Fungible(amount), - } if location - == ( - Parent, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ) - .into() => - { - Some(amount) - } + } if location == (Parent, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))).into() => Some(amount), _ => None, }) .unwrap(); @@ -689,7 +666,7 @@ fn trap_assets_works() { let trapped_dot_amount = trapped_assets .clone() .unwrap() - .drain() + .into_inner() .into_iter() .find_map(|x| match x { MultiAsset { @@ -708,26 +685,15 @@ fn trap_assets_works() { }, BuyExecution { fees: ( - ( - Parent, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ), + (Parent, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))), intr_asset_amount / 4, ) .into(), - weight_limit: Limited(4_000000_000_000), + weight_limit: Limited(Weight::from_ref_time(4_000_000_000_000)), }, DepositAsset { assets: All.into(), - max_assets: 2, - beneficiary: Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), + beneficiary: Junction::AccountId32 { id: BOB, network: None }.into(), }, ]) } @@ -736,7 +702,7 @@ fn trap_assets_works() { PolkadotNet::execute_with(|| { assert_ok!(pallet_xcm::Pallet::::send_xcm( Here, - Parachain(INTERLAY_PARA_ID).into(), + Parachain(INTERLAY_PARA_ID), construct_reclaiming_xcm(trapped_assets.clone(), intr_asset_amount), )); }); @@ -765,16 +731,7 @@ fn register_intr_as_foreign_asset() { name: "Interlay native".as_bytes().to_vec(), symbol: "extINTR".as_bytes().to_vec(), existential_deposit: 0, - location: Some( - MultiLocation::new( - 1, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ) - .into(), - ), + location: Some(MultiLocation::new(1, X2(Parachain(INTERLAY_PARA_ID), general_key_of(INTR))).into()), additional: CustomMetadata { fee_per_second: 1_000_000_000_000, coingecko_id: "interlay".as_bytes().to_vec(), @@ -782,110 +739,3 @@ fn register_intr_as_foreign_asset() { }; AssetRegistry::register_asset(RuntimeOrigin::root(), metadata, None).unwrap(); } - -/// The goal was to write a test to see how reanchoring is dealt with - to see if we would deal with -/// a BuyExecution( MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), -/// GeneralKey(Token(INTR).encode().try_into().unwrap()))) correctly. However it turns out it is not possible to -/// construct a valid xcm message like that: InitiateReserveWithdraw makes sure to reanchor the assets sent over XCM, so -/// trying to buy non-reanchored weight will always fail. -/// This test is left here only because it is a useful reference to see what xtokens::transfer does under the hood. -/// If this becomes a pain to maintain we can remove it. -#[test] -fn test_reanchoring() { - Sibling::execute_with(|| { - register_intr_as_foreign_asset(); - }); - - Interlay::execute_with(|| { - assert_ok!(Tokens::deposit( - Token(INTR), - &AccountId::from(ALICE), - 100_000_000_000_000 - )); - }); - - Interlay::execute_with(|| { - assert_ok!(XTokens::transfer( - RuntimeOrigin::signed(ALICE.into()), - Token(INTR), - 10_000_000_000_000, - Box::new( - MultiLocation::new( - 1, - X2( - Parachain(SIBLING_PARA_ID), - Junction::AccountId32 { - network: NetworkId::Any, - id: BOB.into(), - } - ) - ) - .into() - ), - WeightLimit::Unlimited, - )); - }); - - Sibling::execute_with(|| { - let assets: MultiAssets = vec![MultiAsset { - id: Concrete( - MultiLocation::new( - 1, - X2( - Parachain(INTERLAY_PARA_ID), - GeneralKey(Token(INTR).encode().try_into().unwrap()), - ), - ) - .into(), - ), - fun: Fungible(2_000_000_000_000), - }] - .into(); - - let mut msg = Xcm(vec![ - WithdrawAsset(assets.clone()), - InitiateReserveWithdraw { - assets: All.into(), - reserve: MultiLocation::new(1, X1(Parachain(INTERLAY_PARA_ID))).into(), - xcm: Xcm(vec![ - BuyExecution { - fees: ( - MultiLocation::new(0, X1(GeneralKey(Token(INTR).encode().try_into().unwrap()))), - 2_000_000_000_000, - ) - .into(), - weight_limit: Unlimited, - }, - DepositAsset { - assets: All.into(), - max_assets: 1, - beneficiary: Junction::AccountId32 { - id: ALICE, - network: NetworkId::Any, - } - .into(), - }, - ]), - }, - ]); - let weight = - ::Weigher::weight(&mut msg).unwrap(); - ::XcmExecutor::execute_xcm_in_credit( - Junction::AccountId32 { - id: BOB, - network: NetworkId::Any, - } - .into(), - msg, - weight, - weight, - ) - .ensure_complete() - .unwrap(); - }); - - // check reception - Interlay::execute_with(|| { - assert!(Tokens::free_balance(Token(INTR), &AccountId::from(ALICE)) > 90_000_000_000_000); - }); -} diff --git a/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs b/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs index 39f0dda711..8032f527a1 100644 --- a/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs +++ b/parachain/runtime/runtime-tests/src/relaychain/polkadot_test_net.rs @@ -1,3 +1,4 @@ +use cumulus_primitives_core::MultiLocation; use frame_support::traits::GenesisBuild; pub use interlay_runtime_parachain::{xcm_config::*, *}; use polkadot_primitives::v2::{BlockNumber, MAX_CODE_SIZE, MAX_POV_SIZE}; @@ -23,7 +24,7 @@ decl_test_relay_chain! { decl_test_parachain! { pub struct Interlay { Runtime = Runtime, - Origin = RuntimeOrigin, + RuntimeOrigin = RuntimeOrigin, XcmpMessageHandler = interlay_runtime_parachain::XcmpQueue, DmpMessageHandler = interlay_runtime_parachain::DmpQueue, new_ext = para_ext(INTERLAY_PARA_ID), @@ -33,7 +34,7 @@ decl_test_parachain! { decl_test_parachain! { pub struct Sibling { Runtime = testnet_interlay_runtime_parachain::Runtime, - Origin = testnet_interlay_runtime_parachain::RuntimeOrigin, + RuntimeOrigin = testnet_interlay_runtime_parachain::RuntimeOrigin, XcmpMessageHandler = testnet_interlay_runtime_parachain::XcmpQueue, DmpMessageHandler = testnet_interlay_runtime_parachain::DmpQueue, new_ext = para_ext(SIBLING_PARA_ID), @@ -137,7 +138,7 @@ pub fn polkadot_ext() -> sp_io::TestExternalities { >::assimilate_storage( &pallet_xcm::GenesisConfig { - safe_xcm_version: Some(2), + safe_xcm_version: Some(3), }, &mut t, ) @@ -222,7 +223,15 @@ impl ExtBuilder { .unwrap(); let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); + ext.execute_with(|| { + System::set_block_number(1); + PolkadotXcm::force_xcm_version( + interlay_runtime_parachain::RuntimeOrigin::root(), + Box::new(MultiLocation::parent()), + 3, + ) + .unwrap(); + }); ext } } diff --git a/parachain/runtime/testnet-interlay/src/lib.rs b/parachain/runtime/testnet-interlay/src/lib.rs index 4d7e1b521e..8ac335ae25 100644 --- a/parachain/runtime/testnet-interlay/src/lib.rs +++ b/parachain/runtime/testnet-interlay/src/lib.rs @@ -136,7 +136,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { @@ -172,7 +172,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -235,14 +234,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -683,8 +676,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1206,7 +1199,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, // Treasury: 73 - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1366,6 +1359,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/parachain/runtime/testnet-interlay/src/xcm_config.rs b/parachain/runtime/testnet-interlay/src/xcm_config.rs index 19e56828d8..463b067f6a 100644 --- a/parachain/runtime/testnet-interlay/src/xcm_config.rs +++ b/parachain/runtime/testnet-interlay/src/xcm_config.rs @@ -7,18 +7,17 @@ use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use primitives::{Balance, CurrencyId, CurrencyId::ForeignAsset}; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{ prelude::{AccountId32, *}, Weight, }; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; -use xcm_executor::{Config, XcmExecutor}; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -60,7 +59,7 @@ pub type XcmOriginToTransactDispatchOrigin = ( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); } pub type Barrier = Transactless<( @@ -88,23 +87,33 @@ pub fn xcm_per_second() -> u128 { } parameter_types! { - pub KsmPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), xcm_per_second()); - pub NativePerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KsmPerSecond: (AssetId, u128, u128) = ( + MultiLocation::parent().into(), + xcm_per_second(), + 0, // todo: determine how much to charge per mb of proof + ); + pub NativePerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub WrappedPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub WrappedPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedNativePerSecond: (AssetId, u128) = ( + pub CanonicalizedNativePerSecond: (AssetId, u128, u128) = ( canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedWrappedPerSecond: (AssetId, u128) = ( + pub CanonicalizedWrappedPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToTreasury; @@ -161,6 +170,32 @@ impl WeightTrader for FreeTestExection { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -169,7 +204,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -177,6 +211,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -186,11 +230,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -203,9 +253,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -221,6 +279,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -241,24 +300,25 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -283,9 +343,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -301,13 +365,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -349,7 +413,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -366,9 +430,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/runtime/testnet-kintsugi/src/lib.rs b/parachain/runtime/testnet-kintsugi/src/lib.rs index 48dfb6fce3..b98e4bcd9c 100644 --- a/parachain/runtime/testnet-kintsugi/src/lib.rs +++ b/parachain/runtime/testnet-kintsugi/src/lib.rs @@ -136,7 +136,7 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts( WEIGHT_REF_TIME_PER_SECOND.saturating_div(2), - cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64, + cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64, ); parameter_types! { @@ -172,7 +172,6 @@ impl Contains for BaseCallFilter { if matches!( call, RuntimeCall::System(_) - | RuntimeCall::Authorship(_) | RuntimeCall::Session(_) | RuntimeCall::Timestamp(_) | RuntimeCall::ParachainSystem(_) @@ -235,14 +234,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (CollatorSelection,); } @@ -681,8 +674,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1204,7 +1197,7 @@ construct_runtime! { TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, // Treasury: 73 - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, CollatorSelection: collator_selection::{Pallet, Call, Storage, Event, Config} = 81, Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 82, Aura: pallet_aura::{Pallet, Storage, Config} = 83, @@ -1254,8 +1247,17 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = - frame_executive::Executive, Runtime, AllPalletsWithSystem>; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPalletsWithSystem, + ( + orml_asset_registry::Migration, + orml_unknown_tokens::Migration, + ), +>; #[cfg(not(feature = "disable-runtime-api"))] impl_runtime_apis! { @@ -1364,6 +1366,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")] diff --git a/parachain/runtime/testnet-kintsugi/src/xcm_config.rs b/parachain/runtime/testnet-kintsugi/src/xcm_config.rs index 049e6483ed..7a5b4f1fff 100644 --- a/parachain/runtime/testnet-kintsugi/src/xcm_config.rs +++ b/parachain/runtime/testnet-kintsugi/src/xcm_config.rs @@ -7,15 +7,14 @@ use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; use primitives::{Balance, CurrencyId, CurrencyId::ForeignAsset}; use runtime_common::Transactless; -use sp_runtime::WeakBoundedVec; use xcm::latest::{prelude::*, Weight}; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, LocationInverter, NativeAsset, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SignedToAccountId32, SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, + EnsureXcmOrigin, FixedRateOfFungible, FixedWeightBounds, NativeAsset, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeRevenue, TakeWeightCredit, }; -use xcm_executor::{Config, XcmExecutor}; +use xcm_executor::{traits::WithOriginFilter, XcmExecutor}; parameter_types! { pub const ParentLocation: MultiLocation = MultiLocation::parent(); @@ -57,7 +56,7 @@ pub type XcmOriginToTransactDispatchOrigin = ( parameter_types! { // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub UnitWeightCost: Weight = 200_000_000; + pub UnitWeightCost: Weight = Weight::from_ref_time(200_000_000); } pub type Barrier = Transactless<( @@ -85,23 +84,31 @@ pub fn xcm_per_second() -> u128 { } parameter_types! { - pub KsmPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), xcm_per_second()); - pub NativePerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub KsmPerSecond: (AssetId, u128, u128) = (MultiLocation::parent().into(), xcm_per_second(), + 0, // todo: determine how much to charge per mb of proof +); + pub NativePerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub WrappedPerSecond: (AssetId, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 + pub WrappedPerSecond: (AssetId, u128, u128) = ( // can be removed once we no longer need to support polkadot < 0.9.16 non_canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedNativePerSecond: (AssetId, u128) = ( + pub CanonicalizedNativePerSecond: (AssetId, u128, u128) = ( canonical_currency_location(NATIVE_CURRENCY_ID).into(), - (xcm_per_second() * 4) / 3 + (xcm_per_second() * 4) / 3, + 0, // todo: determine how much to charge per mb of proof ); - pub CanonicalizedWrappedPerSecond: (AssetId, u128) = ( + pub CanonicalizedWrappedPerSecond: (AssetId, u128, u128) = ( canonical_currency_location(WRAPPED_CURRENCY_ID).into(), - xcm_per_second() / 1_500_000 + xcm_per_second() / 1_500_000, + 0, // todo: determine how much to charge per mb of proof ); + pub const RelayNetwork: NetworkId = NetworkId::Kusama; + pub UniversalLocation: InteriorMultiLocation = X2(GlobalConsensus(RelayNetwork::get()), Parachain(ParachainInfo::parachain_id().into())); } pub struct ToTreasury; @@ -158,6 +165,32 @@ impl WeightTrader for FreeTestExection { } } +/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly +/// account for proof size weights. +/// +/// Calls that are allowed through this filter must: +/// 1. Have a fixed weight; +/// 2. Cannot lead to another call being made; +/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters. +pub struct SafeCallFilter; +impl Contains for SafeCallFilter { + fn contains(call: &RuntimeCall) -> bool { + // we need to filter all calls that can recurse. We're being a bit overly conservative here + // by completly blocking the pallets below rather than filter per specific call. + match call { + RuntimeCall::Sudo(..) | RuntimeCall::Proxy(..) | RuntimeCall::Multisig(..) | RuntimeCall::Utility(..) => { + // these calls can recurse - disallow + false + } + RuntimeCall::Issue(..) | RuntimeCall::Replace(..) | RuntimeCall::Redeem(..) | RuntimeCall::BTCRelay(..) => { + // disallow anything to do with btc transactions since btc tx may be unbounded + false + } + _ => true, + } + } +} + impl xcm_executor::Config for XcmConfig { type RuntimeCall = RuntimeCall; type XcmSender = XcmRouter; @@ -166,7 +199,6 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = MultiNativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation - type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = Trader; @@ -174,6 +206,16 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; + type PalletInstancesInfo = AllPalletsWithSystem; + type MaxAssetsIntoHolding = ConstU32<8>; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; + type SafeCallFilter = SafeCallFilter; + type CallDispatcher = WithOriginFilter; + type UniversalLocation = UniversalLocation; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -183,11 +225,17 @@ pub type LocalOriginToLocation = (SignedToAccountId32, + cumulus_primitives_utility::ParentAsUmp, /* note: sets PriceForParentDelivery + * to 0 */ // ..and XCMP to communicate with the sibling chains. XcmpQueue, ); +#[cfg(feature = "runtime-benchmarks")] +parameter_types! { + pub const ReachableDest: MultiLocation = MultiLocation::parent(); +} + impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; type RuntimeCall = RuntimeCall; @@ -200,9 +248,17 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type Currency = NativeCurrency; // note: not used due to the empty CurrencyMatcher + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; + type UniversalLocation = UniversalLocation; + type WeightInfo = pallet_xcm::TestWeightInfo; // todo: use actual weight + #[cfg(feature = "runtime-benchmarks")] + type ReachableDest = ReachableDest; } impl cumulus_pallet_xcm::Config for Runtime { @@ -218,6 +274,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ExecuteOverweightOrigin = EnsureRoot; type ControllerOrigin = EnsureRoot; type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; + type PriceForSiblingDelivery = (); type WeightInfo = (); } @@ -238,24 +295,26 @@ pub type LocalAssetTransactor = MultiCurrencyAdapter< DepositToAlternative, >; +fn general_key_of(id: CurrencyId) -> Junction { + let encoded = id.encode(); + let mut data = [0u8; 32]; + if encoded.len() > 32 { + // we are not returning result, so panic is inevitable. Let's make it explicit. + panic!("Currency ID was too long to be encoded"); + } + data[..encoded.len()].copy_from_slice(&encoded[..]); + GeneralKey { + length: encoded.len() as u8, + data, + } +} + pub fn canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 0, - X1(GeneralKey(WeakBoundedVec::>::force_from( - id.encode(), - None, - ))), - ) + MultiLocation::new(0, X1(general_key_of(id))) } pub fn non_canonical_currency_location(id: CurrencyId) -> MultiLocation { - MultiLocation::new( - 1, - X2( - Parachain(ParachainInfo::get().into()), - GeneralKey(WeakBoundedVec::>::force_from(id.encode(), None)), - ), - ) + MultiLocation::new(1, X2(Parachain(ParachainInfo::get().into()), general_key_of(id))) } pub use currency_id_convert::CurrencyIdConvert; @@ -280,9 +339,13 @@ mod currency_id_convert { impl Convert> for CurrencyIdConvert { fn convert(location: MultiLocation) -> Option { - fn decode_currency_id(key: Vec) -> Option { + fn decode_currency_id(length: u8, data: [u8; 32]) -> Option { + let length = length as usize; + if length > data.len() { + return None; + } // decode the general key - if let Ok(currency_id) = CurrencyId::decode(&mut &key[..]) { + if let Ok(currency_id) = CurrencyId::decode(&mut &data[..length]) { // check `currency_id` is cross-chain asset match currency_id { WRAPPED_CURRENCY_ID => Some(currency_id), @@ -298,13 +361,13 @@ mod currency_id_convert { x if x == MultiLocation::parent() => Some(PARENT_CURRENCY_ID), MultiLocation { parents: 1, - interior: X2(Parachain(id), GeneralKey(key)), - } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(key.into_inner()), + interior: X2(Parachain(id), GeneralKey { length, data }), + } if ParaId::from(id) == ParachainInfo::get() => decode_currency_id(length, data), MultiLocation { // adapt for reanchor canonical location: https://github.com/paritytech/polkadot/pull/4470 parents: 0, - interior: X1(GeneralKey(key)), - } => decode_currency_id(key.into_inner()), + interior: X1(GeneralKey { length, data }), + } => decode_currency_id(length, data), _ => None, } .or_else(|| AssetRegistry::location_to_asset_id(&location).map(|id| CurrencyId::ForeignAsset(id))) @@ -346,7 +409,7 @@ pub struct AccountIdToMultiLocation; impl Convert for AccountIdToMultiLocation { fn convert(account: AccountId) -> MultiLocation { X1(AccountId32 { - network: NetworkId::Any, + network: None, id: account.into(), }) .into() @@ -363,9 +426,9 @@ impl orml_xtokens::Config for Runtime { type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type BaseXcmWeight = UnitWeightCost; - type LocationInverter = ::LocationInverter; type MaxAssetsForTransfer = MaxAssetsForTransfer; type MinXcmFee = ParachainMinFee; type MultiLocationsFilter = Everything; type ReserveProvider = AbsoluteReserveProvider; + type UniversalLocation = UniversalLocation; } diff --git a/parachain/src/service.rs b/parachain/src/service.rs index 4262eb4256..026a0d73f1 100644 --- a/parachain/src/service.rs +++ b/parachain/src/service.rs @@ -8,7 +8,7 @@ use cumulus_client_service::{ use cumulus_primitives_core::ParaId; use cumulus_primitives_parachain_inherent::{MockValidationDataInherentDataProvider, MockXcmConfig}; use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain; -use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult}; +use cumulus_relay_chain_interface::{RelayChainInterface, RelayChainResult}; use cumulus_relay_chain_minimal_node::build_minimal_relay_chain_node; use polkadot_service::CollatorPair; @@ -353,10 +353,7 @@ where collator_options.clone(), ) .await - .map_err(|e| match e { - RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x, - s => format!("{}", s).into(), - })?; + .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?; let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id); diff --git a/standalone/runtime/src/lib.rs b/standalone/runtime/src/lib.rs index 4ee5d1ca78..9db055aefa 100644 --- a/standalone/runtime/src/lib.rs +++ b/standalone/runtime/src/lib.rs @@ -230,14 +230,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - impl pallet_authorship::Config for Runtime { type FindAuthor = AuraAccountAdapter; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (); } @@ -254,6 +248,7 @@ impl FindAuthor for AuraAccountAdapter { parameter_types! { pub const MaxAuthorities: u32 = 32; + pub const MaxSetIdSessionEntries: u32 = 0; } impl pallet_aura::Config for Runtime { @@ -271,6 +266,7 @@ impl pallet_grandpa::Config for Runtime { type HandleEquivocation = (); type WeightInfo = (); type MaxAuthorities = MaxAuthorities; + type MaxSetIdSessionEntries = MaxSetIdSessionEntries; } parameter_types! { @@ -1042,8 +1038,8 @@ impl EnsureOriginWithArg> for AssetAuthority { } #[cfg(feature = "runtime-benchmarks")] - fn successful_origin(_asset_id: &Option) -> RuntimeOrigin { - EnsureRoot::successful_origin() + fn try_successful_origin(_: &Option) -> Result { + EnsureRoot::try_successful_origin() } } @@ -1146,7 +1142,7 @@ construct_runtime! { TechnicalCommittee: pallet_collective::::{Pallet, Call, Storage, Origin, Event, Config} = 71, TechnicalMembership: pallet_membership::{Pallet, Call, Storage, Event, Config} = 72, - Authorship: pallet_authorship::{Pallet, Call, Storage} = 80, + Authorship: pallet_authorship::{Pallet, Storage} = 80, Aura: pallet_aura::{Pallet, Config} = 81, Grandpa: pallet_grandpa::{Pallet, Call, Storage, Config, Event} = 82, @@ -1314,6 +1310,14 @@ impl_runtime_apis! { ) -> pallet_transaction_payment_rpc_runtime_api::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } #[cfg(feature = "runtime-benchmarks")]