diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 816b62c62..1ff35079f 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - rust: [nightly-2022-07-24] + rust: [nightly-2022-11-15] # Steps represent a sequence of tasks that will be executed as part of the job steps: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f42297cf..50830ec19 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,7 +49,7 @@ jobs: strategy: matrix: os: [self-hosted] - rust: [nightly-2022-07-24] + rust: [nightly-2022-11-15] # Steps represent a sequence of tasks that will be executed as part of the job steps: diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 93a75e3f8..6d40c7b3d 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -64,7 +64,7 @@ jobs: uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly-2022-07-24 + toolchain: nightly-2022-11-15 components: rustfmt target: wasm32-unknown-unknown default: true @@ -75,7 +75,7 @@ jobs: run: | wget https://github.com/xd009642/tarpaulin/releases/download/${{ env.TARPAULIN_VERSION }}/cargo-tarpaulin-${{ env.TARPAULIN_VERSION }}-travis.tar.gz tar -zxvf cargo-tarpaulin-${{ env.TARPAULIN_VERSION }}-travis.tar.gz -C $HOME/.cargo/bin - cargo +nightly-2022-07-24 tarpaulin --verbose --no-fail-fast \ + cargo +nightly-2022-11-15 tarpaulin --verbose --no-fail-fast \ -p pallet-loans \ -p pallet-liquid-staking \ -p pallet-farming \ diff --git a/.github/workflows/extrinsic-ordering-check.yml b/.github/workflows/extrinsic-ordering-check.yml index 6cbbc0dc1..c2e746062 100644 --- a/.github/workflows/extrinsic-ordering-check.yml +++ b/.github/workflows/extrinsic-ordering-check.yml @@ -30,14 +30,14 @@ jobs: uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly-2022-07-24 + toolchain: nightly-2022-11-15 components: rustfmt, clippy override: true - name: Install wasm32-unknown-unknown uses: actions-rs/toolchain@v1 with: - toolchain: nightly-2022-07-24 + toolchain: nightly-2022-11-15 target: wasm32-unknown-unknown override: true - name: Install Protoc diff --git a/.github/workflows/rustdoc.yml b/.github/workflows/rustdoc.yml index e61cb8620..c5243e8f9 100644 --- a/.github/workflows/rustdoc.yml +++ b/.github/workflows/rustdoc.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - rust: [nightly-2022-07-24] + rust: [nightly-2022-11-15] steps: - name: Checkout Repository diff --git a/.github/workflows/try-runtime.yml b/.github/workflows/try-runtime.yml index dd4067c8c..12226e132 100644 --- a/.github/workflows/try-runtime.yml +++ b/.github/workflows/try-runtime.yml @@ -52,7 +52,7 @@ jobs: uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly-2022-07-24 + toolchain: nightly-2022-11-15 components: rustfmt target: wasm32-unknown-unknown default: true diff --git a/Cargo.lock b/Cargo.lock index 06bfc2970..ccd2ee7b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.0", + "gimli 0.27.2", ] [[package]] @@ -51,7 +51,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", "opaque-debug 0.3.0", @@ -117,9 +117,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "approx" @@ -137,19 +137,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" [[package]] -name = "arrayref" -version = "0.3.6" +name = "array-bytes" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "22f72e9d6fac4bc80778ea470b20197b88d28c292bb7d60c3fb099280003cd19" [[package]] -name = "arrayvec" -version = "0.4.12" +name = "arrayref" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" @@ -265,7 +262,7 @@ dependencies = [ "async-lock", "autocfg", "blocking", - "cfg-if 1.0.0", + "cfg-if", "event-listener", "futures-lite", "libc", @@ -284,7 +281,6 @@ dependencies = [ "async-global-executor", "async-io", "async-lock", - "async-process", "crossbeam-utils", "futures-channel", "futures-core", @@ -301,21 +297,6 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "async-std-resolver" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba50e24d9ee0a8950d3d03fc6d0dd10aa14b5de3b101949b4e160f7fee7c723" -dependencies = [ - "async-std", - "async-trait", - "futures-io", - "futures-util", - "pin-utils", - "socket2", - "trust-dns-resolver", -] - [[package]] name = "async-task" version = "4.3.0" @@ -324,11 +305,11 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.61" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -363,18 +344,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "auto_impl" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7862e21c893d65a1650125d157eaeec691439379a1cee17ee49031b79236ada4" -dependencies = [ - "proc-macro-error", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", -] - [[package]] name = "auto_impl" version = "1.0.1" @@ -382,7 +351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a8c1df849285fbacd587de7818cc7d13be6cd2cbcd47a04fb1801b0e2706e33" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -393,20 +362,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "futures-core", - "getrandom 0.2.8", - "instant", - "pin-project-lite 0.2.9", - "rand 0.8.5", - "tokio", -] - [[package]] name = "backtrace" version = "0.3.67" @@ -415,10 +370,10 @@ checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ "addr2line 0.19.0", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", - "object 0.30.2", + "object 0.30.3", "rustc-demangle", ] @@ -470,13 +425,12 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "async-trait", - "beefy-primitives", "fnv", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -493,6 +447,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-arithmetic", + "sp-beefy", "sp-blockchain", "sp-consensus", "sp-core", @@ -507,11 +462,10 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "beefy-gadget", - "beefy-primitives", - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -519,6 +473,7 @@ dependencies = [ "sc-rpc", "sc-utils", "serde", + "sp-beefy", "sp-core", "sp-runtime", "thiserror", @@ -527,28 +482,11 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "beefy-primitives", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "beefy-primitives" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-mmr-primitives", + "sp-beefy", "sp-runtime", - "sp-std", ] [[package]] @@ -562,9 +500,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.60.1" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" +checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" dependencies = [ "bitflags", "cexpr", @@ -572,11 +510,12 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "regex", "rustc-hash", "shlex", + "syn 1.0.107", ] [[package]] @@ -606,36 +545,26 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq 0.1.5", -] - [[package]] name = "blake2b_simd" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" +checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" +checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "constant_time_eq", ] [[package]] @@ -647,8 +576,8 @@ dependencies = [ "arrayref", "arrayvec 0.7.2", "cc", - "cfg-if 1.0.0", - "constant_time_eq 0.2.4", + "cfg-if", + "constant_time_eq", "digest 0.10.6", ] @@ -733,9 +662,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" +checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" dependencies = [ "memchr", "serde", @@ -776,9 +705,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bzip2-sys" @@ -824,9 +753,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" dependencies = [ "jobserver", ] @@ -849,12 +778,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - [[package]] name = "cfg-if" version = "1.0.0" @@ -873,7 +796,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", "zeroize", @@ -931,18 +854,18 @@ dependencies = [ [[package]] name = "ckb-merkle-mountain-range" -version = "0.3.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f061f97d64fd1822664bdfb722f7ae5469a97b77567390f7442be5b5dc82a5b" +checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8" dependencies = [ - "cfg-if 0.1.10", + "cfg-if", ] [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" dependencies = [ "glob", "libc", @@ -951,9 +874,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.1" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec7a4128863c188deefe750ac1d1dfe66c236909f845af04beed823638dc1b2" +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" dependencies = [ "bitflags", "clap_derive", @@ -972,7 +895,7 @@ checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -1042,15 +965,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "constant_time_eq" @@ -1095,7 +1012,17 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", +] + +[[package]] +name = "cpu-time" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded" +dependencies = [ + "libc", + "winapi", ] [[package]] @@ -1211,7 +1138,7 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1220,7 +1147,7 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] @@ -1230,7 +1157,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] @@ -1242,7 +1169,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", "memoffset 0.7.1", "scopeguard", @@ -1254,7 +1181,7 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] @@ -1264,7 +1191,7 @@ version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1275,9 +1202,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -1337,7 +1264,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "clap", "parity-scale-codec", @@ -1352,12 +1279,12 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-primitives-core", - "futures 0.3.25", + "futures 0.3.26", "parity-scale-codec", "parking_lot 0.12.1", "polkadot-node-primitives", @@ -1375,12 +1302,12 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-client-consensus-common", "cumulus-primitives-core", - "futures 0.3.25", + "futures 0.3.26", "parity-scale-codec", "sc-client-api", "sc-consensus", @@ -1404,12 +1331,15 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", + "cumulus-client-pov-recovery", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "dyn-clone", - "futures 0.3.25", + "futures 0.3.26", + "log", "parity-scale-codec", "polkadot-primitives", "sc-client-api", @@ -1424,13 +1354,13 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-client-consensus-common", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures 0.3.25", + "futures 0.3.26", "parking_lot 0.12.1", "sc-consensus", "sp-api", @@ -1447,11 +1377,11 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-relay-chain-interface", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "parking_lot 0.12.1", @@ -1470,11 +1400,11 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "polkadot-node-primitives", @@ -1493,19 +1423,24 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-pov-recovery", "cumulus-primitives-core", + "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", + "cumulus-relay-chain-minimal-node", + "futures 0.3.26", "parking_lot 0.12.1", "polkadot-primitives", "sc-client-api", "sc-consensus", "sc-service", + "sc-sysinfo", + "sc-telemetry", "sp-api", "sp-blockchain", "sp-consensus", @@ -1516,7 +1451,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "frame-support", "frame-system", @@ -1532,7 +1467,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1549,7 +1484,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1577,10 +1512,10 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -1588,8 +1523,9 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "pallet-session", @@ -1601,7 +1537,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1617,7 +1553,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -1636,7 +1572,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1651,7 +1587,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1674,10 +1610,10 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", - "futures 0.3.25", + "futures 0.3.26", "parity-scale-codec", "sp-inherents", "sp-std", @@ -1687,7 +1623,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1703,12 +1639,12 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "polkadot-cli", "polkadot-client", @@ -1728,11 +1664,11 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-primitives-core", - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", @@ -1742,24 +1678,23 @@ dependencies = [ "sp-blockchain", "sp-state-machine", "thiserror", + "tokio", ] [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ - "array-bytes", + "array-bytes 6.0.0", "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", - "futures 0.3.25", - "lru 0.8.1", - "polkadot-availability-distribution", + "futures 0.3.26", + "lru", "polkadot-core-primitives", "polkadot-network-bridge", - "polkadot-node-core-av-store", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", @@ -1771,8 +1706,6 @@ dependencies = [ "sc-keystore", "sc-network", "sc-network-common", - "sc-network-light", - "sc-network-sync", "sc-service", "sc-telemetry", "sc-tracing", @@ -1791,24 +1724,25 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", - "backoff", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "jsonrpsee", + "lru", "parity-scale-codec", "polkadot-service", "sc-client-api", "sc-rpc-api", + "serde", + "serde_json", "sp-api", "sp-authority-discovery", "sp-consensus-babe", "sp-core", - "sp-runtime", "sp-state-machine", "sp-storage", "tokio", @@ -1819,7 +1753,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -1857,11 +1791,11 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-pre.5" +version = "4.0.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67bc65846be335cb20f4e52d49a437b773a2c1fdb42b19fc84e79e6f6771536f" +checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fiat-crypto", "packed_simd_2", "platforms 3.0.2", @@ -1871,9 +1805,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -1883,14 +1817,14 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", "once_cell", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "scratch", "syn 1.0.107", @@ -1898,17 +1832,17 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -1941,11 +1875,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -1954,7 +1889,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -1980,7 +1915,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "rustc_version 0.4.0", "syn 1.0.107", @@ -2036,7 +1971,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "dirs-sys-next", ] @@ -2106,7 +2041,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -2119,9 +2054,9 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -2168,19 +2103,20 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -2203,7 +2139,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" dependencies = [ "heck", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -2223,7 +2159,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -2234,7 +2170,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -2292,20 +2228,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ethbloom" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11da94e443c60508eb62cf256243a64da87304c2802ac2528847f79d750007ef" -dependencies = [ - "crunchy", - "fixed-hash 0.7.0", - "impl-codec", - "impl-rlp", - "scale-info", - "tiny-keccak", -] - [[package]] name = "ethbloom" version = "0.13.0" @@ -2313,7 +2235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ "crunchy", - "fixed-hash 0.8.0", + "fixed-hash", "impl-codec", "impl-rlp", "impl-serde", @@ -2321,24 +2243,6 @@ dependencies = [ "tiny-keccak", ] -[[package]] -name = "ethereum" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23750149fe8834c0e24bb9adcbacbe06c45b9861f15df53e09f26cb7c4ab91ef" -dependencies = [ - "bytes", - "ethereum-types 0.13.1", - "hash-db", - "hash256-std-hasher", - "parity-scale-codec", - "rlp", - "rlp-derive", - "scale-info", - "sha3 0.10.6", - "triehash", -] - [[package]] name = "ethereum" version = "0.14.0" @@ -2346,7 +2250,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a89fb87a9e103f71b903b80b670200b54cc67a07578f070681f1fffb7396fb7" dependencies = [ "bytes", - "ethereum-types 0.14.1", + "ethereum-types", "hash-db", "hash256-std-hasher", "parity-scale-codec", @@ -2357,33 +2261,18 @@ dependencies = [ "triehash", ] -[[package]] -name = "ethereum-types" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2827b94c556145446fcce834ca86b7abf0c39a805883fe20e72c5bfdb5a0dc6" -dependencies = [ - "ethbloom 0.12.1", - "fixed-hash 0.7.0", - "impl-codec", - "impl-rlp", - "primitive-types 0.11.1", - "scale-info", - "uint", -] - [[package]] name = "ethereum-types" version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ - "ethbloom 0.13.0", - "fixed-hash 0.8.0", + "ethbloom", + "fixed-hash", "impl-codec", "impl-rlp", "impl-serde", - "primitive-types 0.12.1", + "primitive-types", "scale-info", "uint", ] @@ -2394,106 +2283,61 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -[[package]] -name = "evm" -version = "0.35.0" -source = "git+https://github.com/rust-blockchain/evm?rev=01bcbd2205a212c34451d3b4fabc962793b057d3#01bcbd2205a212c34451d3b4fabc962793b057d3" -dependencies = [ - "auto_impl 0.5.0", - "ethereum 0.12.0", - "evm-core 0.35.0", - "evm-gasometer 0.35.0", - "evm-runtime 0.35.0", - "log", - "parity-scale-codec", - "primitive-types 0.11.1", - "rlp", - "scale-info", - "sha3 0.10.6", -] - [[package]] name = "evm" version = "0.37.0" -source = "git+https://github.com/rust-blockchain/evm?rev=6274e6dd2d43ea84a52573f871fe62047d314e22#6274e6dd2d43ea84a52573f871fe62047d314e22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4448c65b71e8e2b9718232d84d09045eeaaccb2320494e6bd6dbf7e58fec8ff" dependencies = [ - "auto_impl 1.0.1", + "auto_impl", "environmental", - "ethereum 0.14.0", - "evm-core 0.37.0", - "evm-gasometer 0.37.0", - "evm-runtime 0.37.0", + "ethereum", + "evm-core", + "evm-gasometer", + "evm-runtime", "log", "parity-scale-codec", - "primitive-types 0.12.1", + "primitive-types", "rlp", "scale-info", "serde", "sha3 0.10.6", ] -[[package]] -name = "evm-core" -version = "0.35.0" -source = "git+https://github.com/rust-blockchain/evm?rev=01bcbd2205a212c34451d3b4fabc962793b057d3#01bcbd2205a212c34451d3b4fabc962793b057d3" -dependencies = [ - "parity-scale-codec", - "primitive-types 0.11.1", - "scale-info", -] - [[package]] name = "evm-core" version = "0.37.0" -source = "git+https://github.com/rust-blockchain/evm?rev=6274e6dd2d43ea84a52573f871fe62047d314e22#6274e6dd2d43ea84a52573f871fe62047d314e22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c51bec0eb68a891c2575c758eaaa1d61373fc51f7caaf216b1fb5c3fea3b5d" dependencies = [ "parity-scale-codec", - "primitive-types 0.12.1", + "primitive-types", "scale-info", "serde", ] -[[package]] -name = "evm-gasometer" -version = "0.35.0" -source = "git+https://github.com/rust-blockchain/evm?rev=01bcbd2205a212c34451d3b4fabc962793b057d3#01bcbd2205a212c34451d3b4fabc962793b057d3" -dependencies = [ - "evm-core 0.35.0", - "evm-runtime 0.35.0", - "primitive-types 0.11.1", -] - [[package]] name = "evm-gasometer" version = "0.37.0" -source = "git+https://github.com/rust-blockchain/evm?rev=6274e6dd2d43ea84a52573f871fe62047d314e22#6274e6dd2d43ea84a52573f871fe62047d314e22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8b93c59c54fc26522d842f0e0d3f8e8be331c776df18ff3e540b53c2f64d509" dependencies = [ "environmental", - "evm-core 0.37.0", - "evm-runtime 0.37.0", - "primitive-types 0.12.1", -] - -[[package]] -name = "evm-runtime" -version = "0.35.0" -source = "git+https://github.com/rust-blockchain/evm?rev=01bcbd2205a212c34451d3b4fabc962793b057d3#01bcbd2205a212c34451d3b4fabc962793b057d3" -dependencies = [ - "auto_impl 0.5.0", - "evm-core 0.35.0", - "primitive-types 0.11.1", - "sha3 0.10.6", + "evm-core", + "evm-runtime", + "primitive-types", ] [[package]] name = "evm-runtime" version = "0.37.0" -source = "git+https://github.com/rust-blockchain/evm?rev=6274e6dd2d43ea84a52573f871fe62047d314e22#6274e6dd2d43ea84a52573f871fe62047d314e22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c79b9459ce64f1a28688397c4013764ce53cd57bb84efc16b5187fa9b05b13ad" dependencies = [ - "auto_impl 1.0.1", + "auto_impl", "environmental", - "evm-core 0.37.0", - "primitive-types 0.12.1", + "evm-core", + "primitive-types", "sha3 0.10.6", ] @@ -2503,7 +2347,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", ] [[package]] @@ -2514,7 +2358,7 @@ checksum = "a718c0675c555c5f976fff4ea9e2c150fa06cefa201cadef87cfbf9324075881" dependencies = [ "blake3", "fs-err", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", ] @@ -2526,7 +2370,7 @@ checksum = "3774182a5df13c3d1690311ad32fbe913feef26baba609fa2dd5f72042bd2ab6" dependencies = [ "blake2", "fs-err", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -2551,9 +2395,9 @@ checksum = "51e2ce894d53b295cf97b05685aa077950ff3e8541af83217fc720a6437169f8" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -2577,7 +2421,7 @@ dependencies = [ "expander 0.0.4", "indexmap", "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "thiserror", @@ -2586,7 +2430,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "async-trait", "fc-db", @@ -2605,7 +2449,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-storage", "kvdb-rocksdb", @@ -2624,12 +2468,12 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fc-db", "fp-consensus", "fp-rpc", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "sc-client-api", @@ -2641,23 +2485,23 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", - "ethereum-types 0.14.1", - "evm 0.37.0", + "ethereum", + "ethereum-types", + "evm", "fc-db", "fc-rpc-core", "fp-ethereum", "fp-evm", "fp-rpc", "fp-storage", - "futures 0.3.25", + "futures 0.3.26", "hex", "jsonrpsee", "libsecp256k1", "log", - "lru 0.8.1", + "lru", "parity-scale-codec", "prometheus", "rand 0.8.5", @@ -2684,10 +2528,10 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", - "ethereum-types 0.14.1", + "ethereum", + "ethereum-types", "jsonrpsee", "rlp", "rustc-hex", @@ -2706,9 +2550,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -2732,14 +2576,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.19" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2749,7 +2593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" dependencies = [ "either", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "num-traits", @@ -2758,17 +2602,6 @@ dependencies = [ "scale-info", ] -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rustc-hex", - "static_assertions", -] - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2816,7 +2649,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", ] @@ -2833,9 +2666,9 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", + "ethereum", "parity-scale-codec", "sp-core", "sp-runtime", @@ -2845,7 +2678,7 @@ dependencies = [ [[package]] name = "fp-dynamic-fee" version = "1.0.0" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "async-trait", "sp-core", @@ -2855,10 +2688,10 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", - "ethereum-types 0.14.1", + "ethereum", + "ethereum-types", "fp-evm", "frame-support", "num_enum", @@ -2870,9 +2703,9 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "evm 0.37.0", + "evm", "frame-support", "parity-scale-codec", "serde", @@ -2883,10 +2716,10 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", - "ethereum-types 0.14.1", + "ethereum", + "ethereum-types", "fp-evm", "parity-scale-codec", "scale-info", @@ -2900,12 +2733,11 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", + "ethereum", "frame-support", "parity-scale-codec", - "parity-util-mem", "scale-info", "serde", "sp-runtime", @@ -2914,7 +2746,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "parity-scale-codec", "serde", @@ -2929,7 +2761,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -2952,10 +2784,10 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "Inflector", - "array-bytes", + "array-bytes 4.2.0", "chrono", "clap", "comfy-table", @@ -2993,6 +2825,7 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-state-machine", + "sp-std", "sp-storage", "sp-trie", "tempfile", @@ -3003,10 +2836,10 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -3014,7 +2847,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3022,6 +2855,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", + "sp-core", "sp-npos-elections", "sp-runtime", "sp-std", @@ -3030,7 +2864,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -3050,16 +2884,35 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "parity-scale-codec", "scale-info", "serde", ] +[[package]] +name = "frame-remote-externalities" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "env_logger 0.9.3", + "futures 0.3.26", + "log", + "parity-scale-codec", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", + "substrate-rpc-client", + "tokio", +] + [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "bitflags", "frame-metadata", @@ -3091,13 +2944,13 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "Inflector", "cfg-expr", "frame-support-procedural-tools", "itertools", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -3105,11 +2958,11 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -3117,9 +2970,9 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -3127,7 +2980,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "log", @@ -3145,7 +2998,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -3160,7 +3013,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-api", @@ -3169,7 +3022,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "parity-scale-codec", @@ -3194,12 +3047,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "fs_extra" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" - [[package]] name = "funty" version = "2.0.0" @@ -3214,9 +3061,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -3229,9 +3076,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -3239,15 +3086,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -3257,9 +3104,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -3278,11 +3125,11 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -3300,27 +3147,31 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper", +] [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures 0.1.31", "futures-channel", @@ -3379,7 +3230,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -3392,7 +3243,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -3420,9 +3271,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" [[package]] name = "glob" @@ -3437,17 +3288,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" dependencies = [ "aho-corasick", - "bstr 1.1.0", + "bstr 1.2.0", "fnv", "log", "regex", ] +[[package]] +name = "gloo-net" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "gloo-timers" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" dependencies = [ "futures-channel", "futures-core", @@ -3455,11 +3326,24 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gloo-utils" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -3525,9 +3409,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "heiko-runtime" @@ -3652,6 +3536,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + [[package]] name = "hex" version = "0.4.3" @@ -3684,6 +3574,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -3708,9 +3607,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -3728,6 +3627,12 @@ dependencies = [ "pin-project-lite 0.2.9", ] +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + [[package]] name = "httparse" version = "1.8.0" @@ -3748,9 +3653,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -3783,6 +3688,7 @@ dependencies = [ "rustls-native-certs", "tokio", "tokio-rustls", + "webpki-roots", ] [[package]] @@ -3849,7 +3755,7 @@ dependencies = [ "async-io", "core-foundation", "fnv", - "futures 0.3.25", + "futures 0.3.26", "if-addrs", "ipnet", "log", @@ -3891,7 +3797,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -3913,7 +3819,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -3939,12 +3845,12 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -3973,14 +3879,14 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" dependencies = [ - "hermit-abi 0.2.6", - "io-lifetimes 1.0.4", - "rustix 0.36.6", - "windows-sys 0.42.0", + "hermit-abi 0.3.1", + "io-lifetimes 1.0.5", + "rustix 0.36.8", + "windows-sys 0.45.0", ] [[package]] @@ -4009,35 +3915,41 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ + "jsonrpsee-client-transport", "jsonrpsee-core", - "jsonrpsee-http-server", + "jsonrpsee-http-client", "jsonrpsee-proc-macros", + "jsonrpsee-server", "jsonrpsee-types", + "jsonrpsee-wasm-client", "jsonrpsee-ws-client", - "jsonrpsee-ws-server", "tracing", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ + "anyhow", + "futures-channel", + "futures-timer", "futures-util", + "gloo-net", "http", "jsonrpsee-core", "jsonrpsee-types", @@ -4054,9 +3966,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "arrayvec 0.7.2", @@ -4067,10 +3979,8 @@ dependencies = [ "futures-timer", "futures-util", "globset", - "http", "hyper", "jsonrpsee-types", - "lazy_static", "parking_lot 0.12.1", "rand 0.8.5", "rustc-hash", @@ -4080,45 +3990,68 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", - "unicase", + "wasm-bindgen-futures", ] [[package]] -name = "jsonrpsee-http-server" -version = "0.15.1" +name = "jsonrpsee-http-client" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03802f0373a38c2420c70b5144742d800b509e2937edc4afb116434f07120117" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" +dependencies = [ + "heck", + "proc-macro-crate", + "proc-macro2 1.0.51", + "quote 1.0.23", + "syn 1.0.107", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc" dependencies = [ "futures-channel", "futures-util", + "http", "hyper", "jsonrpsee-core", "jsonrpsee-types", "serde", "serde_json", + "soketto", "tokio", + "tokio-stream", + "tokio-util", + "tower", "tracing", - "tracing-futures", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd67957d4280217247588ac86614ead007b301ca2fa9f19c19f880a536f029e3" -dependencies = [ - "proc-macro-crate", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -4129,47 +4062,38 @@ dependencies = [ ] [[package]] -name = "jsonrpsee-ws-client" -version = "0.15.1" +name = "jsonrpsee-wasm-client" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff" +checksum = "a77310456f43c6c89bcba1f6b2fc2a28300da7c341f320f5128f8c83cc63232d" dependencies = [ - "http", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", ] [[package]] -name = "jsonrpsee-ws-server" -version = "0.15.1" +name = "jsonrpsee-ws-client" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d488ba74fb369e5ab68926feb75a483458b88e768d44319f37e4ecad283c7325" +checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" dependencies = [ - "futures-channel", - "futures-util", "http", + "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", - "serde_json", - "soketto", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "tracing-futures", ] [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -4289,10 +4213,9 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -4319,13 +4242,13 @@ dependencies = [ "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", "pallet-fast-unstake", - "pallet-gilt", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", "pallet-membership", "pallet-multisig", + "pallet-nis", "pallet-nomination-pools", "pallet-nomination-pools-benchmarking", "pallet-nomination-pools-runtime-api", @@ -4341,7 +4264,6 @@ dependencies = [ "pallet-session-benchmarking", "pallet-society", "pallet-staking", - "pallet-staking-reward-fn", "pallet-timestamp", "pallet-tips", "pallet-transaction-payment", @@ -4364,6 +4286,7 @@ dependencies = [ "sp-api", "sp-arithmetic", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -4387,8 +4310,8 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -4410,35 +4333,31 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585089ceadba0197ffe9af6740ab350b325e3c1f5fccfbc3522e0250c750409b" +checksum = "e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9" dependencies = [ - "parity-util-mem", "smallvec", ] [[package]] name = "kvdb-memorydb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d109c87bfb7759edd2a49b2649c1afe25af785d930ad6a38479b4dc70dd873" +checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parity-util-mem", "parking_lot 0.12.1", ] [[package]] name = "kvdb-rocksdb" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c076cc2cdbac89b9910c853a36c957d3862a779f31c2661174222cefb49ee597" +checksum = "2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844" dependencies = [ "kvdb", - "log", "num_cpus", - "parity-util-mem", "parking_lot 0.12.1", "regex", "rocksdb", @@ -4472,7 +4391,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "winapi", ] @@ -4495,7 +4414,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec878fda12ebec479186b3914ebc48ff180fa4c51847e11a1a68bf65249e02c1" dependencies = [ "bytes", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "getrandom 0.2.8", "instant", @@ -4533,7 +4452,7 @@ dependencies = [ "ed25519-dalek", "either", "fnv", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "instant", "lazy_static", @@ -4561,8 +4480,7 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" dependencies = [ - "async-std-resolver", - "futures 0.3.25", + "futures 0.3.26", "libp2p-core", "log", "parking_lot 0.12.1", @@ -4577,12 +4495,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcf9a121f699e8719bda2e6e9e9b6ddafc6cff4602471d6481c1067930ccb29b" dependencies = [ "asynchronous-codec", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "libp2p-core", "libp2p-swarm", "log", - "lru 0.8.1", + "lru", "prost", "prost-build", "prost-codec", @@ -4602,7 +4520,7 @@ dependencies = [ "bytes", "either", "fnv", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "instant", "libp2p-core", @@ -4625,10 +4543,9 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" dependencies = [ - "async-io", "data-encoding", "dns-parser", - "futures 0.3.25", + "futures 0.3.26", "if-watch", "libp2p-core", "libp2p-swarm", @@ -4636,6 +4553,7 @@ dependencies = [ "rand 0.8.5", "smallvec", "socket2", + "tokio", "void", ] @@ -4661,7 +4579,7 @@ checksum = "692664acfd98652de739a8acbb0a0d670f1d67190a49be6b4395e22c37337d89" dependencies = [ "asynchronous-codec", "bytes", - "futures 0.3.25", + "futures 0.3.26", "libp2p-core", "log", "nohash-hasher", @@ -4679,7 +4597,7 @@ checksum = "048155686bd81fe6cb5efdef0c6290f25ad32a0a42e8f4f72625cf6a505a206f" dependencies = [ "bytes", "curve25519-dalek 3.2.0", - "futures 0.3.25", + "futures 0.3.26", "lazy_static", "libp2p-core", "log", @@ -4699,7 +4617,7 @@ version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7228b9318d34689521349a86eb39a3c3a802c9efc99a0568062ffb80913e3f91" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "instant", "libp2p-core", @@ -4717,7 +4635,7 @@ checksum = "8827af16a017b65311a410bb626205a9ad92ec0473967618425039fa5231adc1" dependencies = [ "async-trait", "bytes", - "futures 0.3.25", + "futures 0.3.26", "instant", "libp2p-core", "libp2p-swarm", @@ -4735,7 +4653,7 @@ checksum = "46d13df7c37807965d82930c0e4b04a659efcb6cca237373b206043db5398ecf" dependencies = [ "either", "fnv", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "instant", "libp2p-core", @@ -4764,14 +4682,14 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" dependencies = [ - "async-io", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "if-watch", "libc", "libp2p-core", "log", "socket2", + "tokio", ] [[package]] @@ -4780,7 +4698,7 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a17b5b8e7a73e379e47b1b77f8a82c4721e97eca01abcd18e9cd91a23ca6ce97" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "js-sys", "libp2p-core", "parity-send-wrapper", @@ -4795,7 +4713,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3758ae6f89b2531a24b6d9f5776bda6a626b60a57600d7185d43dfa75ca5ecc4" dependencies = [ "either", - "futures 0.3.25", + "futures 0.3.26", "futures-rustls", "libp2p-core", "log", @@ -4813,7 +4731,7 @@ version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6874d66543c4f7e26e3b8ca9a6bead351563a13ab4fafd43c7927f7c0d6c12" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "libp2p-core", "log", "parking_lot 0.12.1", @@ -4823,9 +4741,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.8.0+7.4.4" +version = "0.8.3+7.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" +checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" dependencies = [ "bindgen", "bzip2-sys", @@ -4957,19 +4875,10 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "value-bag", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -5034,9 +4943,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" @@ -5059,14 +4968,14 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.6", + "rustix 0.36.8", ] [[package]] name = "memmap2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" +checksum = "2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2" dependencies = [ "libc", ] @@ -5091,22 +5000,12 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", "hashbrown", - "parity-util-mem", -] - -[[package]] -name = "memory-lru" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce95ae042940bad7e312857b929ee3d11b8f799a80cb7b9c7ec5125516906395" -dependencies = [ - "lru 0.8.1", ] [[package]] @@ -5133,7 +5032,7 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "rand 0.8.5", "thrift", ] @@ -5155,14 +5054,50 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", +] + +[[package]] +name = "mmr-gadget" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "futures 0.3.26", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-offchain", + "sp-api", + "sp-beefy", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", +] + +[[package]] +name = "mmr-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "anyhow", + "jsonrpsee", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", ] [[package]] @@ -5171,7 +5106,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "downcast", "fragile", "lazy_static", @@ -5186,8 +5121,8 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" dependencies = [ - "cfg-if 1.0.0", - "proc-macro2 1.0.50", + "cfg-if", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -5246,7 +5181,7 @@ checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" dependencies = [ "proc-macro-crate", "proc-macro-error", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "synstructure", @@ -5265,7 +5200,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" dependencies = [ "bytes", - "futures 0.3.25", + "futures 0.3.26", "log", "pin-project", "smallvec", @@ -5282,7 +5217,7 @@ dependencies = [ "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational 0.4.1", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr", @@ -5296,7 +5231,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -5344,9 +5279,9 @@ dependencies = [ [[package]] name = "netlink-packet-utils" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" dependencies = [ "anyhow", "byteorder", @@ -5361,7 +5296,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" dependencies = [ "bytes", - "futures 0.3.25", + "futures 0.3.26", "log", "netlink-packet-core", "netlink-sys", @@ -5371,13 +5306,13 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027" +checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" dependencies = [ "async-io", "bytes", - "futures 0.3.25", + "futures 0.3.26", "libc", "log", ] @@ -5389,16 +5324,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ "bitflags", - "cfg-if 1.0.0", + "cfg-if", "libc", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -5415,6 +5344,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -5427,22 +5365,11 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" dependencies = [ - "num-bigint 0.4.3", + "num-bigint", "num-complex", "num-integer", "num-iter", - "num-rational 0.4.1", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", + "num-rational", "num-traits", ] @@ -5459,9 +5386,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ "num-traits", ] @@ -5497,18 +5424,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -5516,7 +5431,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] @@ -5543,21 +5458,21 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +checksum = "3e0072973714303aa6e3631c7e8e777970cf4bdd25dc4932e41031027b8bcc4e" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +checksum = "0629cbd6b897944899b1f10496d9c4a7ac5878d45fd61bc22e9e79bfbbc29597" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -5576,18 +5491,18 @@ dependencies = [ [[package]] name = "object" -version = "0.30.2" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -5615,7 +5530,7 @@ checksum = "0aab54694ddaa8a9b703724c6ef04272b2d27bc32d2c855aae5cdd1857216b43" dependencies = [ "async-trait", "dyn-clonable", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "orchestra-proc-macro", "pin-project", @@ -5634,7 +5549,7 @@ dependencies = [ "itertools", "petgraph", "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -5651,7 +5566,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "frame-support", "frame-system", @@ -5669,7 +5584,7 @@ dependencies = [ [[package]] name = "orml-oracle-rpc" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "jsonrpsee", "orml-oracle-rpc-runtime-api", @@ -5684,7 +5599,7 @@ dependencies = [ [[package]] name = "orml-oracle-rpc-runtime-api" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "parity-scale-codec", "sp-api", @@ -5694,7 +5609,7 @@ dependencies = [ [[package]] name = "orml-traits" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -5712,7 +5627,7 @@ dependencies = [ [[package]] name = "orml-utilities" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "frame-support", "parity-scale-codec", @@ -5726,7 +5641,7 @@ dependencies = [ [[package]] name = "orml-vesting" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "frame-support", "frame-system", @@ -5741,7 +5656,7 @@ dependencies = [ [[package]] name = "orml-xcm" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "frame-support", "frame-system", @@ -5755,7 +5670,7 @@ dependencies = [ [[package]] name = "orml-xcm-support" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "frame-support", "orml-traits", @@ -5769,7 +5684,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=f336875e48599b5e9500b301385259354821f01f#f336875e48599b5e9500b301385259354821f01f" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library.git?rev=db0381f6363e0c8e781082b6f552c092b688fb1c#db0381f6363e0c8e781082b6f552c092b688fb1c" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -5799,7 +5714,7 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libm 0.1.4", ] @@ -5849,8 +5764,9 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "pallet-transaction-payment", @@ -5866,13 +5782,14 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", + "sp-core", "sp-runtime", "sp-std", ] @@ -5880,7 +5797,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5896,7 +5813,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5912,7 +5829,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5927,7 +5844,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5951,7 +5868,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5971,7 +5888,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5986,7 +5903,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", "frame-support", @@ -6001,15 +5918,15 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "beefy-primitives", "frame-support", "frame-system", "pallet-session", "parity-scale-codec", "scale-info", "serde", + "sp-beefy", "sp-runtime", "sp-std", ] @@ -6017,11 +5934,10 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "beefy-merkle-tree", - "beefy-primitives", "frame-support", "frame-system", "log", @@ -6031,6 +5947,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-beefy", "sp-core", "sp-io", "sp-runtime", @@ -6040,7 +5957,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6078,7 +5995,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6097,7 +6014,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6116,7 +6033,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6133,7 +6050,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6208,7 +6125,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6226,7 +6143,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6250,7 +6167,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6263,7 +6180,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6296,11 +6213,11 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ - "ethereum 0.14.0", - "ethereum-types 0.14.1", - "evm 0.37.0", + "ethereum", + "ethereum-types", + "evm", "fp-consensus", "fp-ethereum", "fp-evm", @@ -6323,10 +6240,10 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "environmental", - "evm 0.37.0", + "evm", "fp-evm", "frame-benchmarking", "frame-support", @@ -6335,7 +6252,7 @@ dependencies = [ "log", "pallet-timestamp", "parity-scale-codec", - "primitive-types 0.12.1", + "primitive-types", "rlp", "scale-info", "serde", @@ -6347,7 +6264,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-assets-erc20" -version = "1.9.2" +version = "1.9.5" dependencies = [ "derive_more 0.99.17", "fp-evm", @@ -6374,7 +6291,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-balances-erc20" -version = "1.9.2" +version = "1.9.5" dependencies = [ "derive_more 0.99.17", "fp-evm", @@ -6403,7 +6320,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", ] @@ -6411,7 +6328,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", "sp-core", @@ -6421,7 +6338,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", "frame-support", @@ -6431,7 +6348,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "ed25519-dalek", "fp-evm", @@ -6440,7 +6357,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", "num", @@ -6449,7 +6366,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", "tiny-keccak", @@ -6458,7 +6375,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/parallel-finance/frontier.git?rev=aee1041c59274939484348b886762d522a7b4e28#aee1041c59274939484348b886762d522a7b4e28" +source = "git+https://github.com/parallel-finance/frontier.git?rev=e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e#e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e" dependencies = [ "fp-evm", "ripemd", @@ -6467,7 +6384,7 @@ dependencies = [ [[package]] name = "pallet-evm-signatures" -version = "1.9.2" +version = "1.9.5" dependencies = [ "frame-support", "frame-system", @@ -6512,16 +6429,13 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", "log", - "pallet-balances", - "pallet-staking", - "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-io", @@ -6530,25 +6444,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "pallet-gilt" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-runtime", - "sp-std", -] - [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6571,7 +6470,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6587,7 +6486,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6607,7 +6506,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6725,7 +6624,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6742,9 +6641,8 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "ckb-merkle-mountain-range", "frame-benchmarking", "frame-support", "frame-system", @@ -6758,32 +6656,33 @@ dependencies = [ ] [[package]] -name = "pallet-mmr-rpc" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +name = "pallet-multisig" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "jsonrpsee", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-mmr-primitives", + "scale-info", + "sp-io", "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-multisig" +name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-arithmetic", + "sp-core", "sp-runtime", "sp-std", ] @@ -6791,7 +6690,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -6808,7 +6707,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6828,7 +6727,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-api", @@ -6838,7 +6737,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -6855,7 +6754,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6878,7 +6777,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6919,7 +6818,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6934,7 +6833,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6952,7 +6851,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6967,12 +6866,13 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "assert_matches", "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "serde", @@ -7034,7 +6934,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7045,12 +6945,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "sp-weights", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -7071,7 +6972,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7087,7 +6988,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -7124,7 +7025,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7147,10 +7048,10 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -7158,12 +7059,29 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "sp-arithmetic", ] +[[package]] +name = "pallet-state-trie-migration" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-streaming" version = "1.9.5" @@ -7191,7 +7109,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -7205,7 +7123,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7223,7 +7141,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7246,7 +7164,7 @@ dependencies = [ "frame-support", "frame-system", "log", - "num-bigint 0.4.3", + "num-bigint", "num-traits", "parallel-primitives", "parity-scale-codec", @@ -7264,7 +7182,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -7280,7 +7198,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7296,7 +7214,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7308,7 +7226,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7325,7 +7243,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7340,7 +7258,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7356,7 +7274,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7371,7 +7289,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -7385,8 +7303,8 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "frame-system", @@ -7403,8 +7321,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-benchmarking", "frame-support", @@ -7460,7 +7378,7 @@ dependencies = [ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -7472,7 +7390,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "1.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-utility", "frame-support", @@ -7529,7 +7447,7 @@ dependencies = [ "frame-benchmarking", "frame-benchmarking-cli", "frame-system-rpc-runtime-api", - "futures 0.3.25", + "futures 0.3.26", "heiko-runtime", "hex-literal", "jsonrpsee", @@ -7577,6 +7495,7 @@ dependencies = [ "sp-consensus-aura", "sp-core", "sp-inherents", + "sp-io", "sp-keystore", "sp-offchain", "sp-runtime", @@ -7724,7 +7643,7 @@ version = "1.9.5" dependencies = [ "frame-support", "log", - "num-bigint 0.4.3", + "num-bigint", "num-traits", "parity-scale-codec", "scale-info", @@ -7738,11 +7657,11 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.3.17" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8fdb726a43661fa54b43e7114e6b88b2289cae388eb3ad766d9d1754d83fce" +checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" dependencies = [ - "blake2-rfc", + "blake2", "crc32fast", "fs2", "hex", @@ -7757,9 +7676,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -7772,12 +7691,12 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -7788,44 +7707,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" -[[package]] -name = "parity-util-mem" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" -dependencies = [ - "cfg-if 1.0.0", - "ethereum-types 0.14.1", - "hashbrown", - "impl-trait-for-tuples", - "lru 0.8.1", - "parity-util-mem-derive", - "parking_lot 0.12.1", - "primitive-types 0.12.1", - "smallvec", - "winapi", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2 1.0.50", - "syn 1.0.107", - "synstructure", -] - -[[package]] -name = "parity-wasm" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" -dependencies = [ - "byteorder", -] - [[package]] name = "parity-wasm" version = "0.45.0" @@ -7856,7 +7737,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.6", + "parking_lot_core 0.9.7", ] [[package]] @@ -7865,7 +7746,7 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "instant", "libc", "redox_syscall", @@ -7875,15 +7756,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -7924,9 +7805,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.5.3" +version = "2.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4257b4a04d91f7e9e6290be5d3da4804dd5784fafde3a497d73eb2b4a158c30a" +checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" dependencies = [ "thiserror", "ucd-trie", @@ -7934,9 +7815,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.3" +version = "2.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241cda393b0cdd65e62e07e12454f1f25d57017dcc514b1514cd3c4645e3a0a6" +checksum = "2ac3922aac69a40733080f53c1ce7f91dcf57e1a5f6c52f421fadec7fbdc4b69" dependencies = [ "pest", "pest_generator", @@ -7944,22 +7825,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.3" +version = "2.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46b53634d8c8196302953c74d5352f33d0c512a9499bd2ce468fc9f4128fa27c" +checksum = "d06646e185566b5961b4058dd107e0a7f56e77c3f484549fb119867773c0f202" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "pest_meta" -version = "2.5.3" +version = "2.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef4f1332a8d4678b41966bb4cc1d0676880e84183a1ecc3f4b69f03e99c7a51" +checksum = "e6f60b2ba541577e2a0c307c8f39d1439108120eb7903adeb6497fa880c59616" dependencies = [ "once_cell", "pest", @@ -7968,9 +7849,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", "indexmap", @@ -7991,7 +7872,7 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -8016,13 +7897,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -8045,10 +7925,10 @@ checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" [[package]] name = "polkadot-approval-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8060,10 +7940,10 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -8074,13 +7954,13 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derive_more 0.99.17", "fatality", - "futures 0.3.25", - "lru 0.8.1", + "futures 0.3.26", + "lru", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8097,12 +7977,12 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "fatality", - "futures 0.3.25", - "lru 0.8.1", + "futures 0.3.26", + "lru", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8118,12 +7998,12 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "clap", "frame-benchmarking-cli", - "futures 0.3.25", + "futures 0.3.26", "log", "polkadot-client", "polkadot-node-core-pvf", @@ -8131,12 +8011,13 @@ dependencies = [ "polkadot-performance-test", "polkadot-service", "sc-cli", + "sc-executor", "sc-service", "sc-sysinfo", "sc-tracing", "sp-core", + "sp-io", "sp-keyring", - "sp-trie", "substrate-build-script-utils", "thiserror", "try-runtime-cli", @@ -8144,14 +8025,15 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", + "async-trait", "frame-benchmarking", "frame-benchmarking-cli", "frame-system", "frame-system-rpc-runtime-api", + "futures 0.3.26", "kusama-runtime", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", @@ -8166,6 +8048,7 @@ dependencies = [ "sc-service", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -8185,13 +8068,13 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "always-assert", "bitvec", "fatality", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -8207,11 +8090,10 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "parity-scale-codec", - "parity-util-mem", "scale-info", "sp-core", "sp-runtime", @@ -8220,15 +8102,15 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derive_more 0.99.17", "fatality", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "indexmap", - "lru 0.8.1", + "lru", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8245,8 +8127,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8259,10 +8141,10 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-subsystem", @@ -8279,14 +8161,14 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "always-assert", "async-trait", "bytes", "fatality", - "futures 0.3.25", + "futures 0.3.26", "parity-scale-codec", "parking_lot 0.12.1", "polkadot-node-network-protocol", @@ -8303,10 +8185,10 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-primitives", @@ -8321,15 +8203,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "derive_more 0.99.17", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "kvdb", - "lru 0.8.1", + "lru", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -8350,11 +8232,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "kvdb", "parity-scale-codec", @@ -8370,12 +8252,12 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "fatality", - "futures 0.3.25", + "futures 0.3.26", "polkadot-erasure-coding", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8389,10 +8271,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", @@ -8404,11 +8286,12 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", + "futures-timer", "parity-scale-codec", "polkadot-node-core-pvf", "polkadot-node-primitives", @@ -8422,10 +8305,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", @@ -8437,10 +8320,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "kvdb", "parity-scale-codec", @@ -8454,13 +8337,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "fatality", - "futures 0.3.25", + "futures 0.3.26", "kvdb", - "lru 0.8.1", + "lru", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8473,13 +8356,14 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "polkadot-node-subsystem", + "polkadot-overseer", "polkadot-primitives", "sp-blockchain", "sp-inherents", @@ -8490,12 +8374,12 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "fatality", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8508,14 +8392,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "always-assert", "assert_matches", "async-process", "async-std", - "futures 0.3.25", + "cpu-time", + "futures 0.3.26", "futures-timer", "parity-scale-codec", "pin-project", @@ -8540,10 +8425,10 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -8556,12 +8441,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "futures 0.3.25", - "memory-lru", - "parity-util-mem", + "futures 0.3.26", + "lru", "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", @@ -8572,10 +8456,9 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "async-std", "lazy_static", "log", "mick-jaeger", @@ -8586,15 +8469,16 @@ dependencies = [ "sc-network", "sp-core", "thiserror", + "tokio", ] [[package]] name = "polkadot-node-metrics" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bs58", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -8609,13 +8493,13 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "derive_more 0.99.17", "fatality", - "futures 0.3.25", + "futures 0.3.26", "hex", "parity-scale-codec", "polkadot-node-jaeger", @@ -8632,11 +8516,11 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bounded-vec", - "futures 0.3.25", + "futures 0.3.26", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -8654,8 +8538,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -8664,12 +8548,12 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "derive_more 0.99.17", - "futures 0.3.25", + "futures 0.3.26", "orchestra", "polkadot-node-jaeger", "polkadot-node-network-protocol", @@ -8687,19 +8571,18 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "derive_more 0.99.17", "fatality", - "futures 0.3.25", + "futures 0.3.26", "itertools", "kvdb", - "lru 0.8.1", + "lru", "parity-db", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.11.2", "pin-project", "polkadot-node-jaeger", @@ -8720,15 +8603,14 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", - "lru 0.8.1", + "lru", "orchestra", - "parity-util-mem", "parking_lot 0.12.1", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -8738,18 +8620,18 @@ dependencies = [ "sc-client-api", "sp-api", "sp-core", + "tikv-jemalloc-ctl", "tracing-gum", ] [[package]] name = "polkadot-parachain" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derive_more 0.99.17", "frame-support", "parity-scale-codec", - "parity-util-mem", "polkadot-core-primitives", "scale-info", "serde", @@ -8760,8 +8642,8 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "env_logger 0.9.3", "kusama-runtime", @@ -8775,14 +8657,12 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", - "frame-system", "hex-literal", "parity-scale-codec", - "parity-util-mem", "polkadot-core-primitives", "polkadot-parachain", "scale-info", @@ -8799,19 +8679,17 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-std", - "sp-trie", - "sp-version", ] [[package]] name = "polkadot-rpc" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", "jsonrpsee", - "pallet-mmr-rpc", + "mmr-rpc", "pallet-transaction-payment-rpc", "polkadot-primitives", "sc-chain-spec", @@ -8837,10 +8715,9 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -8903,6 +8780,7 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -8926,10 +8804,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -8946,6 +8823,7 @@ dependencies = [ "pallet-election-provider-multi-phase", "pallet-session", "pallet-staking", + "pallet-staking-reward-fn", "pallet-timestamp", "pallet-transaction-payment", "pallet-treasury", @@ -8959,6 +8837,7 @@ dependencies = [ "serde_derive", "slot-range-helper", "sp-api", + "sp-beefy", "sp-core", "sp-inherents", "sp-io", @@ -8973,8 +8852,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -8987,8 +8866,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bs58", "parity-scale-codec", @@ -8999,8 +8878,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitflags", "bitvec", @@ -9042,21 +8921,21 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "beefy-gadget", - "beefy-primitives", "frame-support", "frame-system-rpc-runtime-api", - "futures 0.3.25", + "futures 0.3.26", "hex-literal", "kusama-runtime", "kusama-runtime-constants", "kvdb", "kvdb-rocksdb", - "lru 0.8.1", + "lru", + "mmr-gadget", "pallet-babe", "pallet-im-online", "pallet-staking", @@ -9122,6 +9001,7 @@ dependencies = [ "serde_json", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -9131,6 +9011,7 @@ dependencies = [ "sp-inherents", "sp-io", "sp-keystore", + "sp-mmr-primitives", "sp-offchain", "sp-runtime", "sp-session", @@ -9147,12 +9028,12 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "arrayvec 0.5.2", "fatality", - "futures 0.3.25", + "futures 0.3.26", "indexmap", "parity-scale-codec", "polkadot-node-network-protocol", @@ -9168,8 +9049,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9183,7 +9064,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "libc", "log", "wepoll-ffi", @@ -9207,7 +9088,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "opaque-debug 0.3.0", "universal-hash", @@ -9221,9 +9102,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "precompile-utils" -version = "1.9.2" +version = "1.9.5" dependencies = [ - "evm 0.35.0", + "evm", "fp-evm", "frame-support", "frame-system", @@ -9248,7 +9129,7 @@ name = "precompile-utils-macro" version = "0.1.0" dependencies = [ "num_enum", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "sha3 0.8.2", "syn 1.0.107", @@ -9288,23 +9169,10 @@ dependencies = [ name = "prettyplease" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" -dependencies = [ - "proc-macro2 1.0.50", - "syn 1.0.107", -] - -[[package]] -name = "primitive-types" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" -dependencies = [ - "fixed-hash 0.7.0", - "impl-codec", - "impl-rlp", - "scale-info", - "uint", +checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +dependencies = [ + "proc-macro2 1.0.51", + "syn 1.0.107", ] [[package]] @@ -9313,7 +9181,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ - "fixed-hash 0.8.0", + "fixed-hash", "impl-codec", "impl-rlp", "impl-serde", @@ -9330,7 +9198,7 @@ dependencies = [ "coarsetime", "crossbeam-queue", "derive_more 0.99.17", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "nanorand", "thiserror", @@ -9339,13 +9207,12 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -9355,7 +9222,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "version_check", @@ -9367,7 +9234,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "version_check", ] @@ -9383,9 +9250,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -9396,7 +9263,7 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fnv", "lazy_static", "memchr", @@ -9422,7 +9289,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -9480,7 +9347,7 @@ checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -9536,7 +9403,7 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", ] [[package]] @@ -9663,9 +9530,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" +checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -9721,7 +9588,7 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -9764,23 +9631,6 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" -[[package]] -name = "remote-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "env_logger 0.9.3", - "log", - "parity-scale-codec", - "serde", - "serde_json", - "sp-core", - "sp-io", - "sp-runtime", - "sp-version", - "substrate-rpc-client", -] - [[package]] name = "remove_dir_all" version = "0.5.3" @@ -9802,12 +9652,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -9852,7 +9702,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -9869,11 +9719,10 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "beefy-merkle-tree", - "beefy-primitives", "frame-benchmarking", "frame-executive", "frame-support", @@ -9893,7 +9742,6 @@ dependencies = [ "pallet-collective", "pallet-democracy", "pallet-elections-phragmen", - "pallet-gilt", "pallet-grandpa", "pallet-identity", "pallet-im-online", @@ -9901,6 +9749,7 @@ dependencies = [ "pallet-membership", "pallet-mmr", "pallet-multisig", + "pallet-nis", "pallet-offences", "pallet-preimage", "pallet-proxy", @@ -9909,6 +9758,7 @@ dependencies = [ "pallet-session", "pallet-society", "pallet-staking", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-tips", @@ -9931,6 +9781,7 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -9953,8 +9804,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -9983,7 +9834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" dependencies = [ "async-global-executor", - "futures 0.3.25", + "futures 0.3.26", "log", "netlink-packet-route", "netlink-proto", @@ -10126,16 +9977,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.6" +version = "0.36.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.4", + "io-lifetimes 1.0.5", "libc", "linux-raw-sys 0.1.4", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -10183,7 +10034,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "pin-project", "static_assertions", ] @@ -10206,7 +10057,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "sp-core", @@ -10217,10 +10068,10 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "ip_network", "libp2p", @@ -10244,9 +10095,9 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -10267,7 +10118,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -10283,7 +10134,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -10300,10 +10151,10 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -10311,13 +10162,13 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "chrono", "clap", "fdlimit", - "futures 0.3.25", + "futures 0.3.26", "libp2p", "log", "names", @@ -10351,10 +10202,10 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "fnv", - "futures 0.3.25", + "futures 0.3.26", "hash-db", "log", "parity-scale-codec", @@ -10379,7 +10230,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "hash-db", "kvdb", @@ -10404,13 +10255,14 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "libp2p", "log", + "mockall", "parking_lot 0.12.1", "sc-client-api", "sc-utils", @@ -10428,10 +10280,10 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "log", "parity-scale-codec", "sc-block-builder", @@ -10457,19 +10309,18 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "fork-tree", - "futures 0.3.25", + "futures 0.3.26", "log", "merlin", - "num-bigint 0.2.6", - "num-rational 0.2.4", + "num-bigint", + "num-rational", "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", "sc-client-api", "sc-consensus", "sc-consensus-epochs", @@ -10499,9 +10350,9 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee", "sc-consensus-babe", "sc-consensus-epochs", @@ -10521,7 +10372,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10534,11 +10385,11 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "assert_matches", "async-trait", - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -10568,10 +10419,10 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -10592,10 +10443,9 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "lazy_static", - "lru 0.7.8", + "lru", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -10603,12 +10453,10 @@ dependencies = [ "sc-executor-wasmtime", "sp-api", "sp-core", - "sp-core-hashing-proc-macro", "sp-externalities", "sp-io", "sp-panic-handler", "sp-runtime-interface", - "sp-tasks", "sp-trie", "sp-version", "sp-wasm-interface", @@ -10619,13 +10467,10 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "environmental", - "parity-scale-codec", "sc-allocator", "sp-maybe-compressed-blob", - "sp-sandbox", "sp-wasm-interface", "thiserror", "wasm-instrument", @@ -10635,14 +10480,12 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", - "parity-scale-codec", "sc-allocator", "sc-executor-common", "sp-runtime-interface", - "sp-sandbox", "sp-wasm-interface", "wasmi", ] @@ -10650,19 +10493,16 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "log", "once_cell", - "parity-scale-codec", - "parity-wasm 0.45.0", "rustix 0.35.13", "sc-allocator", "sc-executor-common", "sp-runtime-interface", - "sp-sandbox", "sp-wasm-interface", "wasmtime", ] @@ -10670,15 +10510,15 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ahash", - "array-bytes", + "array-bytes 4.2.0", "async-trait", "dyn-clone", "finality-grandpa", "fork-tree", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -10711,10 +10551,10 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "finality-grandpa", - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -10732,13 +10572,12 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ansi_term", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", - "parity-util-mem", "sc-client-api", "sc-network-common", "sc-transaction-pool-api", @@ -10749,9 +10588,9 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "async-trait", "parking_lot 0.12.1", "serde_json", @@ -10764,9 +10603,9 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "async-trait", "asynchronous-codec", "bitflags", @@ -10775,14 +10614,14 @@ dependencies = [ "either", "fnv", "fork-tree", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "ip_network", "libp2p", "linked-hash-map", "linked_hash_set", "log", - "lru 0.7.8", + "lru", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -10811,10 +10650,10 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "cid", - "futures 0.3.25", + "futures 0.3.26", "libp2p", "log", "prost", @@ -10831,12 +10670,12 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "bitflags", "bytes", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "libp2p", "linked_hash_set", @@ -10857,14 +10696,14 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ahash", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "libp2p", "log", - "lru 0.7.8", + "lru", "sc-network-common", "sc-peerset", "sp-runtime", @@ -10875,10 +10714,10 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", - "futures 0.3.25", + "array-bytes 4.2.0", + "futures 0.3.26", "libp2p", "log", "parity-scale-codec", @@ -10896,14 +10735,15 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", + "async-trait", "fork-tree", - "futures 0.3.25", + "futures 0.3.26", "libp2p", "log", - "lru 0.7.8", + "lru", "mockall", "parity-scale-codec", "prost", @@ -10920,16 +10760,17 @@ dependencies = [ "sp-core", "sp-finality-grandpa", "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", - "futures 0.3.25", + "array-bytes 4.2.0", + "futures 0.3.26", "hex", "libp2p", "log", @@ -10945,12 +10786,12 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "bytes", "fnv", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "hyper", "hyper-rustls", @@ -10975,9 +10816,9 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "libp2p", "log", "sc-utils", @@ -10988,7 +10829,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -10997,9 +10838,9 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "hash-db", "jsonrpsee", "log", @@ -11027,9 +10868,9 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -11050,22 +10891,25 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", + "http", "jsonrpsee", "log", "serde_json", "substrate-prometheus-endpoint", "tokio", + "tower", + "tower-http", ] [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "hex", "jsonrpsee", "parity-scale-codec", @@ -11082,18 +10926,17 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "directories", "exit-future", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "hash-db", "jsonrpsee", "log", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "pin-project", "rand 0.7.3", @@ -11153,12 +10996,10 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "parity-scale-codec", - "parity-util-mem", - "parity-util-mem-derive", "parking_lot 0.12.1", "sc-client-api", "sp-core", @@ -11167,7 +11008,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -11186,9 +11027,9 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "libc", "log", "rand 0.7.3", @@ -11205,10 +11046,10 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "chrono", - "futures 0.3.25", + "futures 0.3.26", "libp2p", "log", "parking_lot 0.12.1", @@ -11223,7 +11064,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ansi_term", "atty", @@ -11254,10 +11095,10 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -11265,15 +11106,14 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "linked-hash-map", "log", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "sc-client-api", "sc-transaction-pool-api", @@ -11292,10 +11132,10 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "log", "serde", "sp-blockchain", @@ -11306,9 +11146,9 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "lazy_static", "log", @@ -11323,7 +11163,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more 0.99.17", "parity-scale-codec", "scale-info-derive", @@ -11337,7 +11177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -11393,10 +11233,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -11433,9 +11274,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -11446,9 +11287,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -11487,6 +11328,12 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + [[package]] name = "serde" version = "1.0.152" @@ -11502,16 +11349,16 @@ version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -11534,7 +11381,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -11559,7 +11406,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -11571,7 +11418,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.10.6", ] @@ -11616,9 +11463,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d" +checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" dependencies = [ "libc", "signal-hook-registry", @@ -11626,20 +11473,20 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -11677,9 +11524,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -11697,15 +11544,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2086e458a369cdca838e9f6ed04b4cc2e3ce636d99abb80c9e2eada107749cf" dependencies = [ "faster-hex", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "slot-range-helper" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "enumn", "parity-scale-codec", @@ -11737,14 +11584,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" +checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-pre.5", + "curve25519-dalek 4.0.0-rc.0", "rand_core 0.6.4", "ring", "rustc_version 0.4.0", @@ -11771,7 +11618,8 @@ dependencies = [ "base64 0.13.1", "bytes", "flate2", - "futures 0.3.25", + "futures 0.3.26", + "http", "httparse", "log", "rand 0.8.5", @@ -11781,7 +11629,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "hash-db", "log", @@ -11799,19 +11647,19 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "blake2", "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -11823,8 +11671,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "integer-sqrt", "num-traits", @@ -11839,7 +11687,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -11852,7 +11700,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "parity-scale-codec", @@ -11861,10 +11709,27 @@ dependencies = [ "sp-std", ] +[[package]] +name = "sp-beefy" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", + "sp-std", +] + [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-api", @@ -11876,11 +11741,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "log", - "lru 0.7.8", + "lru", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -11894,10 +11759,10 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "futures-timer", "log", "parity-scale-codec", @@ -11913,7 +11778,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "parity-scale-codec", @@ -11931,7 +11796,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "merlin", @@ -11954,7 +11819,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -11968,7 +11833,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -11980,17 +11845,17 @@ dependencies = [ [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "base58", "bitflags", "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", - "futures 0.3.25", + "futures 0.3.26", "hash-db", "hash256-std-hasher", "impl-serde", @@ -12000,9 +11865,8 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", - "primitive-types 0.12.1", + "primitive-types", "rand 0.7.3", "regex", "scale-info", @@ -12026,8 +11890,8 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "blake2", "byteorder", @@ -12041,9 +11905,9 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "sp-core-hashing", "syn 1.0.107", @@ -12052,7 +11916,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -12060,18 +11924,18 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "environmental", "parity-scale-codec", @@ -12082,7 +11946,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "finality-grandpa", "log", @@ -12100,7 +11964,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -12113,11 +11977,12 @@ dependencies = [ [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "bytes", - "futures 0.3.25", + "ed25519-dalek", + "futures 0.3.26", "hash-db", "libsecp256k1", "log", @@ -12139,8 +12004,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "lazy_static", "sp-core", @@ -12150,11 +12015,11 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "merlin", "parity-scale-codec", "parking_lot 0.12.1", @@ -12168,7 +12033,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "thiserror", "zstd", @@ -12177,8 +12042,9 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ + "ckb-merkle-mountain-range", "log", "parity-scale-codec", "scale-info", @@ -12188,12 +12054,13 @@ dependencies = [ "sp-debug-derive", "sp-runtime", "sp-std", + "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -12207,7 +12074,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "sp-api", "sp-core", @@ -12216,8 +12083,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "backtrace", "lazy_static", @@ -12227,7 +12094,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "rustc-hash", "serde", @@ -12236,15 +12103,14 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", @@ -12259,13 +12125,13 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "primitive-types 0.12.1", + "primitive-types", "sp-externalities", "sp-runtime-interface-proc-macro", "sp-std", @@ -12277,34 +12143,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "Inflector", "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] -[[package]] -name = "sp-sandbox" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-std", - "sp-wasm-interface", - "wasmi", -] - [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -12318,18 +12170,19 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", + "sp-core", "sp-runtime", "sp-std", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "hash-db", "log", @@ -12350,13 +12203,13 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12366,23 +12219,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-tasks" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "log", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface", - "sp-std", -] - [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures-timer", @@ -12397,8 +12237,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-std", @@ -12410,7 +12250,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "sp-api", "sp-runtime", @@ -12419,7 +12259,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "log", @@ -12434,14 +12274,14 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -12458,11 +12298,11 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", @@ -12475,18 +12315,18 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-trait-for-tuples", "log", @@ -12499,7 +12339,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -12520,9 +12360,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -12530,13 +12370,13 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "serde", "serde_json", @@ -12552,7 +12392,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "statemine-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -12563,10 +12403,13 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-timestamp", "cumulus-primitives-utility", + "frame-benchmarking", "frame-executive", "frame-support", "frame-system", + "frame-system-benchmarking", "frame-system-rpc-runtime-api", + "hex-literal", "kusama-runtime-constants", "log", "pallet-asset-tx-payment", @@ -12578,12 +12421,14 @@ dependencies = [ "pallet-multisig", "pallet-proxy", "pallet-session", + "pallet-state-trie-migration", "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-uniques", "pallet-utility", "pallet-xcm", + "pallet-xcm-benchmarks", "parachain-info", "parachains-common", "parity-scale-codec", @@ -12612,7 +12457,7 @@ dependencies = [ [[package]] name = "statemint-runtime" version = "1.0.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -12623,10 +12468,13 @@ dependencies = [ "cumulus-primitives-core", "cumulus-primitives-timestamp", "cumulus-primitives-utility", + "frame-benchmarking", "frame-executive", "frame-support", "frame-system", + "frame-system-benchmarking", "frame-system-rpc-runtime-api", + "hex-literal", "log", "pallet-asset-tx-payment", "pallet-assets", @@ -12643,6 +12491,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-xcm", + "pallet-xcm-benchmarks", "parachain-info", "parachains-common", "parity-scale-codec", @@ -12710,7 +12559,7 @@ checksum = "f2261c91034a1edc3fc4d1b80e89d82714faede0515c14a75da10cb941546bbf" dependencies = [ "cfg_aliases", "memchr", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -12723,7 +12572,7 @@ checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" dependencies = [ "cfg_aliases", "memchr", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -12763,7 +12612,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "rustversion", "syn 1.0.107", @@ -12798,7 +12647,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "platforms 2.0.0", ] @@ -12816,10 +12665,10 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-system-rpc-runtime-api", - "futures 0.3.25", + "futures 0.3.26", "jsonrpsee", "log", "parity-scale-codec", @@ -12837,7 +12686,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures-util", "hyper", @@ -12850,7 +12699,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "jsonrpsee", @@ -12863,7 +12712,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "jsonrpsee", "log", @@ -12884,7 +12733,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ansi_term", "build-helper", @@ -12895,7 +12744,7 @@ dependencies = [ "tempfile", "toml", "walkdir", - "wasm-gc-api", + "wasm-opt", ] [[package]] @@ -12921,7 +12770,7 @@ version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "unicode-ident", ] @@ -12932,7 +12781,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "unicode-xid 0.2.4", @@ -12967,9 +12816,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "tempfile" @@ -12977,7 +12826,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", "libc", "redox_syscall", @@ -13015,7 +12864,7 @@ version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -13028,10 +12877,11 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -13057,14 +12907,24 @@ dependencies = [ "threadpool", ] +[[package]] +name = "tikv-jemalloc-ctl" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1" +dependencies = [ + "libc", + "paste", + "tikv-jemalloc-sys", +] + [[package]] name = "tikv-jemalloc-sys" -version = "0.5.2+5.3.0-patched" +version = "0.5.3+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" +checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" dependencies = [ "cc", - "fs_extra", "libc", ] @@ -13118,15 +12978,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.24.2" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -13148,7 +13008,7 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -13177,9 +13037,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -13192,13 +13052,65 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.10" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +dependencies = [ + "indexmap", + "nom8", + "toml_datetime", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite 0.2.9", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + [[package]] name = "tower-service" version = "0.3.2" @@ -13211,7 +13123,8 @@ version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "log", "pin-project-lite 0.2.9", "tracing-attributes", "tracing-core", @@ -13223,7 +13136,7 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -13250,8 +13163,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -13261,12 +13174,12 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "expander 0.0.6", "proc-macro-crate", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] @@ -13354,7 +13267,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26" dependencies = [ "async-trait", - "cfg-if 1.0.0", + "cfg-if", "data-encoding", "enum-as-inner", "futures-channel", @@ -13367,6 +13280,7 @@ dependencies = [ "smallvec", "thiserror", "tinyvec", + "tokio", "tracing", "url", ] @@ -13377,7 +13291,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "futures-util", "ipconfig", "lazy_static", @@ -13386,6 +13300,7 @@ dependencies = [ "resolv-conf", "smallvec", "thiserror", + "tokio", "tracing", "trust-dns-proto", ] @@ -13399,22 +13314,26 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "clap", + "frame-remote-externalities", "frame-try-runtime", + "hex", "log", "parity-scale-codec", - "remote-externalities", "sc-chain-spec", "sc-cli", "sc-executor", "sc-service", "serde", + "sp-api", "sp-core", + "sp-debug-derive", "sp-externalities", "sp-io", "sp-keystore", + "sp-rpc", "sp-runtime", "sp-state-machine", "sp-version", @@ -13435,7 +13354,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "digest 0.10.6", "rand 0.8.5", "static_assertions", @@ -13474,20 +13393,11 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" @@ -13506,9 +13416,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" @@ -13755,24 +13665,24 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "wasm-bindgen-shared", @@ -13780,11 +13690,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "wasm-bindgen", "web-sys", @@ -13792,9 +13702,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote 1.0.23", "wasm-bindgen-macro-support", @@ -13802,11 +13712,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "wasm-bindgen-backend", @@ -13815,28 +13725,58 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] -name = "wasm-gc-api" -version = "0.1.11" +name = "wasm-instrument" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" +checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" dependencies = [ - "log", - "parity-wasm 0.32.0", - "rustc-demangle", + "parity-wasm", ] [[package]] -name = "wasm-instrument" -version = "0.3.0" +name = "wasm-opt" +version = "0.110.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" +checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +dependencies = [ + "anyhow", + "libc", + "strum", + "strum_macros", + "tempfile", + "thiserror", + "wasm-opt-cxx-sys", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-cxx-sys" +version = "0.110.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" +dependencies = [ + "anyhow", + "cxx", + "cxx-build", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-sys" +version = "0.110.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" dependencies = [ - "parity-wasm 0.45.0", + "anyhow", + "cc", + "cxx", + "cxx-build", + "regex", ] [[package]] @@ -13845,7 +13785,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "js-sys", "parking_lot 0.11.2", "pin-utils", @@ -13860,7 +13800,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", "wasmi-validation", "wasmi_core", ] @@ -13871,7 +13811,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -13883,7 +13823,7 @@ dependencies = [ "downcast-rs", "libm 0.2.6", "memory_units", - "num-rational 0.4.1", + "num-rational", "num-traits", ] @@ -13904,7 +13844,7 @@ checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" dependencies = [ "anyhow", "bincode", - "cfg-if 1.0.0", + "cfg-if", "indexmap", "libc", "log", @@ -13930,7 +13870,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -14002,7 +13942,7 @@ dependencies = [ "addr2line 0.17.0", "anyhow", "bincode", - "cfg-if 1.0.0", + "cfg-if", "cpp_demangle", "gimli 0.26.2", "log", @@ -14037,7 +13977,7 @@ checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" dependencies = [ "anyhow", "cc", - "cfg-if 1.0.0", + "cfg-if", "indexmap", "libc", "log", @@ -14068,9 +14008,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -14106,10 +14046,9 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -14173,6 +14112,7 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -14196,8 +14136,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -14210,9 +14150,9 @@ dependencies = [ [[package]] name = "which" -version = "4.3.0" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" dependencies = [ "either", "libc", @@ -14297,6 +14237,30 @@ dependencies = [ "windows_x86_64_msvc 0.42.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" @@ -14430,8 +14394,8 @@ dependencies = [ [[package]] name = "xcm" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -14444,8 +14408,8 @@ dependencies = [ [[package]] name = "xcm-builder" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "frame-system", @@ -14465,7 +14429,7 @@ dependencies = [ [[package]] name = "xcm-emulator" version = "0.1.0" -source = "git+https://github.com/MrPai/xcm-simulator.git?rev=5f0839a34b2b32e312901afffd16de07a7714757#5f0839a34b2b32e312901afffd16de07a7714757" +source = "git+https://github.com/shaunxw/xcm-simulator.git?rev=64d8822f6ebc1af50092677a80a9bdb74860e9a9#64d8822f6ebc1af50092677a80a9bdb74860e9a9" dependencies = [ "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", @@ -14490,8 +14454,8 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-benchmarking", "frame-support", @@ -14508,19 +14472,19 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "Inflector", - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", ] [[package]] name = "xcm-simulator" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot.git?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "parity-scale-codec", @@ -14540,7 +14504,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -14563,7 +14527,7 @@ version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.51", "quote 1.0.23", "syn 1.0.107", "synstructure", @@ -14590,9 +14554,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.5+zstd.1.5.2" +version = "2.0.7+zstd.1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc50ffce891ad571e9f9afe5039c4837bede781ac4bb13052ed7ae695518596" +checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" dependencies = [ "cc", "libc", diff --git a/Cargo.toml b/Cargo.toml index 52ccae0c2..16bb78719 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,33 +15,33 @@ members = ['node/*', 'pallets/*', 'runtime/*', 'support', 'precompiles/*','integ [patch.crates-io] #orml -orml-oracle = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-oracle-rpc = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-oracle-rpc-runtime-api = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-vesting = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-xcm = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } -orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'f336875e48599b5e9500b301385259354821f01f' } +orml-oracle = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-oracle-rpc = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-oracle-rpc-runtime-api = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-vesting = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-xcm = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } +orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library.git', rev = 'db0381f6363e0c8e781082b6f552c092b688fb1c' } #evm -fc-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fc-db = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fc-mapping-sync = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fc-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fc-rpc-core = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fp-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fp-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fp-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fp-storage = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fp-dynamic-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-ethereum = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -fp-self-contained = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-base-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-blake2 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-bn128 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-dispatch = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-ed25519 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-modexp = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-sha3fips = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } -pallet-evm-precompile-simple = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'aee1041c59274939484348b886762d522a7b4e28' } +fc-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fc-db = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fc-mapping-sync = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fc-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fc-rpc-core = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fp-consensus = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fp-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fp-rpc = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fp-storage = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fp-dynamic-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-ethereum = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +fp-self-contained = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-base-fee = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-blake2 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-bn128 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-dispatch = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-ed25519 = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-modexp = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-sha3fips = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } +pallet-evm-precompile-simple = { git = 'https://github.com/parallel-finance/frontier.git', rev = 'e8a21e99d47cb2b6e57d981d2a0302af5dd6b97e' } diff --git a/Makefile b/Makefile index 08248baa3..69660fe83 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ CUMULUS_DOCKER_TAG := v0.9.28 init: submodules git config advice.ignoredHook false git config core.hooksPath .githooks - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2022-07-24 --component rust-src --component rustfmt --component clippy --target wasm32-unknown-unknown + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2022-11-15 --component rust-src --component rustfmt --component clippy --target wasm32-unknown-unknown cargo install cargo-udeps --locked cd scripts/helper && yarn cd scripts/polkadot-launch && yarn @@ -88,7 +88,7 @@ test-crowdloans: .PHONY: integration-test integration-test: - RUST_LOG="xcm=trace,xcm-executor=trace,liquidStaking=trace" SKIP_WASM_BUILD= cargo test -p runtime-integration-tests -- --nocapture + SKIP_WASM_BUILD= cargo test -p runtime-integration-tests -- --nocapture .PHONY: integration-test-statemine integration-test-statemine: @@ -161,7 +161,7 @@ bench-asset-registry: build-release-if-not-exists .PHONY: lint lint: SKIP_WASM_BUILD= cargo fmt --all -- --check - SKIP_WASM_BUILD= cargo clippy --workspace --features runtime-benchmarks --exclude parallel -- -D dead_code -A clippy::derivable_impls -A clippy::explicit_counter_loop -A clippy::unnecessary_cast -A clippy::unnecessary_mut_passed -A clippy::too_many_arguments -A clippy::type_complexity -A clippy::identity_op -D warnings + SKIP_WASM_BUILD= cargo clippy --workspace --features runtime-benchmarks --exclude parallel -- -D dead_code -A clippy::derivable_impls -A clippy::explicit_counter_loop -A clippy::unnecessary_cast -A clippy::unnecessary_mut_passed -A clippy::too_many_arguments -A clippy::type_complexity -A clippy::identity_op -A clippy::partialeq-to-none -D warnings cd scripts/helper && yarn format -c && yarn lint .PHONY: fix @@ -286,15 +286,15 @@ try-snapshot-upgrade: .PHONY: try-live-upgrade try-live-upgrade: - cargo run --bin parallel --release --features try-runtime --features runtime-benchmarks -- try-runtime --chain $(CHAIN) --wasm-execution=compiled --no-spec-check-panic on-runtime-upgrade live --uri=$(URL) + cargo run --bin parallel --release --features try-runtime --features runtime-benchmarks -- try-runtime --runtime ./target/release/wbuild/$(CHAIN)-runtime/$(CHAIN)_runtime.wasm --chain $(CHAIN)-dev --wasm-execution=compiled on-runtime-upgrade live --uri=$(URL) .PHONY: try-heiko-live-upgrade try-heiko-live-upgrade: - make CHAIN=heiko-dev URL=wss://heiko-rpc.parallel.fi:443 try-live-upgrade + make CHAIN=heiko URL=wss://heiko-rpc.parallel.fi:443 try-live-upgrade .PHONY: try-parallel-live-upgrade try-parallel-live-upgrade: - make CHAIN=parallel-dev URL=wss://rpc.parallel.fi:443 try-live-upgrade + make CHAIN=parallel URL=wss://rpc.parallel.fi:443 try-live-upgrade help: @grep -E '^[a-zA-Z_-]+:.*?' Makefile | cut -d: -f1 | sort diff --git a/docs/LAUNCH.md b/docs/LAUNCH.md index 32071d146..b0ac2b5b1 100644 --- a/docs/LAUNCH.md +++ b/docs/LAUNCH.md @@ -40,7 +40,7 @@ sudo wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} 3. rust ``` -RUST_TOOLCHAIN=nightly-2022-05-11 +RUST_TOOLCHAIN=nightly-2022-11-15 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ sh -s -- -y --default-toolchain ${RUST_TOOLCHAIN} --component rust-src --target wasm32-unknown-unknown ``` diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 91fc0a5d2..81b1dbf90 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -18,32 +18,32 @@ static_assertions = '1.1.0' scale-info = { version = "2.1", default-features = false, features = ["derive"] } # Substrate -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-staking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-staking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } # Polkadot dependencies -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } # Cumulus dependencies -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } # ORML dependencies orml-oracle = { version = '0.4.1-dev' } @@ -54,7 +54,7 @@ orml-xcm-support = { version = '0.4.1-dev' } orml-xtokens = { version = '0.4.1-dev' } # Parallel dependencies -heiko-runtime = { path = '../runtime/heiko' } +heiko-runtime = { path = '../runtime/heiko', features = ['runtime-benchmarks'] } pallet-amm = { path = '../pallets/amm' } pallet-asset-registry = { path = '../pallets/asset-registry' } pallet-bridge = { path = '../pallets/bridge' } @@ -70,20 +70,20 @@ pallet-router = { path = '../pallets/router' } pallet-router-rpc-runtime-api = { path = '../pallets/router/rpc/runtime-api' } pallet-traits = { path = '../pallets/traits' } pallet-xcm-helper = { path = '../pallets/xcm-helper' } -parallel-runtime = { path = '../runtime/parallel' } +parallel-runtime = { path = '../runtime/parallel', features = ['runtime-benchmarks'] } primitives = { package = 'parallel-primitives', path = '../primitives' } [dev-dependencies] -cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-test-relay-sproof-builder = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } +cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-test-relay-sproof-builder = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } env_logger = '0.9.0' -kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', features = ['runtime-benchmarks'] } log = '0.4.14' -polkadot-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -statemine-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -statemint-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -xcm-emulator = { git = 'https://github.com/MrPai/xcm-simulator.git', rev = '5f0839a34b2b32e312901afffd16de07a7714757' } +polkadot-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +statemine-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', features = ['runtime-benchmarks'] } +statemint-runtime = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', features = ['runtime-benchmarks'] } +xcm-emulator = { git = 'https://github.com/shaunxw/xcm-simulator.git', rev = '64d8822f6ebc1af50092677a80a9bdb74860e9a9' } diff --git a/integration-tests/src/kusama_transfer.rs b/integration-tests/src/kusama_transfer.rs index 41600618d..e7f4f223a 100644 --- a/integration-tests/src/kusama_transfer.rs +++ b/integration-tests/src/kusama_transfer.rs @@ -72,7 +72,7 @@ fn transfer_to_relay_chain() { println!("heiko para account in relaychain:{:?}", para_acc); assert_eq!( kusama_runtime::Balances::free_balance(&AccountId::from(BOB)), - 999_989_594_258 + 999_896_665_870 ); }); } diff --git a/integration-tests/src/polkadot_transfer.rs b/integration-tests/src/polkadot_transfer.rs index 9d031e0ca..828bd9bc5 100644 --- a/integration-tests/src/polkadot_transfer.rs +++ b/integration-tests/src/polkadot_transfer.rs @@ -72,7 +72,7 @@ fn transfer_to_relay_chain() { println!("parallel para account in relaychain:{:?}", para_acc); assert_eq!( polkadot_runtime::Balances::free_balance(&AccountId::from(BOB)), - 99_573_469_824 + 99_591_353_032 ); }); } diff --git a/integration-tests/src/setup.rs b/integration-tests/src/setup.rs index 9ad0fbf6f..479f7732c 100644 --- a/integration-tests/src/setup.rs +++ b/integration-tests/src/setup.rs @@ -56,7 +56,7 @@ pub const KAR_WEIGHT_PER_SEC: u128 = 30_000_000_000; pub const CLV_WEIGHT_PER_SEC: u128 = 1_000_000_000_000_000; pub const FEE_IN_STATEMINE: u128 = 15_540_916; -pub const WEIGHT_IN_STATEMINE: u64 = 4_000_000_000; +pub const WEIGHT_IN_STATEMINE: u64 = 10_000_000_000; pub fn ksm(n: f64) -> Balance { (n as u128) * 10u128.pow(KSM_DECIMAL) @@ -129,7 +129,7 @@ impl ExtBuilder { System::set_block_number(1); Assets::force_create( RuntimeOrigin::root(), - KSM, + KSM.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -137,7 +137,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KSM, + KSM.into(), b"Kusama".to_vec(), b"KSM".to_vec(), 12, @@ -146,7 +146,7 @@ impl ExtBuilder { .unwrap(); Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - KSM, + KSM.into(), MultiAddress::Id(AccountId::from(ALICE)), ksm(100f64), ) @@ -155,7 +155,7 @@ impl ExtBuilder { //initialize for statemine rmrk Assets::force_create( RuntimeOrigin::root(), - RMRK, + RMRK.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -163,7 +163,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - RMRK, + RMRK.into(), b"RMRK".to_vec(), b"RMRK".to_vec(), RMRK_DECIMAL, @@ -193,8 +193,12 @@ impl ExtBuilder { let ksm_asset_location = MultiLocation::parent(); let ksm_asset_type = AssetType::Xcm(ksm_asset_location); - AssetRegistry::register_asset(RuntimeOrigin::root(), KSM, ksm_asset_type.clone()) - .unwrap(); + AssetRegistry::register_asset( + RuntimeOrigin::root(), + KSM.into(), + ksm_asset_type.clone(), + ) + .unwrap(); AssetRegistry::update_asset_units_per_second( RuntimeOrigin::root(), ksm_asset_type, @@ -237,7 +241,7 @@ impl ExtBuilder { //initialize for statemine usdt Assets::force_create( RuntimeOrigin::root(), - USDT, + USDT.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -245,7 +249,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - USDT, + USDT.into(), b"USDT".to_vec(), b"USDT".to_vec(), USDT_DECIMAL, @@ -277,7 +281,7 @@ impl ExtBuilder { //initialize for acala kar as mock sibling Assets::force_create( RuntimeOrigin::root(), - KAR, + KAR.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -285,7 +289,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KAR, + KAR.into(), b"KAR".to_vec(), b"KAR".to_vec(), KAR_DECIMAL, @@ -315,7 +319,7 @@ impl ExtBuilder { //initialize for liquidate staking Assets::force_create( RuntimeOrigin::root(), - SKSM, + SKSM.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -323,7 +327,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - SKSM, + SKSM.into(), b"Parallel Kusama".to_vec(), b"sKSM".to_vec(), 12, @@ -333,7 +337,7 @@ impl ExtBuilder { Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - SKSM, + SKSM.into(), MultiAddress::Id(AccountId::from(ALICE)), ksm(100f64), ) @@ -342,7 +346,7 @@ impl ExtBuilder { Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - KSM, + KSM.into(), MultiAddress::Id(XcmHelper::account_id()), ksm(100f64), ) @@ -390,7 +394,7 @@ impl ExtBuilder { System::set_block_number(1); Assets::force_create( RuntimeOrigin::root(), - DOT, + DOT.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -398,7 +402,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - DOT, + DOT.into(), b"Polkadot".to_vec(), b"DOT".to_vec(), 12, @@ -407,7 +411,7 @@ impl ExtBuilder { .unwrap(); Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - DOT, + DOT.into(), MultiAddress::Id(AccountId::from(ALICE)), dot(100f64), ) @@ -416,7 +420,7 @@ impl ExtBuilder { //initialize for clv as mock sibling Assets::force_create( RuntimeOrigin::root(), - CLV, + CLV.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -424,7 +428,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - CLV, + CLV.into(), b"CLV".to_vec(), b"CLV".to_vec(), CLV_DECIMAL, @@ -452,8 +456,12 @@ impl ExtBuilder { .unwrap(); let dot_asset_location = MultiLocation::parent(); let dot_asset_type = AssetType::Xcm(dot_asset_location); - AssetRegistry::register_asset(RuntimeOrigin::root(), DOT, dot_asset_type.clone()) - .unwrap(); + AssetRegistry::register_asset( + RuntimeOrigin::root(), + DOT.into(), + dot_asset_type.clone(), + ) + .unwrap(); AssetRegistry::update_asset_units_per_second( RuntimeOrigin::root(), dot_asset_type, @@ -471,8 +479,12 @@ impl ExtBuilder { ), ); let clv_asset_type = AssetType::Xcm(clv_asset_location); - AssetRegistry::register_asset(RuntimeOrigin::root(), CLV, clv_asset_type.clone()) - .unwrap(); + AssetRegistry::register_asset( + RuntimeOrigin::root(), + CLV.into(), + clv_asset_type.clone(), + ) + .unwrap(); AssetRegistry::update_asset_units_per_second( RuntimeOrigin::root(), clv_asset_type, @@ -520,7 +532,7 @@ impl ExtBuilder { // prepare for rmrk Assets::force_create( RuntimeOrigin::root(), - RMRK_ASSET_ID, + RMRK_ASSET_ID.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -537,7 +549,7 @@ impl ExtBuilder { .unwrap(); Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - RMRK_ASSET_ID, + RMRK_ASSET_ID.into(), MultiAddress::Id(AccountId::from(ALICE)), rmrk(10), ) @@ -546,7 +558,7 @@ impl ExtBuilder { // prepare for usdt Assets::force_create( RuntimeOrigin::root(), - USDT_ASSET_ID, + USDT_ASSET_ID.into(), MultiAddress::Id(AccountId::from(ALICE)), true, 1, @@ -554,7 +566,7 @@ impl ExtBuilder { .unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - USDT_ASSET_ID, + USDT_ASSET_ID.into(), b"USDT".to_vec(), b"USDT".to_vec(), USDT_DECIMAL, @@ -563,7 +575,7 @@ impl ExtBuilder { .unwrap(); Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - USDT_ASSET_ID, + USDT_ASSET_ID.into(), MultiAddress::Id(AccountId::from(ALICE)), usdt(10), ) diff --git a/integration-tests/src/statemine.rs b/integration-tests/src/statemine.rs index 0725625a6..6ee7335b2 100644 --- a/integration-tests/src/statemine.rs +++ b/integration-tests/src/statemine.rs @@ -21,9 +21,6 @@ use sp_runtime::{traits::AccountIdConversion, MultiAddress}; use xcm::latest::prelude::*; use xcm_emulator::TestExt; -// pub const FEE_IN_KUSAMA: u128 = 29_642_910; -pub const STATEMINE_TOTAL_FEE_AMOUNT: u128 = 1_000_000_000; //still can be decreased further but we add some margin here - #[test] fn transfer_statemine_rmrk() { //reserve transfer rmrk from statemine to heiko @@ -57,14 +54,26 @@ fn transfer_statemine_rmrk() { assert_eq!(Assets::balance(RMRK, &AccountId::from(BOB)), 19988000000); assert_ok!(Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - KSM, + KSM.into(), MultiAddress::Id(AccountId::from(BOB)), ksm(1f64), )); //mint some ksm to BOB to pay for the xcm fee - assert_ok!(XTokens::transfer_multicurrencies( + assert_ok!(XTokens::transfer_multiasset( RuntimeOrigin::signed(BOB.into()), - vec![(KSM, STATEMINE_TOTAL_FEE_AMOUNT), (RMRK, rmrk(1)),], - 0, + Box::new( + ( + MultiLocation::new( + 1, + X3( + Parachain(1000), + PalletInstance(50), + GeneralIndex(RMRK_ASSET_ID as u128) + ) + ), + rmrk(1) + ) + .into() + ), Box::new( MultiLocation::new( 1, @@ -86,14 +95,13 @@ fn transfer_statemine_rmrk() { let heiko_sovereign: AccountId = ParaId::from(2085u32).into_account_truncating(); let statemine_sovereign: AccountId = ParaId::from(1000u32).into_account_truncating(); assert_eq!( - ksm(100f64) - (STATEMINE_TOTAL_FEE_AMOUNT - FEE_IN_STATEMINE), + ksm(100f64), kusama_runtime::Balances::free_balance(&heiko_sovereign) ); //fee deducted from heiko_sovereign // https://github.com/open-web3-stack/open-runtime-module-library/pull/786/files // teleport will bypass the statemine_sovereign so it'll always be zero assert_eq!( 0, - // STATEMINE_TOTAL_FEE_AMOUNT - FEE_IN_STATEMINE - FEE_IN_KUSAMA, kusama_runtime::Balances::free_balance(&statemine_sovereign) ); // fee reserved into statemine_sovereign }); @@ -101,7 +109,7 @@ fn transfer_statemine_rmrk() { Statemine::execute_with(|| { use statemine_runtime::Assets; assert_eq!( - rmrk(1), + rmrk(1) - 1, Assets::balance(RMRK_ASSET_ID, &AccountId::from(BOB)) ); }); @@ -145,14 +153,26 @@ fn transfer_statemine_usdt() { assert_eq!(Assets::balance(USDT, &AccountId::from(BOB)), 1982000); assert_ok!(Assets::mint( RuntimeOrigin::signed(AccountId::from(ALICE)), - KSM, + KSM.into(), MultiAddress::Id(AccountId::from(BOB)), ksm(1f64), )); //mint some ksm to BOB to pay for the xcm fee - assert_ok!(XTokens::transfer_multicurrencies( + assert_ok!(XTokens::transfer_multiasset( RuntimeOrigin::signed(BOB.into()), - vec![(KSM, STATEMINE_TOTAL_FEE_AMOUNT), (USDT, usdt(1)),], - 0, + Box::new( + ( + MultiLocation::new( + 1, + X3( + Parachain(1000), + PalletInstance(50), + GeneralIndex(USDT_ASSET_ID as u128) + ) + ), + usdt(1) + ) + .into() + ), Box::new( MultiLocation::new( 1, @@ -174,7 +194,7 @@ fn transfer_statemine_usdt() { Statemine::execute_with(|| { use statemine_runtime::Assets; assert_eq!( - usdt(1), + usdt(1) - 1, Assets::balance(USDT_ASSET_ID, &AccountId::from(BOB)) ); }); diff --git a/node/parallel/Cargo.toml b/node/parallel/Cargo.toml index c5613dbf6..3bec67ca9 100644 --- a/node/parallel/Cargo.toml +++ b/node/parallel/Cargo.toml @@ -15,10 +15,10 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5' } derive_more = '0.15.0' -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } hex-literal = '0.3.4' -jsonrpsee = { version = "0.15.1", features = ["server", "macros"] } +jsonrpsee = { version = "0.16.2", features = ["server", "macros"] } log = '0.4.13' futures = { version = '0.3.1', features = ["compat"] } async-trait = '0.1.42' @@ -27,8 +27,8 @@ primitives = { package = 'parallel-primitives', path = '../../primitives' } pallet-loans-rpc = { path = '../../pallets/loans/rpc' } pallet-router-rpc = { path = '../../pallets/router/rpc' } -pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } # runtimes heiko-runtime = { path = '../../runtime/heiko' } @@ -36,27 +36,27 @@ parallel-runtime = { path = '../../runtime/parallel' } kerria-runtime = { path = '../../runtime/kerria' } vanilla-runtime = { path = '../../runtime/vanilla' } -sc-basic-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-chain-spec = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', features = ['wasmtime'] } -sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-executor = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', features = ['wasmtime'] } -sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', features = ['wasmtime'] } -sc-telemetry = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-tracing = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-transaction-pool-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-network-common = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sc-consensus-manual-seal = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } - -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -try-runtime-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', optional = true } +sc-basic-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-chain-spec = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36'} +sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-executor = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36'} +sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36'} +sc-telemetry = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-tracing = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-transaction-pool-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-network-common = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sc-consensus-manual-seal = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } + +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +try-runtime-cli = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', optional = true } clap = { version = '4.0.9', features = ['derive'] } serde = { version = '1.0.136', features = ['derive'] } @@ -64,44 +64,45 @@ serde_json = '1.0.79' tracing-core = '0.1.30' orml-oracle-rpc = { version = '0.4.1-dev', default-features = false } -substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -substrate-prometheus-endpoint = { git = 'https://github.com/paritytech/substrate.git', branch = "polkadot-v0.9.32" } - -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } - -cumulus-client-cli = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-client-collator = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-client-consensus-aura = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-client-network = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-client-service = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-relay-chain-inprocess-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-relay-chain-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-relay-chain-rpc-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-client-consensus-common = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-client-consensus-relay-chain = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-relay-chain-minimal-node = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } - -polkadot-cli = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', features = ['kusama-native'] } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-service = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +substrate-prometheus-endpoint = { git = 'https://github.com/paritytech/substrate.git', branch = "polkadot-v0.9.36" } + +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', optional = true } + +cumulus-client-cli = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-client-collator = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-client-consensus-aura = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-client-network = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-client-service = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-relay-chain-inprocess-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-relay-chain-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-relay-chain-rpc-interface = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-client-consensus-common = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-client-consensus-relay-chain = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-relay-chain-minimal-node = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } + +polkadot-cli = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', features = ['kusama-native'] } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-service = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } # Frontier dependencies fc-consensus = { version='2.0.0-dev' } @@ -116,12 +117,12 @@ fp-dynamic-fee = { version='1.0.0' } fp-rpc = { version='3.0.0-dev'} fp-self-contained = { version='1.0.0-dev'} pallet-base-fee = { version='1.0.0'} -pallet-ethereum = { version='4.0.0-dev'} -pallet-evm = { version='6.0.0-dev'} +pallet-ethereum = { version='4.0.0-dev', features = ['forbid-evm-reentrancy']} +pallet-evm = { version='6.0.0-dev', features = ['forbid-evm-reentrancy']} [build-dependencies] -substrate-build-script-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +substrate-build-script-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [[bin]] name = 'parallel' @@ -142,5 +143,7 @@ try-runtime = [ 'parallel-runtime/try-runtime', 'vanilla-runtime/try-runtime', 'kerria-runtime/try-runtime', - "polkadot-service/try-runtime", + 'polkadot-service/try-runtime', + 'try-runtime-cli/try-runtime', + 'sp-io', ] diff --git a/node/parallel/src/client.rs b/node/parallel/src/client.rs index e94b9fe55..4c6905411 100644 --- a/node/parallel/src/client.rs +++ b/node/parallel/src/client.rs @@ -201,23 +201,26 @@ impl sc_client_api::UsageProvider for Client { impl sc_client_api::BlockBackend for Client { fn block_body( &self, - id: &BlockId, + hash: ::Hash, ) -> sp_blockchain::Result::Extrinsic>>> { with_client! { self, client, { - client.block_body(id) + client.block_body(hash) } } } - fn block_indexed_body(&self, id: &BlockId) -> sp_blockchain::Result>>> { + fn block_indexed_body( + &self, + hash: ::Hash, + ) -> sp_blockchain::Result>>> { with_client! { self, client, { - client.block_indexed_body(id) + client.block_indexed_body(hash) } } } @@ -242,12 +245,15 @@ impl sc_client_api::BlockBackend for Client { } } - fn justifications(&self, id: &BlockId) -> sp_blockchain::Result> { + fn justifications( + &self, + hash: ::Hash, + ) -> sp_blockchain::Result> { with_client! { self, client, { - client.justifications(id) + client.justifications(hash) } } } @@ -267,7 +273,7 @@ impl sc_client_api::BlockBackend for Client { fn indexed_transaction( &self, - hash: &::Hash, + hash: ::Hash, ) -> sp_blockchain::Result>> { with_client! { self, @@ -280,7 +286,7 @@ impl sc_client_api::BlockBackend for Client { fn has_indexed_transaction( &self, - hash: &::Hash, + hash: ::Hash, ) -> sp_blockchain::Result { with_client! { self, @@ -305,7 +311,7 @@ impl sc_client_api::BlockBackend for Client { impl sc_client_api::StorageProvider for Client { fn storage( &self, - hash: &::Hash, + hash: ::Hash, key: &StorageKey, ) -> sp_blockchain::Result> { with_client! { @@ -319,7 +325,7 @@ impl sc_client_api::StorageProvider for Clie fn storage_keys( &self, - hash: &::Hash, + hash: ::Hash, key_prefix: &StorageKey, ) -> sp_blockchain::Result> { with_client! { @@ -333,7 +339,7 @@ impl sc_client_api::StorageProvider for Clie fn storage_hash( &self, - hash: &::Hash, + hash: ::Hash, key: &StorageKey, ) -> sp_blockchain::Result::Hash>> { with_client! { @@ -347,7 +353,7 @@ impl sc_client_api::StorageProvider for Clie fn storage_pairs( &self, - hash: &::Hash, + hash: ::Hash, key_prefix: &StorageKey, ) -> sp_blockchain::Result> { with_client! { @@ -361,7 +367,7 @@ impl sc_client_api::StorageProvider for Clie fn storage_keys_iter<'a>( &self, - hash: &::Hash, + hash: ::Hash, prefix: Option<&'a StorageKey>, start_key: Option<&StorageKey>, ) -> sp_blockchain::Result< @@ -382,7 +388,7 @@ impl sc_client_api::StorageProvider for Clie fn child_storage( &self, - hash: &::Hash, + hash: ::Hash, child_info: &ChildInfo, key: &StorageKey, ) -> sp_blockchain::Result> { @@ -397,7 +403,7 @@ impl sc_client_api::StorageProvider for Clie fn child_storage_keys( &self, - hash: &::Hash, + hash: ::Hash, child_info: &ChildInfo, key_prefix: &StorageKey, ) -> sp_blockchain::Result> { @@ -412,7 +418,7 @@ impl sc_client_api::StorageProvider for Clie fn child_storage_keys_iter<'a>( &self, - hash: &::Hash, + hash: ::Hash, child_info: ChildInfo, prefix: Option<&'a StorageKey>, start_key: Option<&StorageKey>, @@ -434,7 +440,7 @@ impl sc_client_api::StorageProvider for Clie fn child_storage_hash( &self, - hash: &::Hash, + hash: ::Hash, child_info: &ChildInfo, key: &StorageKey, ) -> sp_blockchain::Result::Hash>> { diff --git a/node/parallel/src/command.rs b/node/parallel/src/command.rs index 7bc0e21b5..7171d2b73 100644 --- a/node/parallel/src/command.rs +++ b/node/parallel/src/command.rs @@ -396,6 +396,12 @@ pub fn run() -> Result<()> { } #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(cmd)) => { + use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; + type HostFunctionsOf = ExtendedHostFunctions< + sp_io::SubstrateHostFunctions, + ::ExtendHostFunctions, + >; + let runner = cli.create_runner(cmd)?; let chain_spec = &runner.config().chain_spec; @@ -410,7 +416,7 @@ pub fn run() -> Result<()> { sc_cli::Error::Service(sc_service::Error::Prometheus(e)) })?; - Ok((cmd.run::(config), task_manager)) + Ok((cmd.run::>(), task_manager)) }) }) } diff --git a/node/parallel/src/service.rs b/node/parallel/src/service.rs index d16399c25..b07046851 100644 --- a/node/parallel/src/service.rs +++ b/node/parallel/src/service.rs @@ -13,6 +13,7 @@ // limitations under the License. use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion}; +use cumulus_client_consensus_common::ParachainBlockImport as TParachainBlockImport; use cumulus_client_network::BlockAnnounceValidator; use cumulus_client_service::{ prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, @@ -20,6 +21,7 @@ use cumulus_client_service::{ use cumulus_primitives_parachain_inherent::MockValidationDataInherentDataProvider; use polkadot_service::{CollatorPair, ConstructRuntimeApi}; +use sc_consensus::ImportQueue; use sc_consensus_manual_seal::{self as manual_seal}; use sc_executor::NativeElseWasmExecutor; use sc_network_common::service::NetworkBlock; @@ -102,6 +104,16 @@ pub type FullClient = sc_service::TFullClient>; pub type FullSelectChain = sc_consensus::LongestChain; +pub type ParachainBlockImport = TParachainBlockImport< + Block, + FrontierBlockImport< + Block, + Arc>, + FullClient, + >, + FullBackend, +>; + pub trait IdentifyVariant { fn is_parallel(&self) -> bool; @@ -153,6 +165,7 @@ pub fn new_partial( Option, Option, Arc>, + ParachainBlockImport, ), >, sc_service::Error, @@ -211,6 +224,9 @@ where let frontier_block_import = FrontierBlockImport::new(client.clone(), client.clone(), frontier_backend.clone()); + let parachain_block_import = + ParachainBlockImport::new(frontier_block_import.clone(), backend.clone()); + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; let import_queue = cumulus_client_consensus_aura::import_queue::< @@ -221,7 +237,7 @@ where _, _, >(cumulus_client_consensus_aura::ImportQueueParams { - block_import: frontier_block_import, + block_import: parachain_block_import.clone(), client: client.clone(), create_inherent_data_providers: move |_, _| async move { let time = sp_timestamp::InherentDataProvider::from_system_time(); @@ -247,7 +263,12 @@ where task_manager, transaction_pool, select_chain: (), - other: (telemetry, telemetry_worker_handle, frontier_backend), + other: ( + telemetry, + telemetry_worker_handle, + frontier_backend, + parachain_block_import, + ), }; Ok(params) @@ -264,17 +285,21 @@ async fn build_relay_chain_interface( Arc<(dyn RelayChainInterface + 'static)>, Option, )> { - match collator_options.relay_chain_rpc_url { - Some(relay_chain_url) => { - build_minimal_relay_chain_node(polkadot_config, task_manager, relay_chain_url).await - } - None => build_inprocess_relay_chain( + if !collator_options.relay_chain_rpc_urls.is_empty() { + build_minimal_relay_chain_node( + polkadot_config, + task_manager, + collator_options.relay_chain_rpc_urls, + ) + .await + } else { + build_inprocess_relay_chain( polkadot_config, parachain_config, telemetry_worker_handle, task_manager, None, - ), + ) } } @@ -299,7 +324,8 @@ where let parachain_config = prepare_node_config(parachain_config); let params = new_partial(¶chain_config)?; - let (mut telemetry, telemetry_worker_handle, frontier_backend) = params.other; + let (mut telemetry, telemetry_worker_handle, frontier_backend, parachain_block_import) = + params.other; let client = params.client.clone(); let backend = params.backend.clone(); @@ -324,7 +350,7 @@ where let validator = parachain_config.role.is_authority(); let prometheus_registry = parachain_config.prometheus_registry().cloned(); let transaction_pool = params.transaction_pool.clone(); - let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); + let import_queue_service = params.import_queue.service(); let (network, system_rpc_tx, tx_handler_controller, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { @@ -332,7 +358,7 @@ where client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), - import_queue: import_queue.clone(), + import_queue: params.import_queue, block_announce_validator_builder: Some(Box::new(|_| { Box::new(block_announce_validator) })), @@ -497,7 +523,7 @@ where Ok((slot, timestamp, parachain_inherent)) } }, - block_import: client.clone(), + block_import: parachain_block_import, para_client: client.clone(), backoff_authoring_blocks: Option::<()>::None, sync_oracle: network, @@ -521,7 +547,7 @@ where relay_chain_interface, spawner, parachain_consensus, - import_queue, + import_queue: import_queue_service, collator_key: collator_key.expect("Command line arguments do not allow this. qed"), relay_chain_slot_duration, }; @@ -535,7 +561,7 @@ where para_id: id, relay_chain_interface, relay_chain_slot_duration, - import_queue, + import_queue: import_queue_service, }; start_full_node(params)?; diff --git a/pallets/amm/Cargo.toml b/pallets/amm/Cargo.toml index 9f53cec2a..1748caa06 100644 --- a/pallets/amm/Cargo.toml +++ b/pallets/amm/Cargo.toml @@ -9,24 +9,24 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } num-traits = { default-features = false, version = '0.2' } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', features = ['derive'], optional = true } -sp-arithmetic = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-arithmetic = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] -pallet-balances = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } +pallet-balances = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } -sp-io = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } +sp-core = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } +sp-io = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } [features] default = ['std'] diff --git a/pallets/amm/src/benchmarking.rs b/pallets/amm/src/benchmarking.rs index 1b6164782..a94c52ff9 100644 --- a/pallets/amm/src/benchmarking.rs +++ b/pallets/amm/src/benchmarking.rs @@ -37,7 +37,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - tokens::SDOT, + tokens::SDOT.into(), account_id.clone(), true, One::one(), @@ -46,7 +46,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - tokens::DOT, + tokens::DOT.into(), account_id.clone(), true, One::one(), @@ -55,7 +55,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - ASSET_ID, + ASSET_ID.into(), account_id, true, One::one(), diff --git a/pallets/amm/src/lib.rs b/pallets/amm/src/lib.rs index b7200b5ea..786cf67fb 100644 --- a/pallets/amm/src/lib.rs +++ b/pallets/amm/src/lib.rs @@ -231,6 +231,7 @@ pub mod pallet { /// - `pool`: Currency pool, in which liquidity will be added /// - `liquidity_amounts`: Liquidity amounts to be added in pool /// - `minimum_amounts`: specifying its "worst case" ratio when pool already exists + #[pallet::call_index(0)] #[pallet::weight(T::AMMWeightInfo::add_liquidity())] #[transactional] pub fn add_liquidity( @@ -315,6 +316,7 @@ pub mod pallet { /// /// - `pair`: Currency pool, in which liquidity will be removed /// - `liquidity`: liquidity to be removed from user's liquidity + #[pallet::call_index(1)] #[pallet::weight(T::AMMWeightInfo::remove_liquidity())] #[transactional] pub fn remove_liquidity( @@ -365,6 +367,7 @@ pub mod pallet { /// - `liquidity_amounts`: Liquidity amounts to be added in pool /// - `lptoken_receiver`: Allocate any liquidity tokens to lptoken_receiver /// - `lp_token_id`: Liquidity pool share representative token + #[pallet::call_index(2)] #[pallet::weight(T::AMMWeightInfo::create_pool())] #[transactional] pub fn create_pool( @@ -378,7 +381,7 @@ pub mod pallet { let (is_inverted, base_asset, quote_asset) = Self::sort_assets(pair)?; ensure!( - !Pools::::contains_key(&base_asset, "e_asset), + !Pools::::contains_key(base_asset, quote_asset), Error::::PoolAlreadyExists ); @@ -411,7 +414,7 @@ pub mod pallet { (base_asset, quote_asset), )?; - Pools::::insert(&base_asset, "e_asset, pool); + Pools::::insert(base_asset, quote_asset, pool); log::trace!( target: "amm::create_pool", @@ -439,6 +442,7 @@ pub mod pallet { Ok(().into()) } + #[pallet::call_index(3)] #[pallet::weight(T::AMMWeightInfo::update_protocol_fee())] #[transactional] pub fn update_protocol_fee( @@ -451,6 +455,7 @@ pub mod pallet { Ok(().into()) } + #[pallet::call_index(4)] #[pallet::weight(T::AMMWeightInfo::update_protocol_fee_receiver())] #[transactional] pub fn update_protocol_fee_receiver( @@ -1047,8 +1052,8 @@ impl, I: 'static> Pallet { let (is_inverted, base_asset, quote_asset) = Self::sort_assets((asset_in, asset_out))?; Pools::::try_mutate( - &base_asset, - "e_asset, + base_asset, + quote_asset, |pool| -> Result, DispatchError> { let pool = pool.as_mut().ok_or(Error::::PoolDoesNotExist)?; diff --git a/pallets/amm/src/mock.rs b/pallets/amm/src/mock.rs index 5dac9c10a..5e3b3c27e 100644 --- a/pallets/amm/src/mock.rs +++ b/pallets/amm/src/mock.rs @@ -1,8 +1,11 @@ use crate as pallet_amm; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{parameter_types, traits::Everything, traits::SortedMembers, PalletId}; -use frame_system::{self as system, EnsureRoot}; +use frame_support::{ + parameter_types, traits::AsEnsureOriginWithArg, traits::Everything, traits::SortedMembers, + PalletId, +}; +use frame_system::{self as system, EnsureRoot, EnsureSigned}; use primitives::{tokens, Balance, CurrencyId, Ratio}; use scale_info::TypeInfo; #[cfg(feature = "std")] @@ -138,7 +141,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -149,6 +154,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -210,15 +218,29 @@ pub fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), tokens::DOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::SDOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::KSM, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN_2, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::DOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::SDOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::KSM.into(), ALICE, true, 1).unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN.into(), + ALICE, + true, + 1, + ) + .unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN_2.into(), + ALICE, + true, + 1, + ) + .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), ALICE, 100_000_000, ) @@ -226,22 +248,28 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), BOB, 100_000_000_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), CHARLIE, 1000_000_000, ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::DOT, EVE, 1000_000_000).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), + EVE, + 1000_000_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::DOT.into(), FRANK, 100_000_000_000_000_000_000, ) @@ -249,28 +277,28 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 100_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), BOB, 100_000_000_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), CHARLIE, 1000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), EVE, 1000_000_000, ) @@ -278,15 +306,21 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::KSM, + tokens::KSM.into(), ALICE, 100_000_000, ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::KSM, BOB, 100_000_000).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::KSM, + tokens::KSM.into(), + BOB, + 100_000_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::KSM.into(), FRANK, 100_000_000_000_000_000_000, ) diff --git a/pallets/amm/src/tests.rs b/pallets/amm/src/tests.rs index 87a7f55fc..eed03b7fa 100644 --- a/pallets/amm/src/tests.rs +++ b/pallets/amm/src/tests.rs @@ -947,14 +947,14 @@ fn create_pool_large_amount_should_work() { new_test_ext().execute_with(|| { Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 3_000_000_000_000_000_000_000, ) .ok(); Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 2_000_000_000_000_000_000_000, ) @@ -994,14 +994,14 @@ fn create_pool_large_amount_from_an_account_without_sufficient_amount_of_tokens_ new_test_ext().execute_with(|| { Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 3_000_000_000_000_000_000_000, ) .ok(); Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 2_000_000_000_000_000_000_000, ) @@ -1035,7 +1035,7 @@ fn do_add_liquidity_exact_amounts_should_work() { // Already deposited 100000000 Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 999_999_999_999_900_000_000, ) @@ -1044,7 +1044,7 @@ fn do_add_liquidity_exact_amounts_should_work() { // Already deposited 100000000 Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 199_999_999_999_990_000_000_0, ) @@ -1077,14 +1077,14 @@ fn do_add_liquidity_large_amounts_should_work() { new_test_ext().execute_with(|| { Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 3_000_000_000_000_000_000_000, ) .ok(); Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 2_000_000_000_000_000_000_000, ) @@ -1276,19 +1276,19 @@ fn quote_should_not_overflow() { #[test] fn glmr_add_liquidity_should_work() { new_test_ext().execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), tokens::GLMR, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::PARA, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::GLMR.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::PARA.into(), ALICE, true, 1).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::GLMR, + tokens::GLMR.into(), ALICE, 1000000000000000000000000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::PARA, + tokens::PARA.into(), ALICE, 200000000000000000000, ) diff --git a/pallets/asset-registry/Cargo.toml b/pallets/asset-registry/Cargo.toml index b52e875a8..b07cb3f33 100644 --- a/pallets/asset-registry/Cargo.toml +++ b/pallets/asset-registry/Cargo.toml @@ -9,24 +9,24 @@ log = { version = '0.4', default-features = false } serde = { version = '1.0.136', optional = true } # Substrate -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } parity-scale-codec = { version = '3.1.5', default-features = false, features = ['derive'] } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } # Polkadot -xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.32', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.36', default-features = false } # Benchmarks -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', optional = true, default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', optional = true, default-features = false } [dev-dependencies] -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std'] diff --git a/pallets/asset-registry/src/lib.rs b/pallets/asset-registry/src/lib.rs index 1a59af89b..3c0617565 100644 --- a/pallets/asset-registry/src/lib.rs +++ b/pallets/asset-registry/src/lib.rs @@ -125,6 +125,7 @@ pub mod pallet { #[pallet::call] impl Pallet { /// Register new asset with the asset registry + #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::register_asset())] pub fn register_asset( origin: OriginFor, @@ -134,12 +135,12 @@ pub mod pallet { T::UpdateOrigin::ensure_origin(origin)?; ensure!( - !AssetIdType::::contains_key(&asset_id), + !AssetIdType::::contains_key(asset_id), Error::::AssetAlreadyExists ); - AssetIdType::::insert(&asset_id, &asset_type); - AssetTypeId::::insert(&asset_type, &asset_id); + AssetIdType::::insert(asset_id, &asset_type); + AssetTypeId::::insert(&asset_type, asset_id); Self::deposit_event(Event::AssetRegistered { asset_id, @@ -149,6 +150,7 @@ pub mod pallet { } /// Change the amount of units we are charging per execution second for a given AssetType + #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::update_asset_units_per_second())] pub fn update_asset_units_per_second( origin: OriginFor, @@ -171,7 +173,7 @@ pub mod pallet { SupportedFeePaymentAssets::::put(supported_assets); } - AssetTypeUnitsPerSecond::::insert(&asset_type, &units_per_second); + AssetTypeUnitsPerSecond::::insert(&asset_type, units_per_second); Self::deposit_event(Event::UnitsPerSecondUpdated { asset_type, @@ -183,6 +185,7 @@ pub mod pallet { /// Change the xcm type mapping for a given assetId /// We also change this if the previous units per second where pointing at the old /// assetType + #[pallet::call_index(2)] #[pallet::weight(T::WeightInfo::update_asset_type())] pub fn update_asset_type( origin: OriginFor, @@ -195,11 +198,11 @@ pub mod pallet { let mut supported_assets = SupportedFeePaymentAssets::::get(); let previous_asset_type = - AssetIdType::::get(&asset_id).ok_or(Error::::AssetDoesNotExist)?; + AssetIdType::::get(asset_id).ok_or(Error::::AssetDoesNotExist)?; // Insert new asset type info - AssetIdType::::insert(&asset_id, &new_asset_type); - AssetTypeId::::insert(&new_asset_type, &asset_id); + AssetIdType::::insert(asset_id, &new_asset_type); + AssetTypeId::::insert(&new_asset_type, asset_id); // Remove previous asset type info AssetTypeId::::remove(&previous_asset_type); @@ -231,6 +234,7 @@ pub mod pallet { Ok(()) } + #[pallet::call_index(3)] #[pallet::weight(T::WeightInfo::remove_fee_payment_asset())] pub fn remove_fee_payment_asset( origin: OriginFor, @@ -257,6 +261,7 @@ pub mod pallet { } /// Remove a given assetId -> assetType association + #[pallet::call_index(4)] #[pallet::weight(T::WeightInfo::deregister_asset())] pub fn deregister_asset(origin: OriginFor, asset_id: T::AssetId) -> DispatchResult { T::UpdateOrigin::ensure_origin(origin)?; @@ -265,10 +270,10 @@ pub mod pallet { let mut supported_assets = SupportedFeePaymentAssets::::get(); let asset_type = - AssetIdType::::get(&asset_id).ok_or(Error::::AssetDoesNotExist)?; + AssetIdType::::get(asset_id).ok_or(Error::::AssetDoesNotExist)?; // Remove from AssetIdType - AssetIdType::::remove(&asset_id); + AssetIdType::::remove(asset_id); // Remove from AssetTypeId AssetTypeId::::remove(&asset_type); // Remove previous asset type units per second diff --git a/pallets/bridge/Cargo.toml b/pallets/bridge/Cargo.toml index f9e00b5ce..992787f95 100644 --- a/pallets/bridge/Cargo.toml +++ b/pallets/bridge/Cargo.toml @@ -9,22 +9,22 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std'] diff --git a/pallets/bridge/src/benchmarking.rs b/pallets/bridge/src/benchmarking.rs index 035741263..294bd3bee 100644 --- a/pallets/bridge/src/benchmarking.rs +++ b/pallets/bridge/src/benchmarking.rs @@ -32,11 +32,17 @@ fn transfer_initial_balance< caller: T::AccountId, ) { let account_id = T::Lookup::unlookup(caller.clone()); - pallet_assets::Pallet::::force_create(SystemOrigin::Root.into(), USDT, account_id, true, 1) - .ok(); + pallet_assets::Pallet::::force_create( + SystemOrigin::Root.into(), + USDT.into(), + account_id, + true, + 1, + ) + .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - USDT, + USDT.into(), b"tether".to_vec(), b"USDT".to_vec(), 6, diff --git a/pallets/bridge/src/lib.rs b/pallets/bridge/src/lib.rs index 97c635c8b..718cbe3d6 100644 --- a/pallets/bridge/src/lib.rs +++ b/pallets/bridge/src/lib.rs @@ -329,6 +329,7 @@ pub mod pallet { /// Only registered chains are allowed to do cross-chain /// /// - `chain_id`: should be unique. + #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::register_chain())] #[transactional] pub fn register_chain(origin: OriginFor, chain_id: ChainId) -> DispatchResult { @@ -350,6 +351,7 @@ pub mod pallet { } /// Unregister the specified chain_id + #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::unregister_chain())] #[transactional] pub fn unregister_chain(origin: OriginFor, chain_id: ChainId) -> DispatchResult { @@ -372,6 +374,7 @@ pub mod pallet { /// Only registered bridge_tokens are allowed to cross-chain /// /// - `bridge_token`: bridge_token_id should be unique. + #[pallet::call_index(2)] #[pallet::weight(T::WeightInfo::register_bridge_token())] #[transactional] pub fn register_bridge_token( @@ -405,6 +408,7 @@ pub mod pallet { } /// Unregister the specified bridge_token_id + #[pallet::call_index(3)] #[pallet::weight(T::WeightInfo::unregister_bridge_token())] #[transactional] pub fn unregister_bridge_token( @@ -423,6 +427,7 @@ pub mod pallet { } /// Set the cross-chain transaction fee for a registered bridge token + #[pallet::call_index(4)] #[pallet::weight(T::WeightInfo::set_bridge_token_fee())] #[transactional] pub fn set_bridge_token_fee( @@ -441,6 +446,7 @@ pub mod pallet { } /// Set the cross-chain transaction fee for a registered bridge token + #[pallet::call_index(5)] #[pallet::weight(T::WeightInfo::set_bridge_token_status())] #[transactional] pub fn set_bridge_token_status( @@ -459,6 +465,7 @@ pub mod pallet { } /// Set the cross-chain transaction cap for a registered bridge token + #[pallet::call_index(6)] #[pallet::weight(T::WeightInfo::set_bridge_token_cap())] #[transactional] pub fn set_bridge_token_cap( @@ -485,6 +492,7 @@ pub mod pallet { } /// Clean the accumulated cap value to make bridge work again + #[pallet::call_index(7)] #[pallet::weight(T::WeightInfo::clean_cap_accumulated_value())] #[transactional] pub fn clean_cap_accumulated_value( @@ -518,6 +526,7 @@ pub mod pallet { /// - `bridge_token_id`: bridge token should be registered before teleport. /// - `to`: recipient of the bridge token of another chain /// - `amount`: amount to be teleported, the decimal of bridge token may be different + #[pallet::call_index(8)] #[pallet::weight(T::WeightInfo::teleport())] #[transactional] pub fn teleport( @@ -566,6 +575,7 @@ pub mod pallet { /// - `to`: recipient of the bridge token of this chain /// - `amount`: amount to be materialized, the decimal of bridge token may be different /// - `favour`: whether to favour the cross-chain transaction or not, always be true for now. + #[pallet::call_index(9)] #[pallet::weight(T::WeightInfo::materialize())] #[transactional] pub fn materialize( @@ -822,7 +832,7 @@ impl Pallet { } pub fn has_bridged(chain_id: ChainId, chain_nonce: ChainNonce) -> bool { - Self::bridge_registry(&chain_id).map_or(false, |registry| { + Self::bridge_registry(chain_id).map_or(false, |registry| { registry .iter() .any(|&r| (chain_nonce >= r.0 && chain_nonce <= r.1)) @@ -831,7 +841,7 @@ impl Pallet { /// Records completed bridge transactions fn update_bridge_registry(chain_id: ChainId, nonce: ChainNonce) { - match Self::bridge_registry(&chain_id) { + match Self::bridge_registry(chain_id) { None => {} Some(mut registry) => { registry.iter_mut().for_each(|x| { diff --git a/pallets/bridge/src/mock.rs b/pallets/bridge/src/mock.rs index 51b151727..bb4655996 100644 --- a/pallets/bridge/src/mock.rs +++ b/pallets/bridge/src/mock.rs @@ -3,9 +3,12 @@ use super::*; use frame_support::{ parameter_types, - traits::{fungibles::InspectMetadata, ChangeMembers, EitherOfDiverse, Everything}, + traits::{ + fungibles::InspectMetadata, AsEnsureOriginWithArg, ChangeMembers, EitherOfDiverse, + Everything, + }, }; -use frame_system::{self as system, EnsureRoot}; +use frame_system::{self as system, EnsureRoot, EnsureSigned}; use primitives::tokens::{HKO, KSM}; use system::EnsureSignedBy; @@ -117,7 +120,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -128,6 +133,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -262,20 +270,20 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), KSM, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), KSM.into(), ALICE, true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KSM, + KSM.into(), b"Kusama".to_vec(), b"KSM".to_vec(), 12, false, ) .unwrap(); - Assets::force_create(RuntimeOrigin::root(), USDT, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), USDT.into(), ALICE, true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - USDT, + USDT.into(), b"USDT".to_vec(), b"USDT".to_vec(), 6, diff --git a/pallets/bridge/src/tests.rs b/pallets/bridge/src/tests.rs index 0a8154e9e..5b0879623 100644 --- a/pallets/bridge/src/tests.rs +++ b/pallets/bridge/src/tests.rs @@ -461,7 +461,7 @@ fn set_bridge_token_fee_works() { Bridge::set_bridge_token_fee(RuntimeOrigin::root(), EUSDT, usdt(1)).unwrap(); // EVE has 10 USDT initialized - Assets::mint(RuntimeOrigin::signed(ALICE), USDT, EVE, usdt(10)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), USDT.into(), EVE, usdt(10)).unwrap(); assert_eq!(::Assets::balance(USDT, &EVE), usdt(10)); // EVE teleport 10 EUSDT @@ -600,7 +600,7 @@ fn teleport_external_currency_works() { Bridge::set_bridge_token_fee(RuntimeOrigin::root(), EUSDT, usdt(1)).unwrap(); // EVE has 100 USDT initialized - Assets::mint(RuntimeOrigin::signed(ALICE), USDT, EVE, usdt(100)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), USDT.into(), EVE, usdt(100)).unwrap(); assert_eq!(::Assets::balance(USDT, &EVE), usdt(100)); // EVE teleport 10 EUSDT diff --git a/pallets/crowdloans/Cargo.toml b/pallets/crowdloans/Cargo.toml index 04f9a9622..38e5488fb 100644 --- a/pallets/crowdloans/Cargo.toml +++ b/pallets/crowdloans/Cargo.toml @@ -9,46 +9,46 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } pallet-xcm-helper = { path = '../xcm-helper', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } parallel-support = { path = '../../support', default-features = false } [dev-dependencies] -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', features = ['runtime-benchmarks'] } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', features = ['runtime-benchmarks'] } orml-traits = { version = '0.4.1-dev' } orml-xcm-support = { version = '0.4.1-dev' } orml-xtokens = { version = '0.4.1-dev' } -pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-cli = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-cli = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } serde = { version = '1.0.136' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } bytes = { version = "1.1.0"} [features] diff --git a/pallets/crowdloans/src/benchmarking.rs b/pallets/crowdloans/src/benchmarking.rs index 05da5848b..6713d928d 100644 --- a/pallets/crowdloans/src/benchmarking.rs +++ b/pallets/crowdloans/src/benchmarking.rs @@ -44,7 +44,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - ::RelayCurrency::get(), + ::RelayCurrency::get().into(), account_id.clone(), true, One::one(), @@ -54,7 +54,7 @@ fn initial_set_up< // force create a new ctoken asset pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - ctoken, + ctoken.into(), account_id, true, One::one(), diff --git a/pallets/crowdloans/src/lib.rs b/pallets/crowdloans/src/lib.rs index cd3ae6171..125f29d95 100644 --- a/pallets/crowdloans/src/lib.rs +++ b/pallets/crowdloans/src/lib.rs @@ -415,6 +415,7 @@ pub mod pallet { /// - `contribution_strategy`: currently, only XCM strategy is supported. /// - `cap`: the capacity limit for the vault /// - `end_block`: the crowdloan end block for the vault + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::create_vault())] #[transactional] pub fn create_vault( @@ -482,7 +483,7 @@ pub mod pallet { NextTrieIndex::::put(next_trie_index); Vaults::::insert((&crowdloan, &lease_start, &lease_end), new_vault); CTokensRegistry::::insert((&lease_start, &lease_end), ctoken); - LeasesRegistry::::insert(&crowdloan, (lease_start, lease_end)); + LeasesRegistry::::insert(crowdloan, (lease_start, lease_end)); Self::deposit_event(Event::::VaultCreated( crowdloan, @@ -499,6 +500,7 @@ pub mod pallet { } /// Update an existing vault via a governance decision + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::update_vault())] #[transactional] pub fn update_vault( @@ -552,6 +554,7 @@ pub mod pallet { } /// Mark the associated vault as ready for real contributions on the relaychain + #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::open())] #[transactional] pub fn open(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -577,6 +580,7 @@ pub mod pallet { /// Contribute `amount` to the vault of `crowdloan` and receive some /// shares from it + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::contribute())] #[transactional] pub fn contribute( @@ -675,6 +679,7 @@ pub mod pallet { } /// Set crowdloans which entered vrf period + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::set_vrf())] #[transactional] pub fn set_vrf(origin: OriginFor, flag: bool) -> DispatchResult { @@ -693,6 +698,7 @@ pub mod pallet { } /// Mark the associated vault as `Closed` and stop accepting contributions + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::close())] #[transactional] pub fn close(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -717,6 +723,7 @@ pub mod pallet { } /// Mark the associated vault as `Contributing` and continue to accept contributions + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::reopen())] #[transactional] pub fn reopen(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -741,6 +748,7 @@ pub mod pallet { } /// Mark the associated vault as `Succeed` if vault is `Closed` + #[pallet::call_index(7)] #[pallet::weight(::WeightInfo::auction_succeeded())] #[transactional] pub fn auction_succeeded(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -766,6 +774,7 @@ pub mod pallet { /// If a `crowdloan` failed, get the coins back and mark the vault as ready /// for distribution + #[pallet::call_index(8)] #[pallet::weight(::WeightInfo::auction_failed())] #[transactional] pub fn auction_failed(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -790,6 +799,7 @@ pub mod pallet { /// If a `crowdloan` succeeded, claim the liquid derivatives of the /// contributed assets + #[pallet::call_index(9)] #[pallet::weight(::WeightInfo::claim())] #[transactional] pub fn claim( @@ -804,6 +814,7 @@ pub mod pallet { /// If a `crowdloan` succeeded, claim the liquid derivatives of the /// contributed assets for others + #[pallet::call_index(10)] #[pallet::weight(::WeightInfo::claim())] #[transactional] pub fn claim_for( @@ -819,6 +830,7 @@ pub mod pallet { } /// If a `crowdloan` failed, withdraw the contributed assets + #[pallet::call_index(11)] #[pallet::weight(::WeightInfo::withdraw())] #[transactional] pub fn withdraw( @@ -832,6 +844,7 @@ pub mod pallet { } /// If a `crowdloan` failed, withdraw the contributed assets for others + #[pallet::call_index(12)] #[pallet::weight(::WeightInfo::withdraw())] #[transactional] pub fn withdraw_for( @@ -848,6 +861,7 @@ pub mod pallet { /// If a `crowdloan` expired, redeem the contributed assets /// using ctoken + #[pallet::call_index(13)] #[pallet::weight(::WeightInfo::redeem())] #[transactional] pub fn redeem( @@ -909,6 +923,7 @@ pub mod pallet { /// If a `crowdloan` succeeded and its slot expired, use `call` to /// claim back the funds lent to the parachain + #[pallet::call_index(14)] #[pallet::weight(::WeightInfo::slot_expired())] #[transactional] pub fn slot_expired(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -932,6 +947,7 @@ pub mod pallet { } /// Migrate pending contribution by sending xcm + #[pallet::call_index(15)] #[pallet::weight(::WeightInfo::migrate_pending())] #[transactional] pub fn migrate_pending(origin: OriginFor, crowdloan: ParaId) -> DispatchResult { @@ -993,6 +1009,7 @@ pub mod pallet { Ok(()) } + #[pallet::call_index(16)] #[pallet::weight(::WeightInfo::notification_received())] #[transactional] pub fn notification_received( @@ -1002,7 +1019,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { let responder = ensure_response(::RuntimeOrigin::from(origin))?; if let Response::ExecutionResult(res) = response { - if let Some(request) = Self::xcm_request(&query_id) { + if let Some(request) = Self::xcm_request(query_id) { Self::do_notification_received(query_id, request, res)?; } @@ -1016,6 +1033,7 @@ pub mod pallet { } /// Refund contributions + #[pallet::call_index(17)] #[pallet::weight(::WeightInfo::refund())] #[transactional] pub fn refund( @@ -1066,6 +1084,7 @@ pub mod pallet { } /// Dissolve vault + #[pallet::call_index(18)] #[pallet::weight(::WeightInfo::dissolve_vault())] #[transactional] pub fn dissolve_vault( @@ -1096,9 +1115,9 @@ pub mod pallet { Vaults::::remove((&crowdloan, &lease_start, &lease_end)); - if let Some(vault_id) = LeasesRegistry::::get(&crowdloan) { + if let Some(vault_id) = LeasesRegistry::::get(crowdloan) { if vault_id == (lease_start, lease_end) { - LeasesRegistry::::remove(&crowdloan); + LeasesRegistry::::remove(crowdloan); } } @@ -1115,6 +1134,7 @@ pub mod pallet { /// Once relaychain is in vrf but parachain didn't update vrf in time. /// Contributions received during this period should be refund to users, /// especially for those succeeded parachains. + #[pallet::call_index(19)] #[pallet::weight(::WeightInfo::refund_for())] #[transactional] pub fn refund_for( @@ -1156,6 +1176,7 @@ pub mod pallet { } /// Update crowdloans proxy address in relaychain + #[pallet::call_index(20)] #[pallet::weight(::WeightInfo::update_proxy())] #[transactional] pub fn update_proxy(origin: OriginFor, proxy_address: AccountIdOf) -> DispatchResult { @@ -1173,6 +1194,7 @@ pub mod pallet { } /// Update crowdloans proxy address in relaychain + #[pallet::call_index(21)] #[pallet::weight(::WeightInfo::update_leases_bonus())] #[transactional] pub fn update_leases_bonus( @@ -1430,7 +1452,7 @@ pub mod pallet { } if executed { - XcmRequests::::remove(&query_id); + XcmRequests::::remove(query_id); } Ok(()) diff --git a/pallets/crowdloans/src/migrations.rs b/pallets/crowdloans/src/migrations.rs index 5b89b3b2c..02b3427c4 100644 --- a/pallets/crowdloans/src/migrations.rs +++ b/pallets/crowdloans/src/migrations.rs @@ -75,7 +75,7 @@ pub mod v1 { Vaults::::insert((&ParaId::from(para_id), &lease_start, &lease_end), vault); CTokensRegistry::::insert((&lease_start, &lease_end), ctoken); - LeasesRegistry::::insert(&ParaId::from(para_id), (lease_start, lease_end)); + LeasesRegistry::::insert(ParaId::from(para_id), (lease_start, lease_end)); } NextTrieIndex::::put(next_trie_index + 1); StorageVersion::::put(Releases::V1_0_0); @@ -207,7 +207,7 @@ pub mod v2 { Vaults::::insert((&ParaId::from(para_id), &lease_start, &lease_end), vault); CTokensRegistry::::insert((&lease_start, &lease_end), ctoken); - LeasesRegistry::::insert(&ParaId::from(para_id), (lease_start, lease_end)); + LeasesRegistry::::insert(ParaId::from(para_id), (lease_start, lease_end)); } NextTrieIndex::::put(14); StorageVersion::::put(Releases::V2_0_0); diff --git a/pallets/crowdloans/src/mock.rs b/pallets/crowdloans/src/mock.rs index 6ec6634e9..7755f9295 100644 --- a/pallets/crowdloans/src/mock.rs +++ b/pallets/crowdloans/src/mock.rs @@ -5,13 +5,13 @@ use frame_support::{ dispatch::Weight, parameter_types, sp_io, traits::{ - tokens::BalanceConversion, ConstU32, EitherOfDiverse, Everything, GenesisBuild, Nothing, - OriginTrait, SortedMembers, + tokens::BalanceConversion, AsEnsureOriginWithArg, ConstU32, EitherOfDiverse, Everything, + GenesisBuild, Nothing, OriginTrait, SortedMembers, }, - weights::constants::WEIGHT_PER_SECOND, + weights::constants::WEIGHT_REF_TIME_PER_SECOND, PalletId, WeakBoundedVec, }; -use frame_system::{EnsureRoot, EnsureSignedBy}; +use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; use orml_xcm_support::IsNativeConcrete; pub use pallet_traits::{VaultTokenCurrenciesFilter, VaultTokenExchangeRateProvider}; @@ -80,8 +80,8 @@ impl BlockNumberProvider for MockBlockNumberProvider { } parameter_types! { - pub const ReservedXcmpWeight: Weight = WEIGHT_PER_SECOND.saturating_div(4); - pub const ReservedDmpWeight: Weight = WEIGHT_PER_SECOND.saturating_div(4); + pub const ReservedXcmpWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4)); + pub const ReservedDmpWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4)); } impl cumulus_pallet_parachain_system::Config for Test { @@ -577,7 +577,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -588,6 +590,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type WeightInfo = (); type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } construct_runtime!( @@ -628,13 +633,25 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), DOT, Id(ALICE), true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SDOT, Id(ALICE), true, 1).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, Id(ALICE), dot(100f64)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), SDOT, Id(ALICE), dot(100f64)).unwrap(); + Assets::force_create(RuntimeOrigin::root(), DOT.into(), Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SDOT.into(), Id(ALICE), true, 1).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), + Id(ALICE), + dot(100f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + SDOT.into(), + Id(ALICE), + dot(100f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + DOT.into(), Id(XcmHelper::account_id()), dot(30f64), ) @@ -716,19 +733,25 @@ pub fn para_ext(para_id: u32) -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { System::set_block_number(1); - Assets::force_create(RuntimeOrigin::root(), DOT, Id(ALICE), true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SDOT, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), DOT.into(), Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SDOT.into(), Id(ALICE), true, 1).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), Id(ALICE), dot(100_000f64), ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), SDOT, Id(ALICE), dot(100f64)).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + SDOT.into(), + Id(ALICE), + dot(100f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + DOT.into(), Id(XcmHelper::account_id()), dot(30f64), ) diff --git a/pallets/crowdloans/src/tests.rs b/pallets/crowdloans/src/tests.rs index 0ad464f2e..f6d30286d 100644 --- a/pallets/crowdloans/src/tests.rs +++ b/pallets/crowdloans/src/tests.rs @@ -11,7 +11,7 @@ use frame_system::RawOrigin; use polkadot_parachain::primitives::{HeadData, ValidationCode}; use primitives::{tokens::DOT, BlockNumber, ParaId, Rate}; use sp_runtime::{ - traits::{One, UniqueSaturatedInto, Zero}, + traits::{One, Zero}, DispatchError, MultiAddress::Id, }; @@ -32,7 +32,7 @@ fn create_new_vault_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -108,7 +108,7 @@ fn create_new_vault_should_not_work_if_ctoken_is_different() { assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -116,7 +116,7 @@ fn create_new_vault_should_not_work_if_ctoken_is_different() { Assets::mint( RuntimeOrigin::signed(Crowdloans::account_id()), - ctoken, + ctoken.into(), Id(ALICE), dot(100f64), ) @@ -164,7 +164,7 @@ fn open_should_work() { // create the ctoken asset (Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -229,7 +229,7 @@ fn create_new_vault_should_not_work_if_crowdloan_already_exists() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -275,7 +275,7 @@ fn set_vrf_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -352,7 +352,7 @@ fn contribute_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -419,7 +419,7 @@ fn contribute_should_fail_insufficient_funds() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -599,7 +599,7 @@ fn claim_failed_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -691,7 +691,7 @@ fn claim_succeed_and_expired_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -940,7 +940,7 @@ fn xcm_contribute_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -1258,7 +1258,7 @@ fn claim_for_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -1342,7 +1342,7 @@ fn withdraw_for_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -1433,7 +1433,7 @@ fn get_ctoken_exchange_rate_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -1546,7 +1546,7 @@ fn get_ctoken_exchange_rate_with_partial_lease_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -1600,7 +1600,7 @@ fn get_ctoken_exchange_rate_with_minor_input_change_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), @@ -1780,7 +1780,7 @@ fn xcm_proxy_contribute_should_work() { // create the ctoken asset assert_ok!(Assets::force_create( RawOrigin::Root.into(), - ctoken.unique_saturated_into(), + ctoken.into(), Id(Crowdloans::account_id()), true, One::one(), diff --git a/pallets/currency-adapter/Cargo.toml b/pallets/currency-adapter/Cargo.toml index 8278ecad9..7ab53d553 100644 --- a/pallets/currency-adapter/Cargo.toml +++ b/pallets/currency-adapter/Cargo.toml @@ -9,11 +9,11 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] diff --git a/pallets/currency-adapter/src/lib.rs b/pallets/currency-adapter/src/lib.rs index f095ed106..515b10bec 100644 --- a/pallets/currency-adapter/src/lib.rs +++ b/pallets/currency-adapter/src/lib.rs @@ -79,6 +79,7 @@ pub mod pallet { #[pallet::call] impl Pallet { + #[pallet::call_index(0)] #[pallet::weight(10_000)] pub fn force_set_lock( origin: OriginFor, @@ -95,6 +96,7 @@ pub mod pallet { Ok(()) } + #[pallet::call_index(1)] #[pallet::weight(10_000)] pub fn force_remove_lock( origin: OriginFor, @@ -176,6 +178,13 @@ impl Inspects for Pallet { T::Assets::can_withdraw(asset, who, amount) } } + fn asset_exists(asset: Self::AssetId) -> bool { + if asset == T::GetNativeCurrencyId::get() { + true + } else { + T::Assets::asset_exists(asset) + } + } } impl Mutates for Pallet { diff --git a/pallets/emergency-shutdown/Cargo.toml b/pallets/emergency-shutdown/Cargo.toml index 3bea51394..4951f6b54 100644 --- a/pallets/emergency-shutdown/Cargo.toml +++ b/pallets/emergency-shutdown/Cargo.toml @@ -9,16 +9,16 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std'] diff --git a/pallets/emergency-shutdown/src/lib.rs b/pallets/emergency-shutdown/src/lib.rs index ac0d1198d..a57062d13 100644 --- a/pallets/emergency-shutdown/src/lib.rs +++ b/pallets/emergency-shutdown/src/lib.rs @@ -84,6 +84,7 @@ pub mod pallet { #[pallet::call] impl Pallet { /// Toggle the shutdown flag + #[pallet::call_index(0)] #[pallet::weight(Weight::from_ref_time(10_000).saturating_add(T::DbWeight::get().writes(1)))] pub fn toggle_pallet(origin: OriginFor, pallet_idx: u8) -> DispatchResult { T::ShutdownOrigin::ensure_origin(origin)?; @@ -96,6 +97,7 @@ pub mod pallet { Ok(()) } + #[pallet::call_index(1)] #[pallet::weight(Weight::from_ref_time(10_000).saturating_add(T::DbWeight::get().writes(1)))] pub fn toggle_call(origin: OriginFor, pallet_idx: u8, call_idx: u8) -> DispatchResult { T::ShutdownOrigin::ensure_origin(origin)?; diff --git a/pallets/evm-signatures/Cargo.toml b/pallets/evm-signatures/Cargo.toml index 928736934..24a5a379a 100644 --- a/pallets/evm-signatures/Cargo.toml +++ b/pallets/evm-signatures/Cargo.toml @@ -2,29 +2,29 @@ name = "pallet-evm-signatures" authors = ['Parallel Team'] edition = '2021' -version = '1.9.2' +version = '1.9.5' [dependencies] codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"], default-features = false } -frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } scale-info = { version = "2.1.0", default-features = false, features = ["derive"] } serde = { version = "1.0.140", features = ["derive"], optional = true } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -pallet-evm = { version = '6.0.0-dev', default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +pallet-evm = { version = '6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } [dev-dependencies] hex-literal = "0.3.4" libsecp256k1 = "0.7.0" -pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32" } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32" } -sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32" } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ["std"] @@ -42,3 +42,5 @@ std = [ "primitives/std", ] try-runtime = ["frame-support/try-runtime"] + +runtime-benchmarks = ['pallet-assets/runtime-benchmarks'] \ No newline at end of file diff --git a/pallets/evm-signatures/src/lib.rs b/pallets/evm-signatures/src/lib.rs index 32d44a5df..a714c68b9 100644 --- a/pallets/evm-signatures/src/lib.rs +++ b/pallets/evm-signatures/src/lib.rs @@ -144,6 +144,7 @@ pub mod pallet { /// - One DB write (event). /// - Weight of derivative `call` execution + 10_000_000. /// # + #[pallet::call_index(0)] #[pallet::weight({ let dispatch_info = call.get_dispatch_info(); (Weight::from_ref_time(10_000_000).saturating_add(dispatch_info.weight), dispatch_info.class) @@ -193,6 +194,7 @@ pub mod pallet { Ok(Pays::No.into()) } + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::withdraw())] #[transactional] pub fn withdraw( diff --git a/pallets/evm-signatures/src/tests.rs b/pallets/evm-signatures/src/tests.rs index e82f69af3..3f0e4736e 100644 --- a/pallets/evm-signatures/src/tests.rs +++ b/pallets/evm-signatures/src/tests.rs @@ -15,8 +15,8 @@ use crate as evm_signatures; use codec::Encode; use evm_signatures::*; -use frame_support::{assert_err, assert_ok, parameter_types}; -use frame_system::EnsureRoot; +use frame_support::{assert_err, assert_ok, parameter_types, traits::AsEnsureOriginWithArg}; +use frame_system::{EnsureRoot, EnsureSigned}; use hex_literal::hex; use sp_core::{ecdsa, Pair}; use sp_io::hashing::keccak_256; @@ -112,7 +112,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -123,6 +125,9 @@ impl pallet_assets::Config for Runtime { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { diff --git a/pallets/farming/Cargo.toml b/pallets/farming/Cargo.toml index 4b151d06c..3aecca4f6 100644 --- a/pallets/farming/Cargo.toml +++ b/pallets/farming/Cargo.toml @@ -9,23 +9,23 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } num-traits = { default-features = false, version = '0.2' } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', features = ['derive'], optional = true } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] -pallet-balances = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } +pallet-balances = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } +sp-core = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } [features] default = ['std'] diff --git a/pallets/farming/src/benchmarking.rs b/pallets/farming/src/benchmarking.rs index 785e6f487..fb85bcfac 100644 --- a/pallets/farming/src/benchmarking.rs +++ b/pallets/farming/src/benchmarking.rs @@ -31,7 +31,7 @@ fn initial_set_up::force_create( SystemOrigin::Root.into(), - ASSET, + ASSET.into(), account_id.clone(), true, One::one(), @@ -40,7 +40,7 @@ fn initial_set_up::force_create( SystemOrigin::Root.into(), - REWARD_ASSET, + REWARD_ASSET.into(), account_id, true, One::one(), diff --git a/pallets/farming/src/lib.rs b/pallets/farming/src/lib.rs index 5456e4b52..3fa1877d8 100644 --- a/pallets/farming/src/lib.rs +++ b/pallets/farming/src/lib.rs @@ -226,6 +226,7 @@ pub mod pallet { /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. /// - `cool_down_duration`: Lock block number after Withdraw. + #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::create())] #[transactional] pub fn create( @@ -270,6 +271,7 @@ pub mod pallet { /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. /// - `is_active`: new active status. + #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::set_pool_status())] #[transactional] pub fn set_pool_status( @@ -308,6 +310,7 @@ pub mod pallet { /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. /// - `cool_down_duration`: new lock block number after Withdraw. + #[pallet::call_index(2)] #[pallet::weight(T::WeightInfo::set_pool_cool_down_duration())] #[transactional] pub fn set_pool_cool_down_duration( @@ -353,6 +356,7 @@ pub mod pallet { /// - `asset`: The identifier of the staking asset. /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. + #[pallet::call_index(3)] #[pallet::weight(T::WeightInfo::reset_pool_unlock_height())] #[transactional] pub fn reset_pool_unlock_height( @@ -395,6 +399,7 @@ pub mod pallet { /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. /// - `amount`: the amount of staking asset want to deposit. + #[pallet::call_index(4)] #[pallet::weight(T::WeightInfo::deposit())] #[transactional] pub fn deposit( @@ -459,6 +464,7 @@ pub mod pallet { /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. /// - `amount`: the amount of staking asset want to withdraw. + #[pallet::call_index(5)] #[pallet::weight(T::WeightInfo::withdraw())] #[transactional] pub fn withdraw( @@ -546,6 +552,7 @@ pub mod pallet { /// - `asset`: The identifier of the staking asset. /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. + #[pallet::call_index(6)] #[pallet::weight(T::WeightInfo::redeem())] #[transactional] pub fn redeem( @@ -601,6 +608,7 @@ pub mod pallet { /// - `asset`: The identifier of the staking asset. /// - `reward_asset`: The identifier of the reward asset. /// - `lock_duration`: Lock block number after Deposit. + #[pallet::call_index(7)] #[pallet::weight(T::WeightInfo::claim())] #[transactional] pub fn claim( @@ -656,6 +664,7 @@ pub mod pallet { /// - `payer`: the payer of reward asset. /// - `amount`: the amount of reward asset to dispatch. /// - `duration`: the number of block this reward will last for. + #[pallet::call_index(8)] #[pallet::weight(T::WeightInfo::dispatch_reward())] #[transactional] pub fn dispatch_reward( diff --git a/pallets/farming/src/mock.rs b/pallets/farming/src/mock.rs index bb19c2b5a..0021c4070 100644 --- a/pallets/farming/src/mock.rs +++ b/pallets/farming/src/mock.rs @@ -1,8 +1,12 @@ use crate as pallet_farming; // use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{parameter_types, traits::Everything, PalletId}; -use frame_system::{self as system, EnsureRoot}; +use frame_support::{ + parameter_types, + traits::{AsEnsureOriginWithArg, Everything}, + PalletId, +}; +use frame_system::{self as system, EnsureRoot, EnsureSigned}; use pallet_traits::DecimalProvider; use primitives::{Balance, CurrencyId}; #[cfg(feature = "std")] @@ -107,7 +111,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -118,6 +124,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -175,10 +184,10 @@ pub fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), STAKE_TOKEN, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), STAKE_TOKEN.into(), ALICE, true, 1).unwrap(); Assets::force_create( RuntimeOrigin::root(), - REWARD_TOKEN, + REWARD_TOKEN.into(), REWARD_TOKEN_PAYER, true, 1, @@ -186,7 +195,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities { .unwrap(); Assets::force_create( RuntimeOrigin::root(), - BIG_DECIMAL_STAKE_TOKEN, + BIG_DECIMAL_STAKE_TOKEN.into(), ALICE, true, 1, @@ -194,7 +203,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities { .unwrap(); Assets::force_create( RuntimeOrigin::root(), - BIG_DECIMAL_REWARD_TOKEN, + BIG_DECIMAL_REWARD_TOKEN.into(), REWARD_TOKEN_PAYER, true, 1, @@ -203,36 +212,42 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - STAKE_TOKEN, + STAKE_TOKEN.into(), ALICE, 500_000_000, ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), STAKE_TOKEN, BOB, 500_000_000).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - STAKE_TOKEN, + STAKE_TOKEN.into(), + BOB, + 500_000_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + STAKE_TOKEN.into(), CHARLIE, 1_100_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(REWARD_TOKEN_PAYER), - REWARD_TOKEN, + REWARD_TOKEN.into(), REWARD_TOKEN_PAYER, 3_000_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - BIG_DECIMAL_STAKE_TOKEN, + BIG_DECIMAL_STAKE_TOKEN.into(), ALICE, 100_000_000_000_000_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(REWARD_TOKEN_PAYER), - BIG_DECIMAL_REWARD_TOKEN, + BIG_DECIMAL_REWARD_TOKEN.into(), REWARD_TOKEN_PAYER, 11_000_000_000_000_000_000_000_000_000_000, ) diff --git a/pallets/liquid-staking/Cargo.toml b/pallets/liquid-staking/Cargo.toml index 802e0ee19..9045265e9 100644 --- a/pallets/liquid-staking/Cargo.toml +++ b/pallets/liquid-staking/Cargo.toml @@ -9,47 +9,47 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } pallet-xcm-helper = { path = '../xcm-helper', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-trie = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } # parallel pallets primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } [dev-dependencies] -pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-staking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-staking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } serde = { version = '1.0.136' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-state-machine = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-state-machine = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } -kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', features = ['runtime-benchmarks'] } -polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', features = ['runtime-benchmarks'] } +polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } hex = '0.4.3' orml-traits = { version = '0.4.1-dev' } diff --git a/pallets/liquid-staking/src/benchmarking.rs b/pallets/liquid-staking/src/benchmarking.rs index b56c1ee4f..a5e55bf83 100644 --- a/pallets/liquid-staking/src/benchmarking.rs +++ b/pallets/liquid-staking/src/benchmarking.rs @@ -51,7 +51,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - T::StakingCurrency::get(), + T::StakingCurrency::get().into(), account_id.clone(), true, 1, @@ -59,7 +59,7 @@ fn initial_set_up< .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - T::StakingCurrency::get(), + T::StakingCurrency::get().into(), b"Staking Currency".to_vec(), b"Staking Currency".to_vec(), 12, @@ -69,7 +69,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - T::LiquidCurrency::get(), + T::LiquidCurrency::get().into(), account_id, true, 1, @@ -78,7 +78,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - T::LiquidCurrency::get(), + T::LiquidCurrency::get().into(), b"Liquid Currency".to_vec(), b"Liquid Currency".to_vec(), 12, diff --git a/pallets/liquid-staking/src/lib.rs b/pallets/liquid-staking/src/lib.rs index 96aeb1c53..74b95650d 100644 --- a/pallets/liquid-staking/src/lib.rs +++ b/pallets/liquid-staking/src/lib.rs @@ -465,6 +465,7 @@ pub mod pallet { /// further used as collateral for lending. /// /// - `amount`: the amount of staking assets + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::stake())] #[transactional] pub fn stake( @@ -523,6 +524,7 @@ pub mod pallet { /// chain to do the `unbond` operation. /// /// - `amount`: the amount of derivative + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::unstake())] #[transactional] pub fn unstake( @@ -594,6 +596,7 @@ pub mod pallet { } /// Update insurance pool's reserve_factor + #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::update_reserve_factor())] #[transactional] pub fn update_reserve_factor( @@ -619,6 +622,7 @@ pub mod pallet { } /// Update ledger's max bonded cap + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::update_staking_ledger_cap())] #[transactional] pub fn update_staking_ledger_cap( @@ -640,6 +644,7 @@ pub mod pallet { } /// Bond on relaychain via xcm.transact + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::bond())] #[transactional] pub fn bond( @@ -654,6 +659,7 @@ pub mod pallet { } /// Bond_extra on relaychain via xcm.transact + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::bond_extra())] #[transactional] pub fn bond_extra( @@ -667,6 +673,7 @@ pub mod pallet { } /// Unbond on relaychain via xcm.transact + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::unbond())] #[transactional] pub fn unbond( @@ -680,6 +687,7 @@ pub mod pallet { } /// Rebond on relaychain via xcm.transact + #[pallet::call_index(7)] #[pallet::weight(::WeightInfo::rebond())] #[transactional] pub fn rebond( @@ -693,6 +701,7 @@ pub mod pallet { } /// Withdraw unbonded on relaychain via xcm.transact + #[pallet::call_index(8)] #[pallet::weight(::WeightInfo::withdraw_unbonded())] #[transactional] pub fn withdraw_unbonded( @@ -706,6 +715,7 @@ pub mod pallet { } /// Nominate on relaychain via xcm.transact + #[pallet::call_index(9)] #[pallet::weight(::WeightInfo::nominate())] #[transactional] pub fn nominate( @@ -719,6 +729,7 @@ pub mod pallet { } /// Internal call which is expected to be triggered only by xcm instruction + #[pallet::call_index(10)] #[pallet::weight(::WeightInfo::notification_received())] #[transactional] pub fn notification_received( @@ -731,7 +742,7 @@ pub mod pallet { T::UpdateOrigin::ensure_origin(origin).map(|_| MultiLocation::here()) })?; if let Response::ExecutionResult(res) = response { - if let Some(request) = Self::xcm_request(&query_id) { + if let Some(request) = Self::xcm_request(query_id) { Self::do_notification_received(query_id, request, res)?; } @@ -746,6 +757,7 @@ pub mod pallet { /// Claim assets back when current era index arrived /// at target era + #[pallet::call_index(11)] #[pallet::weight(::WeightInfo::claim_for())] #[transactional] pub fn claim_for( @@ -800,6 +812,7 @@ pub mod pallet { } /// Force set era start block + #[pallet::call_index(12)] #[pallet::weight(::WeightInfo::force_set_era_start_block())] #[transactional] pub fn force_set_era_start_block( @@ -812,6 +825,7 @@ pub mod pallet { } /// Force set current era + #[pallet::call_index(13)] #[pallet::weight(::WeightInfo::force_set_current_era())] #[transactional] pub fn force_set_current_era(origin: OriginFor, era: EraIndex) -> DispatchResult { @@ -822,6 +836,7 @@ pub mod pallet { } /// Force advance era + #[pallet::call_index(14)] #[pallet::weight(::WeightInfo::force_advance_era())] #[transactional] pub fn force_advance_era( @@ -836,6 +851,7 @@ pub mod pallet { } /// Force matching + #[pallet::call_index(15)] #[pallet::weight(::WeightInfo::force_matching())] #[transactional] pub fn force_matching(origin: OriginFor) -> DispatchResultWithPostInfo { @@ -847,6 +863,7 @@ pub mod pallet { } /// Force set staking_ledger + #[pallet::call_index(16)] #[pallet::weight(::WeightInfo::force_set_staking_ledger())] #[transactional] pub fn force_set_staking_ledger( @@ -870,6 +887,7 @@ pub mod pallet { } /// Set current era by providing storage proof + #[pallet::call_index(17)] #[pallet::weight(::WeightInfo::force_set_current_era())] #[transactional] pub fn set_current_era( @@ -903,6 +921,7 @@ pub mod pallet { } /// Set staking_ledger by providing storage proof + #[pallet::call_index(18)] #[pallet::weight(::WeightInfo::force_set_staking_ledger())] #[transactional] pub fn set_staking_ledger( @@ -966,6 +985,7 @@ pub mod pallet { } /// Reduces reserves by transferring to receiver. + #[pallet::call_index(19)] #[pallet::weight(::WeightInfo::reduce_reserves())] #[transactional] pub fn reduce_reserves( @@ -997,6 +1017,7 @@ pub mod pallet { } /// Cancel unstake + #[pallet::call_index(20)] #[pallet::weight(::WeightInfo::cancel_unstake())] #[transactional] pub fn cancel_unstake( @@ -1017,6 +1038,7 @@ pub mod pallet { } /// Update commission rate + #[pallet::call_index(21)] #[pallet::weight(::WeightInfo::update_commission_rate())] #[transactional] pub fn update_commission_rate( @@ -1042,6 +1064,7 @@ pub mod pallet { } /// Fast match unstake through matching pool + #[pallet::call_index(22)] #[pallet::weight(::WeightInfo::fast_match_unstake(unstaker_list.len() as u32))] #[transactional] pub fn fast_match_unstake( @@ -1056,6 +1079,7 @@ pub mod pallet { } /// Update incentive amount + #[pallet::call_index(23)] #[pallet::weight(::WeightInfo::update_incentive())] #[transactional] pub fn update_incentive( @@ -1166,22 +1190,22 @@ pub mod pallet { } fn total_bonded_of(index: DerivativeIndex) -> BalanceOf { - Self::staking_ledger(&index).map_or(Zero::zero(), |ledger| ledger.total) + Self::staking_ledger(index).map_or(Zero::zero(), |ledger| ledger.total) } fn active_bonded_of(index: DerivativeIndex) -> BalanceOf { - Self::staking_ledger(&index).map_or(Zero::zero(), |ledger| ledger.active) + Self::staking_ledger(index).map_or(Zero::zero(), |ledger| ledger.active) } fn unbonding_of(index: DerivativeIndex) -> BalanceOf { - Self::staking_ledger(&index).map_or(Zero::zero(), |ledger| { + Self::staking_ledger(index).map_or(Zero::zero(), |ledger| { ledger.total.saturating_sub(ledger.active) }) } fn unbonded_of(index: DerivativeIndex) -> BalanceOf { let current_era = Self::current_era(); - Self::staking_ledger(&index).map_or(Zero::zero(), |ledger| { + Self::staking_ledger(index).map_or(Zero::zero(), |ledger| { ledger.unlocking.iter().fold(Zero::zero(), |acc, chunk| { if chunk.era <= current_era { acc.saturating_add(chunk.value) @@ -1224,7 +1248,7 @@ pub mod pallet { return Ok(()); } - if StakingLedgers::::contains_key(&derivative_index) { + if StakingLedgers::::contains_key(derivative_index) { return Self::do_bond_extra(derivative_index, amount); } @@ -1290,7 +1314,7 @@ pub mod pallet { Error::::InvalidDerivativeIndex ); ensure!( - StakingLedgers::::contains_key(&derivative_index), + StakingLedgers::::contains_key(derivative_index), Error::::NotBonded ); Self::ensure_staking_ledger_cap(derivative_index, amount)?; @@ -1338,7 +1362,7 @@ pub mod pallet { ); let ledger: StakingLedger> = - Self::staking_ledger(&derivative_index).ok_or(Error::::NotBonded)?; + Self::staking_ledger(derivative_index).ok_or(Error::::NotBonded)?; ensure!( ledger.unlocking.len() < MAX_UNLOCKING_CHUNKS, Error::::NoMoreChunks @@ -1385,7 +1409,7 @@ pub mod pallet { Error::::InvalidDerivativeIndex ); ensure!( - StakingLedgers::::contains_key(&derivative_index), + StakingLedgers::::contains_key(derivative_index), Error::::NotBonded ); @@ -1429,7 +1453,7 @@ pub mod pallet { Error::::InvalidDerivativeIndex ); ensure!( - StakingLedgers::::contains_key(&derivative_index), + StakingLedgers::::contains_key(derivative_index), Error::::NotBonded ); @@ -1473,7 +1497,7 @@ pub mod pallet { Error::::InvalidDerivativeIndex ); ensure!( - StakingLedgers::::contains_key(&derivative_index), + StakingLedgers::::contains_key(derivative_index), Error::::NotBonded ); @@ -1614,7 +1638,7 @@ pub mod pallet { amount, } => { ensure!( - !StakingLedgers::::contains_key(&derivative_index), + !StakingLedgers::::contains_key(derivative_index), Error::::AlreadyBonded ); let staking_ledger = >>::new( @@ -1682,7 +1706,7 @@ pub mod pallet { } Nominate { targets: _, .. } => {} } - XcmRequests::::remove(&query_id); + XcmRequests::::remove(query_id); Ok(()) } diff --git a/pallets/liquid-staking/src/mock.rs b/pallets/liquid-staking/src/mock.rs index 406f6e903..ab6b1bda6 100644 --- a/pallets/liquid-staking/src/mock.rs +++ b/pallets/liquid-staking/src/mock.rs @@ -4,13 +4,13 @@ use frame_support::{ pallet_prelude::*, parameter_types, sp_io, traits::{ - tokens::BalanceConversion, EitherOfDiverse, Everything, GenesisBuild, Nothing, OriginTrait, - SortedMembers, + tokens::BalanceConversion, AsEnsureOriginWithArg, EitherOfDiverse, Everything, + GenesisBuild, Nothing, OriginTrait, SortedMembers, }, - weights::constants::WEIGHT_PER_SECOND, + weights::constants::WEIGHT_REF_TIME_PER_SECOND, PalletId, WeakBoundedVec, }; -use frame_system::{EnsureRoot, EnsureSignedBy}; +use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key}; use orml_xcm_support::IsNativeConcrete; use pallet_xcm::XcmPassthrough; @@ -52,8 +52,8 @@ use crate::{distribution::AverageDistribution, types::StakingLedger, BalanceOf}; pub use kusama_runtime; parameter_types! { - pub const ReservedXcmpWeight: Weight = WEIGHT_PER_SECOND.saturating_div(4); - pub const ReservedDmpWeight: Weight = WEIGHT_PER_SECOND.saturating_div(4); + pub const ReservedXcmpWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4)); + pub const ReservedDmpWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4)); } impl cumulus_pallet_parachain_system::Config for Test { @@ -615,7 +615,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -626,6 +628,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type WeightInfo = (); type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } impl pallet_currency_adapter::Config for Test { @@ -680,30 +685,30 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), KSM, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), KSM.into(), Id(ALICE), true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KSM, + KSM.into(), b"Kusama".to_vec(), b"KSM".to_vec(), 12, false, ) .unwrap(); - Assets::force_create(RuntimeOrigin::root(), SKSM, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SKSM.into(), Id(ALICE), true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - SKSM, + SKSM.into(), b"Parallel Kusama".to_vec(), b"sKSM".to_vec(), 12, false, ) .unwrap(); - Assets::force_create(RuntimeOrigin::root(), KSM_U, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), KSM_U.into(), Id(ALICE), true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KSM_U, + KSM_U.into(), b"Kusama Ubonding".to_vec(), b"KSM_U".to_vec(), 12, @@ -711,15 +716,33 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), KSM, Id(ALICE), ksm(100f64)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), SKSM, Id(ALICE), ksm(100f64)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), KSM, Id(BOB), ksm(20000f64)).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + KSM.into(), + Id(ALICE), + ksm(100f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + SKSM.into(), + Id(ALICE), + ksm(100f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + KSM.into(), + Id(BOB), + ksm(20000f64), + ) + .unwrap(); LiquidStaking::update_staking_ledger_cap(RuntimeOrigin::signed(BOB), ksm(10000f64)) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - KSM, + KSM.into(), Id(XcmHelper::account_id()), ksm(100f64), ) @@ -801,30 +824,30 @@ pub fn para_ext(para_id: u32) -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), KSM, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), KSM.into(), Id(ALICE), true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KSM, + KSM.into(), b"Kusama".to_vec(), b"KSM".to_vec(), 12, false, ) .unwrap(); - Assets::force_create(RuntimeOrigin::root(), SKSM, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SKSM.into(), Id(ALICE), true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - SKSM, + SKSM.into(), b"Parallel Kusama".to_vec(), b"sKSM".to_vec(), 12, false, ) .unwrap(); - Assets::force_create(RuntimeOrigin::root(), KSM_U, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), KSM_U.into(), Id(ALICE), true, 1).unwrap(); Assets::force_set_metadata( RuntimeOrigin::root(), - KSM_U, + KSM_U.into(), b"Kusama Ubonding".to_vec(), b"KSM_U".to_vec(), 12, @@ -832,11 +855,23 @@ pub fn para_ext(para_id: u32) -> sp_io::TestExternalities { ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), KSM, Id(ALICE), ksm(10000f64)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), KSM, Id(BOB), ksm(20000f64)).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - KSM, + KSM.into(), + Id(ALICE), + ksm(10000f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + KSM.into(), + Id(BOB), + ksm(20000f64), + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + KSM.into(), Id(XcmHelper::account_id()), ksm(30f64), ) diff --git a/pallets/loans/Cargo.toml b/pallets/loans/Cargo.toml index 4d414006d..e4ef599f6 100644 --- a/pallets/loans/Cargo.toml +++ b/pallets/loans/Cargo.toml @@ -9,28 +9,28 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } num-traits = { default-features = false, version = '0.2' } orml-traits = { version = '0.4.1-dev', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-prices = { path = '../prices', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', features = ['derive'], optional = true } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] orml-oracle = { version = '0.4.1-dev' } pallet-amm = { path = '../amm' } pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std'] diff --git a/pallets/loans/rpc/Cargo.toml b/pallets/loans/rpc/Cargo.toml index 8d2b49aed..a4f046f49 100644 --- a/pallets/loans/rpc/Cargo.toml +++ b/pallets/loans/rpc/Cargo.toml @@ -6,14 +6,14 @@ version = '1.9.5' [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5' } -jsonrpsee = { version = "0.15.1", features = ["server", "macros"] } +jsonrpsee = { version = "0.16.2", features = ["server", "macros"] } primitives = { package = 'parallel-primitives', path = '../../../primitives', default-features = false } serde = { version = '1.0.136', features = ['derive'] } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } pallet-loans-rpc-runtime-api = { path = 'runtime-api', default-features = false } diff --git a/pallets/loans/rpc/runtime-api/Cargo.toml b/pallets/loans/rpc/runtime-api/Cargo.toml index 1e6173c4c..71d80f45f 100644 --- a/pallets/loans/rpc/runtime-api/Cargo.toml +++ b/pallets/loans/rpc/runtime-api/Cargo.toml @@ -7,8 +7,8 @@ version = '1.9.5' [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false, features = ['derive'] } primitives = { package = 'parallel-primitives', path = '../../../../primitives', default-features = false } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] diff --git a/pallets/loans/src/benchmarking.rs b/pallets/loans/src/benchmarking.rs index e2880a63b..083828c27 100644 --- a/pallets/loans/src/benchmarking.rs +++ b/pallets/loans/src/benchmarking.rs @@ -64,7 +64,7 @@ fn transfer_initial_balance< let account_id = T::Lookup::unlookup(caller.clone()); pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - KSM, + KSM.into(), account_id.clone(), true, 1, @@ -72,7 +72,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - SKSM, + SKSM.into(), account_id.clone(), true, 1, @@ -80,7 +80,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - DOT, + DOT.into(), account_id.clone(), true, 1, @@ -88,7 +88,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - CDOT_6_13, + CDOT_6_13.into(), account_id.clone(), true, 1, @@ -96,7 +96,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - USDT, + USDT.into(), account_id.clone(), true, 1, @@ -104,7 +104,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - KSM, + KSM.into(), b"kusama".to_vec(), b"KSM".to_vec(), 12, @@ -113,7 +113,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - SKSM, + SKSM.into(), b"xkusama".to_vec(), b"sKSM".to_vec(), 12, @@ -122,7 +122,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - DOT, + DOT.into(), b"polkadot".to_vec(), b"DOT".to_vec(), 12, @@ -131,7 +131,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - CDOT_6_13, + CDOT_6_13.into(), b"cDot_6_13".to_vec(), b"cDot_6_13".to_vec(), 12, @@ -140,7 +140,7 @@ fn transfer_initial_balance< .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - USDT, + USDT.into(), b"tether".to_vec(), b"USDT".to_vec(), 6, diff --git a/pallets/loans/src/lib.rs b/pallets/loans/src/lib.rs index 98776d5c8..43b888377 100644 --- a/pallets/loans/src/lib.rs +++ b/pallets/loans/src/lib.rs @@ -481,6 +481,7 @@ pub mod pallet { /// /// - `asset_id`: Market related currency /// - `market`: The market that is going to be stored + #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::add_market())] #[transactional] pub fn add_market( @@ -544,6 +545,7 @@ pub mod pallet { /// If the market is already activated, does nothing. /// /// - `asset_id`: Market related currency + #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::activate_market())] #[transactional] pub fn activate_market( @@ -567,6 +569,7 @@ pub mod pallet { /// /// - `asset_id`: Market related currency /// - `rate_model`: The new rate model to be updated + #[pallet::call_index(2)] #[pallet::weight(T::WeightInfo::update_rate_model())] #[transactional] pub fn update_rate_model( @@ -593,6 +596,7 @@ pub mod pallet { /// - `close_factor`: maximum liquidation ratio at one time /// - `liquidate_incentive`: liquidation incentive ratio /// - `cap`: market capacity + #[pallet::call_index(3)] #[pallet::weight(T::WeightInfo::update_market())] #[transactional] pub fn update_market( @@ -662,6 +666,7 @@ pub mod pallet { /// /// - `asset_id`: market related currency /// - `market`: the new market parameters + #[pallet::call_index(4)] #[pallet::weight(T::WeightInfo::force_update_market())] #[transactional] pub fn force_update_market( @@ -693,6 +698,7 @@ pub mod pallet { /// Add reward for the pallet account. /// /// - `amount`: Reward amount added + #[pallet::call_index(5)] #[pallet::weight(T::WeightInfo::add_reward())] #[transactional] pub fn add_reward( @@ -718,6 +724,7 @@ pub mod pallet { /// /// - `target_account`: account receive reward token. /// - `amount`: Withdraw amount + #[pallet::call_index(6)] #[pallet::weight(T::WeightInfo::withdraw_missing_reward())] #[transactional] pub fn withdraw_missing_reward( @@ -744,6 +751,7 @@ pub mod pallet { /// /// - `asset_id`: Market related currency /// - `reward_per_block`: reward amount per block. + #[pallet::call_index(7)] #[pallet::weight(T::WeightInfo::update_market_reward_speed())] #[transactional] pub fn update_market_reward_speed( @@ -786,6 +794,7 @@ pub mod pallet { } /// Claim reward from all market. + #[pallet::call_index(8)] #[pallet::weight(T::WeightInfo::claim_reward())] #[transactional] pub fn claim_reward(origin: OriginFor) -> DispatchResultWithPostInfo { @@ -803,6 +812,7 @@ pub mod pallet { /// Claim reward from the specified market. /// /// - `asset_id`: Market related currency + #[pallet::call_index(9)] #[pallet::weight(T::WeightInfo::claim_reward_for_market())] #[transactional] pub fn claim_reward_for_market( @@ -822,6 +832,7 @@ pub mod pallet { /// /// - `asset_id`: the asset to be deposited. /// - `mint_amount`: the amount to be deposited. + #[pallet::call_index(10)] #[pallet::weight(T::WeightInfo::mint())] #[transactional] pub fn mint( @@ -839,6 +850,7 @@ pub mod pallet { /// /// - `asset_id`: the asset to be redeemed. /// - `redeem_amount`: the amount to be redeemed. + #[pallet::call_index(11)] #[pallet::weight(T::WeightInfo::redeem())] #[transactional] pub fn redeem( @@ -856,6 +868,7 @@ pub mod pallet { /// Sender redeems all of internal supplies in exchange for the underlying asset. /// /// - `asset_id`: the asset to be redeemed. + #[pallet::call_index(12)] #[pallet::weight(T::WeightInfo::redeem_all())] #[transactional] pub fn redeem_all( @@ -878,6 +891,7 @@ pub mod pallet { /// /// - `asset_id`: the asset to be borrowed. /// - `borrow_amount`: the amount to be borrowed. + #[pallet::call_index(13)] #[pallet::weight(T::WeightInfo::borrow())] #[transactional] pub fn borrow( @@ -896,6 +910,7 @@ pub mod pallet { /// /// - `asset_id`: the asset to be repaid. /// - `repay_amount`: the amount to be repaid. + #[pallet::call_index(14)] #[pallet::weight(T::WeightInfo::repay_borrow())] #[transactional] pub fn repay_borrow( @@ -913,6 +928,7 @@ pub mod pallet { /// Sender repays all of their debts. /// /// - `asset_id`: the asset to be repaid. + #[pallet::call_index(15)] #[pallet::weight(T::WeightInfo::repay_borrow_all())] #[transactional] pub fn repay_borrow_all( @@ -932,6 +948,7 @@ pub mod pallet { /// /// - `asset_id`: the asset to be set. /// - `enable`: turn on/off the collateral option. + #[pallet::call_index(16)] #[pallet::weight(T::WeightInfo::collateral_asset())] #[transactional] pub fn collateral_asset( @@ -961,6 +978,7 @@ pub mod pallet { /// - `liquidation_asset_id`: the assert to be liquidated. /// - `repay_amount`: the amount to be repaid borrow. /// - `collateral_asset_id`: The collateral to seize from the borrower. + #[pallet::call_index(17)] #[pallet::weight(T::WeightInfo::liquidate_borrow())] #[transactional] pub fn liquidate_borrow( @@ -995,6 +1013,7 @@ pub mod pallet { /// - `payer`: the payer account. /// - `asset_id`: the assets to be added. /// - `add_amount`: the amount to be added. + #[pallet::call_index(18)] #[pallet::weight(T::WeightInfo::add_reserves())] #[transactional] pub fn add_reserves( @@ -1031,6 +1050,7 @@ pub mod pallet { /// - `receiver`: the receiver account. /// - `asset_id`: the assets to be reduced. /// - `reduce_amount`: the amount to be reduced. + #[pallet::call_index(19)] #[pallet::weight(T::WeightInfo::reduce_reserves())] #[transactional] pub fn reduce_reserves( @@ -1073,6 +1093,7 @@ pub mod pallet { /// /// - `asset_id`: the asset to be redeemed. /// - `redeem_amount`: the amount to be redeemed. + #[pallet::call_index(20)] #[pallet::weight(T::WeightInfo::redeem()+T::WeightInfo::reduce_reserves())] #[transactional] pub fn reduce_incentive_reserves( @@ -1101,6 +1122,7 @@ pub mod pallet { /// Update liquidation free collateral. /// /// The `assets` won't be counted when do general + #[pallet::call_index(21)] #[pallet::weight(T::WeightInfo::update_liquidation_free_collateral())] #[transactional] pub fn update_liquidation_free_collateral( diff --git a/pallets/loans/src/mock.rs b/pallets/loans/src/mock.rs index 76477ecac..b58ba901c 100644 --- a/pallets/loans/src/mock.rs +++ b/pallets/loans/src/mock.rs @@ -15,9 +15,12 @@ pub use super::*; use frame_support::{ - construct_runtime, parameter_types, traits::Everything, traits::SortedMembers, PalletId, + construct_runtime, parameter_types, + traits::SortedMembers, + traits::{AsEnsureOriginWithArg, Everything}, + PalletId, }; -use frame_system::{EnsureRoot, EnsureSignedBy}; +use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use orml_traits::{DataFeeder, DataProvider, DataProviderExtended}; use pallet_traits::{ DecimalProvider, ExchangeRateProvider, LiquidStakingCurrenciesProvider, @@ -318,7 +321,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -329,6 +334,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -370,20 +378,26 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { ext.execute_with(|| { // Init assets Balances::set_balance(RuntimeOrigin::root(), DAVE, unit(1000), unit(0)).unwrap(); - Assets::force_create(RuntimeOrigin::root(), DOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), KSM, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), USDT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SDOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), CDOT_6_13, ALICE, true, 1).unwrap(); - - Assets::mint(RuntimeOrigin::signed(ALICE), KSM, ALICE, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, ALICE, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), USDT, ALICE, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), CDOT_6_13, ALICE, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), KSM, BOB, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, BOB, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, DAVE, unit(1000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), USDT, DAVE, unit(1000)).unwrap(); + Assets::force_create(RuntimeOrigin::root(), DOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), KSM.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), USDT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SDOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), CDOT_6_13.into(), ALICE, true, 1).unwrap(); + + Assets::mint(RuntimeOrigin::signed(ALICE), KSM.into(), ALICE, unit(1000)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), DOT.into(), ALICE, unit(1000)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), USDT.into(), ALICE, unit(1000)).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + CDOT_6_13.into(), + ALICE, + unit(1000), + ) + .unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), KSM.into(), BOB, unit(1000)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), DOT.into(), BOB, unit(1000)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), DOT.into(), DAVE, unit(1000)).unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), USDT.into(), DAVE, unit(1000)).unwrap(); // Init Markets Loans::add_market(RuntimeOrigin::root(), HKO, market_mock(PHKO)).unwrap(); diff --git a/pallets/loans/src/ptoken.rs b/pallets/loans/src/ptoken.rs index ac92c8d24..54feafe90 100644 --- a/pallets/loans/src/ptoken.rs +++ b/pallets/loans/src/ptoken.rs @@ -120,6 +120,10 @@ impl Inspect for Pallet { WithdrawConsequence::Success } + + fn asset_exists(ptoken_id: Self::AssetId) -> bool { + Self::underlying_id(ptoken_id).is_ok() + } } impl Transfer for Pallet { @@ -177,7 +181,7 @@ impl Pallet { }, )?; - AccountDeposits::::try_mutate(underlying_id, &dest, |deposits| -> DispatchResult { + AccountDeposits::::try_mutate(underlying_id, dest, |deposits| -> DispatchResult { deposits.voucher_balance = deposits .voucher_balance .checked_add(amount) @@ -196,7 +200,7 @@ impl Pallet { let Deposits { is_collateral, voucher_balance, - } = Self::account_deposits(underlying_id, &who); + } = Self::account_deposits(underlying_id, who); if !is_collateral { return Ok(voucher_balance); diff --git a/pallets/loans/src/tests.rs b/pallets/loans/src/tests.rs index 461a27b74..f3951902b 100644 --- a/pallets/loans/src/tests.rs +++ b/pallets/loans/src/tests.rs @@ -160,7 +160,7 @@ fn mint_must_return_err_when_overflows_occur() { // Deposit OVERFLOW_DEPOSIT DOT for CHARLIE assert_ok!(Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), CHARLIE, OVERFLOW_DEPOSIT )); @@ -951,7 +951,7 @@ fn ensure_enough_cash_works() { new_test_ext().execute_with(|| { assert_ok!(Assets::mint( RuntimeOrigin::signed(ALICE), - KSM, + KSM.into(), Loans::account_id(), unit(1000) )); diff --git a/pallets/loans/src/tests/edge_cases.rs b/pallets/loans/src/tests/edge_cases.rs index 671932058..8c921813b 100644 --- a/pallets/loans/src/tests/edge_cases.rs +++ b/pallets/loans/src/tests/edge_cases.rs @@ -7,7 +7,13 @@ use sp_runtime::FixedPointNumber; #[test] fn exceeded_supply_cap() { new_test_ext().execute_with(|| { - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, ALICE, million_unit(1001)).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + DOT.into(), + ALICE, + million_unit(1001), + ) + .unwrap(); let amount = million_unit(501); assert_ok!(Loans::mint(RuntimeOrigin::signed(ALICE), DOT, amount)); // Exceed upper bound. @@ -104,7 +110,7 @@ fn prevent_the_exchange_rate_attack() { new_test_ext().execute_with(|| { // Initialize Eve's balance assert_ok!(::Assets::transfer( - DOT, + DOT.into(), &ALICE, &EVE, unit(200), @@ -114,7 +120,7 @@ fn prevent_the_exchange_rate_attack() { assert_ok!(Loans::mint(RuntimeOrigin::signed(EVE), DOT, 1)); // !!! Eve transfer a big amount to Loans::account_id assert_ok!(::Assets::transfer( - DOT, + DOT.into(), &EVE, &Loans::account_id(), unit(100), diff --git a/pallets/loans/src/tests/interest_rate.rs b/pallets/loans/src/tests/interest_rate.rs index d97510ff5..d91b4d88e 100644 --- a/pallets/loans/src/tests/interest_rate.rs +++ b/pallets/loans/src/tests/interest_rate.rs @@ -36,7 +36,7 @@ fn interest_rate_model_works() { let rate_decimal: u128 = 1_000_000_000_000_000_000; Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), ALICE, million_unit(1000) - unit(1000), ) diff --git a/pallets/prices/Cargo.toml b/pallets/prices/Cargo.toml index 88069c858..8850fd6a4 100644 --- a/pallets/prices/Cargo.toml +++ b/pallets/prices/Cargo.toml @@ -6,11 +6,11 @@ version = '1.9.5' [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-amm = { path = '../amm', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } orml-oracle = { version = '0.4.1-dev', default-features = false } orml-traits = { version = '0.4.1-dev', default-features = false } pallet-traits = { path = '../traits', default-features = false } @@ -18,12 +18,12 @@ primitives = { package = 'parallel-primitives', path = '../../primitives', de scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', optional = true } num-traits = { default-features = false, version = '0.2' } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } pallet-currency-adapter = { path = '../currency-adapter' } [features] @@ -47,5 +47,7 @@ std = [ ] try-runtime = ['frame-support/try-runtime'] +runtime-benchmarks = ['pallet-assets/runtime-benchmarks'] + [lib] doctest = false diff --git a/pallets/prices/src/lib.rs b/pallets/prices/src/lib.rs index 2581ad3dd..ceb562c6a 100644 --- a/pallets/prices/src/lib.rs +++ b/pallets/prices/src/lib.rs @@ -138,6 +138,7 @@ pub mod pallet { #[pallet::call] impl Pallet { /// Set emergency price + #[pallet::call_index(0)] #[pallet::weight((::WeightInfo::set_price(), DispatchClass::Operational))] #[transactional] pub fn set_price( @@ -153,6 +154,7 @@ pub mod pallet { } /// Reset emergency price + #[pallet::call_index(1)] #[pallet::weight((::WeightInfo::reset_price(), DispatchClass::Operational))] #[transactional] pub fn reset_price( @@ -165,6 +167,7 @@ pub mod pallet { } /// Set foreign vault token mapping + #[pallet::call_index(2)] #[pallet::weight((::WeightInfo::set_foreign_asset(), DispatchClass::Operational))] #[transactional] pub fn set_foreign_asset( @@ -211,7 +214,7 @@ impl Pallet { Self::get_lp_vault_asset_price(asset_id, base_price) } else if is_auxiliary_token(asset_id) { Some(base_price) - } else if let Some(native_asset_id) = Self::foreign_to_native_asset(&asset_id) { + } else if let Some(native_asset_id) = Self::foreign_to_native_asset(asset_id) { Self::get_special_asset_price(native_asset_id, base_price) } else { None diff --git a/pallets/prices/src/mock.rs b/pallets/prices/src/mock.rs index c591fd1a5..88f8e0598 100644 --- a/pallets/prices/src/mock.rs +++ b/pallets/prices/src/mock.rs @@ -16,10 +16,12 @@ use super::*; use frame_support::{ - construct_runtime, ord_parameter_types, parameter_types, traits::Everything, - traits::SortedMembers, PalletId, + construct_runtime, ord_parameter_types, parameter_types, + traits::Everything, + traits::{AsEnsureOriginWithArg, SortedMembers}, + PalletId, }; -use frame_system::{EnsureRoot, EnsureSignedBy}; +use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use sp_core::H256; use sp_runtime::{testing::Header, traits::IdentityLookup, FixedPointNumber}; @@ -218,7 +220,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -229,6 +233,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } // AMM instance initialization @@ -311,12 +318,19 @@ pub fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), tokens::DOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::SDOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::CDOT_7_14, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::DOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::SDOT.into(), ALICE, true, 1).unwrap(); Assets::force_create( RuntimeOrigin::root(), - tokens::LP_DOT_CDOT_7_14, + tokens::CDOT_7_14.into(), + ALICE, + true, + 1, + ) + .unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + tokens::LP_DOT_CDOT_7_14.into(), ALICE, true, 1, @@ -325,21 +339,21 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), ALICE, 1000 * PRICE_ONE, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 1000 * PRICE_ONE, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::CDOT_7_14, + tokens::CDOT_7_14.into(), ALICE, 1000 * PRICE_ONE, ) diff --git a/pallets/router/Cargo.toml b/pallets/router/Cargo.toml index 9d3b19714..1a2b90bc7 100644 --- a/pallets/router/Cargo.toml +++ b/pallets/router/Cargo.toml @@ -8,23 +8,23 @@ version = '1.9.5' targets = ['x86_64-unknown-linux-gnu'] [dependencies] -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-amm = { path = '../amm', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } parity-scale-codec = { version = '3.1.5', default-features = false, features = ['derive'] } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std'] diff --git a/pallets/router/rpc/Cargo.toml b/pallets/router/rpc/Cargo.toml index 0aba6374c..f74a215c9 100644 --- a/pallets/router/rpc/Cargo.toml +++ b/pallets/router/rpc/Cargo.toml @@ -6,15 +6,15 @@ version = '1.9.5' [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5' } -jsonrpsee = { version = "0.15.1", features = ["server", "macros"] } +jsonrpsee = { version = "0.16.2", features = ["server", "macros"] } primitives = { package = 'parallel-primitives', path = '../../../primitives', default-features = false } serde = { version = '1.0.136', features = ['derive'] } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-router-rpc-runtime-api = { path = 'runtime-api', default-features = false } diff --git a/pallets/router/rpc/runtime-api/Cargo.toml b/pallets/router/rpc/runtime-api/Cargo.toml index bcc8e7688..5c5d7c2d4 100644 --- a/pallets/router/rpc/runtime-api/Cargo.toml +++ b/pallets/router/rpc/runtime-api/Cargo.toml @@ -7,9 +7,9 @@ version = '1.9.5' [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false, features = ['derive'] } primitives = { package = 'parallel-primitives', path = '../../../../primitives', default-features = false } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] diff --git a/pallets/router/src/benchmarking.rs b/pallets/router/src/benchmarking.rs index 46694bbc9..4f4cd368c 100644 --- a/pallets/router/src/benchmarking.rs +++ b/pallets/router/src/benchmarking.rs @@ -43,7 +43,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - tokens::SDOT, + tokens::SDOT.into(), account_id.clone(), true, One::one(), @@ -52,7 +52,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - tokens::DOT, + tokens::DOT.into(), account_id, true, One::one(), @@ -67,7 +67,7 @@ fn initial_set_up< pallet_assets::Pallet::::force_create( SystemOrigin::Root.into(), - ASSET_ID, + ASSET_ID.into(), T::Lookup::unlookup(pool_creator.clone()), true, One::one(), diff --git a/pallets/router/src/lib.rs b/pallets/router/src/lib.rs index 51b3f1d8b..897b75d05 100644 --- a/pallets/router/src/lib.rs +++ b/pallets/router/src/lib.rs @@ -293,6 +293,7 @@ pub mod pallet { /// - `route`: the route user inputs /// - `amount_in`: the amount of trading assets /// - `min_amount_out`: the minimum a trader is willing to receive + #[pallet::call_index(0)] #[pallet::weight(T::AMMRouterWeightInfo::swap_exact_tokens_for_tokens())] #[transactional] pub fn swap_exact_tokens_for_tokens( @@ -352,6 +353,7 @@ pub mod pallet { /// - `route`: the route user inputs /// - `amount_out`: the amount of trading assets /// - `max_amount_in`: the maximum a trader is willing to input + #[pallet::call_index(1)] #[pallet::weight(T::AMMRouterWeightInfo::swap_tokens_for_exact_tokens())] #[transactional] pub fn swap_tokens_for_exact_tokens( diff --git a/pallets/router/src/mock.rs b/pallets/router/src/mock.rs index 9362cdb98..d895c3d55 100644 --- a/pallets/router/src/mock.rs +++ b/pallets/router/src/mock.rs @@ -18,9 +18,11 @@ use super::*; use crate as pallet_route; use frame_support::{ - construct_runtime, parameter_types, traits::Everything, traits::SortedMembers, PalletId, + construct_runtime, parameter_types, + traits::{AsEnsureOriginWithArg, Everything, SortedMembers}, + PalletId, }; -use frame_system::{EnsureRoot, EnsureSignedBy}; +use frame_system::{EnsureRoot, EnsureSigned, EnsureSignedBy}; use sp_core::H256; use sp_runtime::{testing::Header, traits::IdentityLookup}; @@ -103,7 +105,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = parity_scale_codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -114,6 +118,9 @@ impl pallet_assets::Config for Runtime { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } // AMM instance initialization @@ -207,44 +214,83 @@ pub fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), tokens::DOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::SDOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::KSM, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::USDT, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::DOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::SDOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::KSM.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::USDT.into(), ALICE, true, 1).unwrap(); // lp tokens - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN_2, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN_3, ALICE, true, 1).unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN.into(), + ALICE, + true, + 1, + ) + .unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN_2.into(), + ALICE, + true, + 1, + ) + .unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN_3.into(), + ALICE, + true, + 1, + ) + .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::DOT, ALICE, 10_000).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::SDOT, ALICE, 10_000).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::KSM, ALICE, 10_000).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::DOT.into(), + ALICE, + 10_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::SDOT.into(), + ALICE, + 10_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::KSM.into(), + ALICE, + 10_000, + ) + .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), DAVE, 1000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::KSM, + tokens::KSM.into(), DAVE, 1000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), DAVE, 1000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::USDT, + tokens::USDT.into(), DAVE, 1000_000_000, ) diff --git a/pallets/stableswap/Cargo.toml b/pallets/stableswap/Cargo.toml index 96fd878cd..0b9426ac6 100644 --- a/pallets/stableswap/Cargo.toml +++ b/pallets/stableswap/Cargo.toml @@ -9,24 +9,24 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } num-traits = { default-features = false, version = '0.2' } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', features = ['derive'], optional = true } -sp-arithmetic = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-arithmetic = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [dev-dependencies] -pallet-balances = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } +pallet-balances = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } -sp-io = { branch = 'polkadot-v0.9.32', git = 'https://github.com/paritytech/substrate.git' } +sp-core = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } +sp-io = { branch = 'polkadot-v0.9.36', git = 'https://github.com/paritytech/substrate.git' } [features] default = ['std'] diff --git a/pallets/stableswap/src/lib.rs b/pallets/stableswap/src/lib.rs index c7d26fbae..7fb40de54 100644 --- a/pallets/stableswap/src/lib.rs +++ b/pallets/stableswap/src/lib.rs @@ -211,6 +211,7 @@ pub mod pallet { /// - `pool`: Currency pool, in which liquidity will be added /// - `liquidity_amounts`: Liquidity amounts to be added in pool /// - `minimum_amounts`: specifying its "worst case" ratio when pool already exists + #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::add_liquidity())] #[transactional] pub fn add_liquidity( @@ -295,6 +296,7 @@ pub mod pallet { /// /// - `pair`: Currency pool, in which liquidity will be removed /// - `liquidity`: liquidity to be removed from user's liquidity + #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::remove_liquidity())] #[transactional] pub fn remove_liquidity( @@ -338,6 +340,8 @@ pub mod pallet { Ok(()) }) } + + #[pallet::call_index(2)] #[pallet::weight(T::WeightInfo::create_pool())] #[transactional] pub fn create_pool( @@ -351,7 +355,7 @@ pub mod pallet { let (is_inverted, base_asset, quote_asset) = Self::sort_assets(pair)?; ensure!( - !Pools::::contains_key(&base_asset, "e_asset), + !Pools::::contains_key(base_asset, quote_asset), Error::::PoolAlreadyExists ); @@ -384,7 +388,7 @@ pub mod pallet { (base_asset, quote_asset), )?; - Pools::::insert(&base_asset, "e_asset, pool); + Pools::::insert(base_asset, quote_asset, pool); log::trace!( target: "stableswap::create_pool", @@ -616,7 +620,7 @@ impl, I: 'static> Pallet { // Initial invariant let mut d0 = 0u128; let mut d1 = 0u128; - if Pools::::contains_key(&base_asset, "e_asset) { + if Pools::::contains_key(base_asset, quote_asset) { // d0 = Self::do_get_delta((base_asset, quote_asset)).unwrap(); let (tot_base_amount, tot_quote_amount) = Self::get_reserves(base_asset, quote_asset).unwrap(); @@ -643,7 +647,7 @@ impl, I: 'static> Pallet { let new_base_amount = pool.base_amount; let new_quote_amount = pool.quote_amount; - if Pools::::contains_key(&base_asset, "e_asset) { + if Pools::::contains_key(base_asset, quote_asset) { d1 = Self::do_get_delta_on_the_fly((new_base_amount, new_quote_amount)).unwrap(); ensure!(d1 >= d0, Error::::InvalidInvariant); @@ -865,8 +869,8 @@ impl, I: 'static> Pallet { let (is_inverted, base_asset, quote_asset) = Self::sort_assets((asset_in, asset_out))?; Pools::::try_mutate( - &base_asset, - "e_asset, + base_asset, + quote_asset, |pool| -> Result, DispatchError> { let pool = pool.as_mut().ok_or(Error::::PoolDoesNotExist)?; diff --git a/pallets/stableswap/src/mock.rs b/pallets/stableswap/src/mock.rs index 2147c2cfc..fdcb00286 100644 --- a/pallets/stableswap/src/mock.rs +++ b/pallets/stableswap/src/mock.rs @@ -1,9 +1,11 @@ use crate as pallet_stableswap; use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ - construct_runtime, parameter_types, traits::Everything, traits::SortedMembers, PalletId, + construct_runtime, parameter_types, + traits::{AsEnsureOriginWithArg, Everything, SortedMembers}, + PalletId, }; -use frame_system::{self as system, Config, EnsureRoot}; +use frame_system::{self as system, Config, EnsureRoot, EnsureSigned}; use primitives::{tokens, Balance, CurrencyId, Ratio}; use scale_info::TypeInfo; use sp_core::H256; @@ -152,7 +154,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type AssetAccountDeposit = AssetAccountDeposit; @@ -163,6 +167,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -226,15 +233,29 @@ pub fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), tokens::DOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::SDOT, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), tokens::KSM, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN, ALICE, true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SAMPLE_LP_TOKEN_2, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::DOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::SDOT.into(), ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), tokens::KSM.into(), ALICE, true, 1).unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN.into(), + ALICE, + true, + 1, + ) + .unwrap(); + Assets::force_create( + RuntimeOrigin::root(), + SAMPLE_LP_TOKEN_2.into(), + ALICE, + true, + 1, + ) + .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), ALICE, 100_000_000, ) @@ -242,22 +263,28 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), BOB, 100_000_000_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), CHARLIE, 1000_000_000, ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::DOT, EVE, 1000_000_000).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::DOT, + tokens::DOT.into(), + EVE, + 1000_000_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::DOT.into(), FRANK, 100_000_000_000_000_000_000, ) @@ -265,28 +292,28 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 100_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), BOB, 100_000_000_000_000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), CHARLIE, 1000_000_000, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::SDOT, + tokens::SDOT.into(), EVE, 1000_000_000, ) @@ -294,15 +321,21 @@ pub fn new_test_ext() -> sp_io::TestExternalities { Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::KSM, + tokens::KSM.into(), ALICE, 100_000_000, ) .unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), tokens::KSM, BOB, 100_000_000).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - tokens::KSM, + tokens::KSM.into(), + BOB, + 100_000_000, + ) + .unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + tokens::KSM.into(), FRANK, 100_000_000_000_000_000_000, ) diff --git a/pallets/stableswap/src/tests.rs b/pallets/stableswap/src/tests.rs index 9835206b8..6375917fb 100644 --- a/pallets/stableswap/src/tests.rs +++ b/pallets/stableswap/src/tests.rs @@ -1283,14 +1283,14 @@ fn create_pool_large_amount_should_work() { new_test_ext().execute_with(|| { Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 3_000_000_000_000_000_000_000, ) .ok(); Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 2_000_000_000_000_000_000_000, ) @@ -1330,14 +1330,14 @@ fn create_pool_large_amount_from_an_account_without_sufficient_amount_of_tokens_ new_test_ext().execute_with(|| { Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 3_000_000_000_000_000_000_000, ) .ok(); Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 2_000_000_000_000_000_000_000, ) @@ -1371,7 +1371,7 @@ fn do_add_liquidity_exact_amounts_should_work() { // Already deposited 100000000 Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 999_999_999_999_900_000_000, ) @@ -1380,7 +1380,7 @@ fn do_add_liquidity_exact_amounts_should_work() { // Already deposited 100000000 Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 199_999_999_999_990_000_000_0, ) @@ -1416,14 +1416,14 @@ fn do_add_liquidity_large_amounts_should_work() { new_test_ext().execute_with(|| { Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::DOT, + tokens::DOT.into(), ALICE, 3_000_000_000_000_000_000_000, ) .ok(); Assets::mint( RawOrigin::Signed(ALICE).into(), - tokens::SDOT, + tokens::SDOT.into(), ALICE, 2_000_000_000_000_000_000_000, ) diff --git a/pallets/streaming/Cargo.toml b/pallets/streaming/Cargo.toml index 228cd1885..dc5b18e08 100644 --- a/pallets/streaming/Cargo.toml +++ b/pallets/streaming/Cargo.toml @@ -9,25 +9,25 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } orml-traits = { version = '0.4.1-dev', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', features = ['derive'], optional = true } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } [dev-dependencies] orml-oracle = { version = '0.4.1-dev' } pallet-currency-adapter = { path = '../currency-adapter' } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] diff --git a/pallets/streaming/src/benchmarking.rs b/pallets/streaming/src/benchmarking.rs index 9b0c7148f..813bb5f1e 100644 --- a/pallets/streaming/src/benchmarking.rs +++ b/pallets/streaming/src/benchmarking.rs @@ -19,11 +19,17 @@ fn transfer_initial_balance< caller: T::AccountId, ) { let account_id = T::Lookup::unlookup(caller.clone()); - pallet_assets::Pallet::::force_create(SystemOrigin::Root.into(), KSM, account_id, true, 1) - .ok(); + pallet_assets::Pallet::::force_create( + SystemOrigin::Root.into(), + KSM.into(), + account_id, + true, + 1, + ) + .ok(); pallet_assets::Pallet::::force_set_metadata( SystemOrigin::Root.into(), - KSM, + KSM.into(), b"kusama".to_vec(), b"KSM".to_vec(), 12, diff --git a/pallets/streaming/src/lib.rs b/pallets/streaming/src/lib.rs index 47e722bb6..0a4c2e09b 100644 --- a/pallets/streaming/src/lib.rs +++ b/pallets/streaming/src/lib.rs @@ -216,6 +216,7 @@ pub mod pallet { /// - `asset_id`: asset should be able to lookup. /// - `start_time`: the time when the stream will start /// - `end_time`: the time when the stream will end + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::create())] #[transactional] pub fn create( @@ -255,6 +256,7 @@ pub mod pallet { /// Can only be called by the sender /// /// - `stream_id`: the stream id which will be canceled + #[pallet::call_index(1)] #[pallet::weight(T::WeightInfo::cancel())] #[transactional] pub fn cancel(origin: OriginFor, stream_id: StreamId) -> DispatchResultWithPostInfo { @@ -310,6 +312,7 @@ pub mod pallet { /// /// - `stream_id`: the stream id which will be withdraw from /// ` `amount`: the amount of asset to withdraw + #[pallet::call_index(2)] #[pallet::weight(T::WeightInfo::withdraw())] #[transactional] pub fn withdraw( @@ -370,6 +373,7 @@ pub mod pallet { /// /// - `asset_id`: the stream id which will be set the minimum deposit /// - `minimum_deposit`: the minimum deposit for a stream + #[pallet::call_index(3)] #[pallet::weight(T::WeightInfo::set_minimum_deposit())] #[transactional] pub fn set_minimum_deposit( @@ -453,7 +457,7 @@ impl Pallet { Ok(()) }; - StreamLibrary::::try_mutate(account, &kind, checked_push)?; + StreamLibrary::::try_mutate(account, kind, checked_push)?; Ok(()) } @@ -475,7 +479,7 @@ impl Pallet { }; if let Some(k) = kind { - StreamLibrary::::try_mutate(account, &k, checked_remove)?; + StreamLibrary::::try_mutate(account, k, checked_remove)?; } else { StreamLibrary::::try_mutate(account, StreamKind::Send, checked_remove)?; StreamLibrary::::try_mutate(account, StreamKind::Receive, checked_remove)?; diff --git a/pallets/streaming/src/mock.rs b/pallets/streaming/src/mock.rs index 415aa29c2..6f794bfb0 100644 --- a/pallets/streaming/src/mock.rs +++ b/pallets/streaming/src/mock.rs @@ -14,8 +14,12 @@ use super::*; -use frame_support::{construct_runtime, parameter_types, traits::Everything, PalletId}; -use frame_system::EnsureRoot; +use frame_support::{ + construct_runtime, parameter_types, + traits::{AsEnsureOriginWithArg, Everything}, + PalletId, +}; +use frame_system::{EnsureRoot, EnsureSigned}; use sp_core::H256; use sp_runtime::{testing::Header, traits::IdentityLookup}; use sp_std::vec::Vec; @@ -119,7 +123,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -130,6 +136,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type Extra = (); type WeightInfo = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -179,11 +188,23 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { Balances::set_balance(RuntimeOrigin::root(), BOB, dollar(1000), dollar(0)).unwrap(); Balances::set_balance(RuntimeOrigin::root(), DAVE, dollar(1000), dollar(0)).unwrap(); // Init DOT to alice with full access - Assets::force_create(RuntimeOrigin::root(), DOT, ALICE, true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), DOT.into(), ALICE, true, 1).unwrap(); // Alice mints DOT - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, ALICE, dollar(10000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, BOB, dollar(10000)).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, DAVE, dollar(10000)).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + DOT.into(), + ALICE, + dollar(10000), + ) + .unwrap(); + Assets::mint(RuntimeOrigin::signed(ALICE), DOT.into(), BOB, dollar(10000)).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + DOT.into(), + DAVE, + dollar(10000), + ) + .unwrap(); // Set block number and time System::set_block_number(0); TimestampPallet::set_timestamp(6000); diff --git a/pallets/streaming/src/tests.rs b/pallets/streaming/src/tests.rs index ab15030ea..9de33e983 100644 --- a/pallets/streaming/src/tests.rs +++ b/pallets/streaming/src/tests.rs @@ -110,7 +110,7 @@ fn cancel_works_without_withdrawal() { stream.as_collateral().unwrap(); Streams::::insert(stream_id_1, stream); assert_eq!( - Streams::::get(&stream_id_1).unwrap().status, + Streams::::get(stream_id_1).unwrap().status, StreamStatus::Ongoing { as_collateral: true }, @@ -177,9 +177,9 @@ fn withdraw_works() { 0, dollar(80) )); - assert_eq!(Streams::::get(&0).unwrap().remaining_balance, 0); + assert_eq!(Streams::::get(0).unwrap().remaining_balance, 0); assert_eq!( - Streams::::get(&0).unwrap().status, + Streams::::get(0).unwrap().status, StreamStatus::Completed { cancelled: false }, ); }); @@ -811,8 +811,14 @@ fn create_with_minimum_deposit_works() { ); // Asset is not supported to create stream - Assets::force_create(RuntimeOrigin::root(), USDT, ALICE, true, 1).unwrap(); - Assets::mint(RuntimeOrigin::signed(ALICE), USDT, ALICE, dollar(10000)).unwrap(); + Assets::force_create(RuntimeOrigin::root(), USDT.into(), ALICE, true, 1).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + USDT.into(), + ALICE, + dollar(10000), + ) + .unwrap(); assert_err!( Streaming::create( RuntimeOrigin::signed(ALICE), @@ -857,7 +863,13 @@ fn create_with_lots_stream_works() { Balance, >>::create(ALICE, BOB, dollar(99), DOT, 6, 10, false)); - Assets::mint(RuntimeOrigin::signed(ALICE), DOT, ALICE, dollar(100 * 500)).unwrap(); + Assets::mint( + RuntimeOrigin::signed(ALICE), + DOT.into(), + ALICE, + dollar(100 * 500), + ) + .unwrap(); let initial_stream_id = NextStreamId::::get(); let recipient_list = 100..500; let stream_amount = dollar(101); @@ -913,7 +925,7 @@ fn create_with_lots_stream_works() { // passed 15 seconds TimestampPallet::set_timestamp(21000); let mut iter_stream_id = initial_stream_id; - for recipient in recipient_list.clone() { + for recipient in recipient_list { let stream = Streams::::get(iter_stream_id).unwrap(); assert_eq!(stream.delta_of(), Ok(13)); assert_eq!(stream.sender_balance().unwrap(), 0); diff --git a/pallets/traits/Cargo.toml b/pallets/traits/Cargo.toml index 067eca768..f8536f4a1 100644 --- a/pallets/traits/Cargo.toml +++ b/pallets/traits/Cargo.toml @@ -10,23 +10,23 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] serde = { version = '1.0.136', features = ['derive'], optional = true } codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } log = { version = "0.4", default-features = false } num-bigint = { default-features = false, version = '0.4' } num-traits = { default-features = false, version = '0.2' } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } [dev-dependencies] -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std'] diff --git a/pallets/traits/src/xcm.rs b/pallets/traits/src/xcm.rs index 621f061aa..a2d2cc80c 100644 --- a/pallets/traits/src/xcm.rs +++ b/pallets/traits/src/xcm.rs @@ -23,7 +23,7 @@ use frame_support::{ }, Get, }, - weights::constants::WEIGHT_PER_SECOND, + weights::constants::WEIGHT_REF_TIME_PER_SECOND, }; use primitives::ParaId; use scale_info::TypeInfo; @@ -140,7 +140,7 @@ impl< let units_per_second = AssetIdInfoGetter::get_units_per_second(asset_type) .ok_or(XcmError::TooExpensive)?; let amount = units_per_second.saturating_mul(weight as u128) - / (WEIGHT_PER_SECOND.ref_time() as u128); + / (WEIGHT_REF_TIME_PER_SECOND as u128); // We dont need to proceed if the amount is 0 // For cases (specially tests) where the asset is very cheap with respect @@ -202,8 +202,7 @@ impl< if let Some((id, prev_amount, units_per_second)) = self.1.clone() { let weight = weight.min(self.0); self.0 -= weight; - let amount = - units_per_second * (weight as u128) / (WEIGHT_PER_SECOND.ref_time() as u128); + let amount = units_per_second * (weight as u128) / (WEIGHT_REF_TIME_PER_SECOND as u128); self.1 = Some(( id.clone(), prev_amount.saturating_sub(amount), @@ -543,7 +542,7 @@ impl> { fn convert(id: CurrencyId) -> Option { let multi_location = - AsAssetType::::reverse_ref(&id).ok(); + AsAssetType::::reverse_ref(id).ok(); log::trace!( target: "xcm::convert", "currency_id: {:?}, multi_location: {:?}", diff --git a/pallets/xcm-helper/Cargo.toml b/pallets/xcm-helper/Cargo.toml index 7254c5f02..74fb2c982 100644 --- a/pallets/xcm-helper/Cargo.toml +++ b/pallets/xcm-helper/Cargo.toml @@ -9,42 +9,42 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } pallet-traits = { path = '../traits', default-features = false } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } [dev-dependencies] -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', features = ['runtime-benchmarks'] } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +kusama-runtime = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', features = ['runtime-benchmarks'] } orml-xcm-support = { version = '0.4.1-dev' } -pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32' } -polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +pallet-babe = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36' } +polkadot-core-primitives = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +polkadot-runtime-parachains = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } serde = { version = '1.0.136' } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } -xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32' } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } +xcm-simulator = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36' } [features] default = ['std'] diff --git a/pallets/xcm-helper/src/lib.rs b/pallets/xcm-helper/src/lib.rs index 7a79c94c0..14c9a17dc 100644 --- a/pallets/xcm-helper/src/lib.rs +++ b/pallets/xcm-helper/src/lib.rs @@ -139,6 +139,7 @@ pub mod pallet { #[pallet::call] impl Pallet { /// Update xcm fees amount to be used in xcm.Withdraw message + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::update_xcm_weight_fee())] #[transactional] pub fn update_xcm_weight_fee( diff --git a/pallets/xcm-helper/src/mock.rs b/pallets/xcm-helper/src/mock.rs index 816a4c2cc..75b4f0f5e 100644 --- a/pallets/xcm-helper/src/mock.rs +++ b/pallets/xcm-helper/src/mock.rs @@ -4,12 +4,13 @@ use frame_support::{ pallet_prelude::*, parameter_types, sp_io, traits::{ - tokens::BalanceConversion, Everything, GenesisBuild, Nothing, OriginTrait, SortedMembers, + tokens::BalanceConversion, AsEnsureOriginWithArg, Everything, GenesisBuild, Nothing, + OriginTrait, SortedMembers, }, - weights::constants::WEIGHT_PER_SECOND, + weights::constants::WEIGHT_REF_TIME_PER_SECOND, PalletId, WeakBoundedVec, }; -use frame_system::EnsureRoot; +use frame_system::{EnsureRoot, EnsureSigned}; use orml_xcm_support::IsNativeConcrete; use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::{IsSystem, Sibling}; @@ -59,8 +60,8 @@ impl BlockNumberProvider } parameter_types! { - pub const ReservedXcmpWeight: Weight = WEIGHT_PER_SECOND.saturating_div(4); - pub const ReservedDmpWeight: Weight = WEIGHT_PER_SECOND.saturating_div(4); + pub const ReservedXcmpWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4)); + pub const ReservedDmpWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4)); } impl cumulus_pallet_parachain_system::Config for Test { @@ -391,7 +392,9 @@ impl pallet_assets::Config for Test { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -402,6 +405,9 @@ impl pallet_assets::Config for Test { type Freezer = (); type WeightInfo = (); type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } construct_runtime!( @@ -438,25 +444,25 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { - Assets::force_create(RuntimeOrigin::root(), DOT, Id(ALICE), true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SDOT, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), DOT.into(), Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SDOT.into(), Id(ALICE), true, 1).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), Id(ALICE), 100 * DOT_DECIMAL, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - SDOT, + SDOT.into(), Id(ALICE), 100 * DOT_DECIMAL, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), Id(XcmHelpers::account_id()), dot(30f64), ) @@ -525,25 +531,25 @@ pub fn para_ext(para_id: u32) -> sp_io::TestExternalities { let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| { System::set_block_number(1); - Assets::force_create(RuntimeOrigin::root(), DOT, Id(ALICE), true, 1).unwrap(); - Assets::force_create(RuntimeOrigin::root(), SDOT, Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), DOT.into(), Id(ALICE), true, 1).unwrap(); + Assets::force_create(RuntimeOrigin::root(), SDOT.into(), Id(ALICE), true, 1).unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), Id(ALICE), 100 * DOT_DECIMAL, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - SDOT, + SDOT.into(), Id(ALICE), 100 * DOT_DECIMAL, ) .unwrap(); Assets::mint( RuntimeOrigin::signed(ALICE), - DOT, + DOT.into(), Id(XcmHelpers::account_id()), dot(30f64), ) diff --git a/precompiles/assets-erc20/Cargo.toml b/precompiles/assets-erc20/Cargo.toml index f1db4f1c3..8a71116ef 100644 --- a/precompiles/assets-erc20/Cargo.toml +++ b/precompiles/assets-erc20/Cargo.toml @@ -2,7 +2,7 @@ name = 'pallet-evm-precompile-assets-erc20' authors = ['Parallel Team'] edition = '2021' -version = '1.9.2' +version = '1.9.5' [dependencies] log = "0.4.16" @@ -14,20 +14,20 @@ precompile-utils = { path = "../utils", default-features = false } # Substrate codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["max-encoded-len"] } -frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -pallet-assets = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +pallet-assets = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } scale-info = { version = "2.1.0", default-features = false, features = [ "derive" ] } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } # Frontier fp-evm = { version='3.0.0-dev', default-features = false } -pallet-evm = { version='6.0.0-dev', default-features = false } +pallet-evm = { version='6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } [dev-dependencies] derive_more = { version = "0.99" } @@ -38,7 +38,7 @@ precompile-utils = { path = "../utils", features = ["testing"] } codec = { package = "parity-scale-codec", version = "3.0.0", features = ["max-encoded-len"] } scale-info = { version = "2.1.0", default-features = false, features = ["derive"] } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } [features] default = ["std"] @@ -57,3 +57,4 @@ std = [ "sp-runtime/std", "sp-std/std", ] +runtime-benchmarks = ['pallet-assets/runtime-benchmarks'] \ No newline at end of file diff --git a/precompiles/assets-erc20/src/lib.rs b/precompiles/assets-erc20/src/lib.rs index 7fed3282a..472b1edf2 100644 --- a/precompiles/assets-erc20/src/lib.rs +++ b/precompiles/assets-erc20/src/lib.rs @@ -313,7 +313,7 @@ where handle, Some(owner.clone()).into(), pallet_assets::Call::::cancel_approval { - id: asset_id, + id: asset_id.into(), delegate: Runtime::Lookup::unlookup(spender.clone()), }, )?; @@ -323,7 +323,7 @@ where handle, Some(owner).into(), pallet_assets::Call::::approve_transfer { - id: asset_id, + id: asset_id.into(), delegate: Runtime::Lookup::unlookup(spender), amount, }, @@ -352,7 +352,7 @@ where handle, Some(origin).into(), pallet_assets::Call::::transfer { - id: asset_id, + id: asset_id.into(), target: Runtime::Lookup::unlookup(to), amount, }, @@ -397,7 +397,7 @@ where handle, Some(caller).into(), pallet_assets::Call::::transfer_approved { - id: asset_id, + id: asset_id.into(), owner: Runtime::Lookup::unlookup(from), destination: Runtime::Lookup::unlookup(to), amount, @@ -409,7 +409,7 @@ where handle, Some(from).into(), pallet_assets::Call::::transfer { - id: asset_id, + id: asset_id.into(), target: Runtime::Lookup::unlookup(to), amount, }, @@ -510,7 +510,7 @@ where handle, Some(origin).into(), pallet_assets::Call::::mint { - id: asset_id, + id: asset_id.into(), beneficiary: Runtime::Lookup::unlookup(beneficiary), amount, }, @@ -537,7 +537,7 @@ where handle, Some(origin).into(), pallet_assets::Call::::burn { - id: asset_id, + id: asset_id.into(), who: Runtime::Lookup::unlookup(who), amount, }, diff --git a/precompiles/assets-erc20/src/mock.rs b/precompiles/assets-erc20/src/mock.rs index e2b1d6a27..5b641480f 100644 --- a/precompiles/assets-erc20/src/mock.rs +++ b/precompiles/assets-erc20/src/mock.rs @@ -15,9 +15,14 @@ use super::*; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{construct_runtime, parameter_types, traits::Everything}; +use frame_support::{ + construct_runtime, + dispatch::Weight, + parameter_types, + traits::{AsEnsureOriginWithArg, Everything}, +}; -use frame_system::EnsureRoot; +use frame_system::{EnsureRoot, EnsureSigned}; use pallet_evm::{AddressMapping, EnsureAddressNever, EnsureAddressRoot}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; @@ -28,7 +33,7 @@ use sp_runtime::{ }; pub type AccountId = Account; -pub type AssetId = u128; +pub type AssetId = u32; pub type Balance = u128; pub type BlockNumber = u64; pub type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; @@ -71,12 +76,13 @@ impl AddressMapping for Account { a if a == H160::repeat_byte(0xBB) => Self::Bob, a if a == H160::repeat_byte(0xCC) => Self::Charlie, _ => { - let mut data = [0u8; 16]; - let (prefix_part, id_part) = h160_account.as_fixed_bytes().split_at(4); - if prefix_part == &[255u8; 4] { - data.copy_from_slice(id_part); + let mut data = [0u8; 4]; + // let (prefix_part, id_part) = h160_account.as_fixed_bytes().split_at(4); + let address_bytes: [u8; 20] = h160_account.into(); + if ASSET_PRECOMPILE_ADDRESS_PREFIX.eq(&address_bytes[0..4]) { + data.copy_from_slice(&address_bytes[16..20]); - return Self::AssetId(u128::from_be_bytes(data)); + return Self::AssetId(u32::from_be_bytes(data)); } Self::Bogus } @@ -91,11 +97,11 @@ impl AddressToAssetId for Runtime { /// The way to convert an account to assetId is by ensuring that the prefix is 0XFFFFFFFF /// and by taking the lowest 128 bits as the assetId fn address_to_asset_id(address: H160) -> Option { - let mut data = [0u8; 16]; + let mut data = [0u8; 4]; let address_bytes: [u8; 20] = address.into(); if ASSET_PRECOMPILE_ADDRESS_PREFIX.eq(&address_bytes[0..4]) { - data.copy_from_slice(&address_bytes[4..20]); - Some(u128::from_be_bytes(data)) + data.copy_from_slice(&address_bytes[16..20]); + Some(u32::from_be_bytes(data)) } else { None } @@ -104,7 +110,7 @@ impl AddressToAssetId for Runtime { fn asset_id_to_address(asset_id: AssetId) -> H160 { let mut data = [0u8; 20]; data[0..4].copy_from_slice(ASSET_PRECOMPILE_ADDRESS_PREFIX); - data[4..20].copy_from_slice(&asset_id.to_be_bytes()); + data[16..20].copy_from_slice(&asset_id.to_be_bytes()); H160::from(data) } } @@ -118,8 +124,8 @@ impl From for H160 { Account::AssetId(asset_id) => { let mut data = [0u8; 20]; let id_as_bytes = asset_id.to_be_bytes(); - data[0..4].copy_from_slice(&[255u8; 4]); - data[4..20].copy_from_slice(&id_as_bytes); + data[0..4].copy_from_slice(ASSET_PRECOMPILE_ADDRESS_PREFIX); + data[16..20].copy_from_slice(&id_as_bytes); H160::from_slice(&data) } Account::Bogus => Default::default(), @@ -196,7 +202,7 @@ impl pallet_balances::Config for Runtime { parameter_types! { pub const PrecompilesValue: Erc20AssetsPrecompileSet = Erc20AssetsPrecompileSet(PhantomData); - pub WeightPerGas: u64 = 1; + pub WeightPerGas: Weight = Weight::from_ref_time(1); } impl pallet_evm::Config for Runtime { @@ -233,7 +239,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = AssetId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRoot; type AssetDeposit = AssetDeposit; type AssetAccountDeposit = AssetAccountDeposit; @@ -244,6 +252,9 @@ impl pallet_assets::Config for Runtime { type Freezer = (); type Extra = (); type WeightInfo = pallet_assets::weights::SubstrateWeight; + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } // Configure a mock runtime to test the pallet. diff --git a/precompiles/assets-erc20/src/tests.rs b/precompiles/assets-erc20/src/tests.rs index 29ed59bdf..41f5af6a5 100644 --- a/precompiles/assets-erc20/src/tests.rs +++ b/precompiles/assets-erc20/src/tests.rs @@ -31,14 +31,14 @@ fn selector_less_than_four_bytes() { ExtBuilder::default().build().execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); // This selector is only three bytes long when four are required. precompiles() - .prepare_test(Account::Alice, Account::AssetId(0u128), vec![1u8, 2u8, 3u8]) + .prepare_test(Account::Alice, Account::AssetId(0u32), vec![1u8, 2u8, 3u8]) .execute_reverts(|output| output == b"tried to parse selector out of bounds"); }); } @@ -48,7 +48,7 @@ fn no_selector_exists_but_length_is_right() { ExtBuilder::default().build().execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 @@ -57,7 +57,7 @@ fn no_selector_exists_but_length_is_right() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), vec![1u8, 2u8, 3u8, 4u8], ) .execute_reverts(|output| output == b"unknown selector"); @@ -98,14 +98,14 @@ fn get_total_supply() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -113,7 +113,7 @@ fn get_total_supply() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::TotalSupply).build(), ) .expect_cost(0) // TODO: Test db read/write costs @@ -130,14 +130,14 @@ fn get_balances_known_user() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -145,7 +145,7 @@ fn get_balances_known_user() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Alice.into())) .build(), @@ -164,7 +164,7 @@ fn get_balances_unknown_user() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 @@ -173,7 +173,7 @@ fn get_balances_unknown_user() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Bob.into())) .build(), @@ -192,14 +192,14 @@ fn approve() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -207,13 +207,13 @@ fn approve() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(500)) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_APPROVAL, Account::Alice, Account::Bob, @@ -231,14 +231,14 @@ fn approve_saturating() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -246,13 +246,13 @@ fn approve_saturating() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::MAX) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_APPROVAL, Account::Alice, Account::Bob, @@ -263,7 +263,7 @@ fn approve_saturating() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Allowance) .write(Address(Account::Alice.into())) .write(Address(Account::Bob.into())) @@ -283,14 +283,14 @@ fn check_allowance_existing() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -298,7 +298,7 @@ fn check_allowance_existing() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(500)) @@ -309,7 +309,7 @@ fn check_allowance_existing() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Allowance) .write(Address(Account::Alice.into())) .write(Address(Account::Bob.into())) @@ -329,7 +329,7 @@ fn check_allowance_not_existing() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 @@ -338,7 +338,7 @@ fn check_allowance_not_existing() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Allowance) .write(Address(Account::Alice.into())) .write(Address(Account::Bob.into())) @@ -358,14 +358,14 @@ fn transfer() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -373,13 +373,13 @@ fn transfer() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Transfer) .write(Address(Account::Bob.into())) .write(U256::from(400)) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, Account::Bob, @@ -390,7 +390,7 @@ fn transfer() { precompiles() .prepare_test( Account::Bob, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Bob.into())) .build(), @@ -402,7 +402,7 @@ fn transfer() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Alice.into())) .build(), @@ -421,14 +421,14 @@ fn transfer_not_enough_founds() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1 )); @@ -436,7 +436,7 @@ fn transfer_not_enough_founds() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Transfer) .write(Address(Account::Charlie.into())) .write(U256::from(50)) @@ -459,14 +459,14 @@ fn transfer_from() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -474,7 +474,7 @@ fn transfer_from() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(500)) @@ -485,7 +485,7 @@ fn transfer_from() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(500)) @@ -496,14 +496,14 @@ fn transfer_from() { precompiles() .prepare_test( Account::Bob, // Bob is the one sending transferFrom! - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::TransferFrom) .write(Address(Account::Alice.into())) .write(Address(Account::Charlie.into())) .write(U256::from(400)) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, Account::Charlie, @@ -514,7 +514,7 @@ fn transfer_from() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Alice.into())) .build(), @@ -526,7 +526,7 @@ fn transfer_from() { precompiles() .prepare_test( Account::Bob, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Bob.into())) .build(), @@ -538,7 +538,7 @@ fn transfer_from() { precompiles() .prepare_test( Account::Charlie, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Charlie.into())) .build(), @@ -557,14 +557,14 @@ fn transfer_from_non_incremental_approval() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -573,13 +573,13 @@ fn transfer_from_non_incremental_approval() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(500)) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_APPROVAL, Account::Alice, Account::Bob, @@ -594,13 +594,13 @@ fn transfer_from_non_incremental_approval() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(300)) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_APPROVAL, Account::Alice, Account::Bob, @@ -612,7 +612,7 @@ fn transfer_from_non_incremental_approval() { precompiles() .prepare_test( Account::Bob, // Bob is the one sending transferFrom! - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::TransferFrom) .write(Address(Account::Alice.into())) .write(Address(Account::Bob.into())) @@ -637,14 +637,14 @@ fn transfer_from_above_allowance() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -652,7 +652,7 @@ fn transfer_from_above_allowance() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Approve) .write(Address(Account::Bob.into())) .write(U256::from(300)) @@ -663,7 +663,7 @@ fn transfer_from_above_allowance() { precompiles() .prepare_test( Account::Bob, // Bob is the one sending transferFrom! - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::TransferFrom) .write(Address(Account::Alice.into())) .write(Address(Account::Bob.into())) @@ -688,14 +688,14 @@ fn transfer_from_self() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - 0u128, + 0u32.into(), Account::Alice.into(), 1000 )); @@ -703,14 +703,14 @@ fn transfer_from_self() { precompiles() .prepare_test( Account::Alice, // Alice sending transferFrom herself, no need for allowance. - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::TransferFrom) .write(Address(Account::Alice.into())) .write(Address(Account::Bob.into())) .write(U256::from(400)) .build(), ) - .expect_log(LogsBuilder::new(Account::AssetId(0u128).into()).log3( + .expect_log(LogsBuilder::new(Account::AssetId(0u32).into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, Account::Bob, @@ -721,7 +721,7 @@ fn transfer_from_self() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Alice.into())) .build(), @@ -733,7 +733,7 @@ fn transfer_from_self() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::BalanceOf) .write(Address(Account::Bob.into())) .build(), @@ -752,14 +752,14 @@ fn get_metadata() { .execute_with(|| { assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, 1 )); assert_ok!(Assets::force_set_metadata( RuntimeOrigin::root(), - 0u128, + 0u32.into(), b"TestToken".to_vec(), b"Test".to_vec(), 12, @@ -769,7 +769,7 @@ fn get_metadata() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Name).build(), ) .expect_cost(0) // TODO: Test db read/write costs @@ -783,7 +783,7 @@ fn get_metadata() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Symbol).build(), ) .expect_cost(0) // TODO: Test db read/write costs @@ -793,7 +793,7 @@ fn get_metadata() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::Decimals).build(), ) .expect_cost(0) // TODO: Test db read/write costs @@ -808,7 +808,7 @@ fn minimum_balance_is_right() { let expected_min_balance = 19; assert_ok!(Assets::force_create( RuntimeOrigin::root(), - 0u128, + 0u32.into(), Account::Alice.into(), true, expected_min_balance, @@ -817,7 +817,7 @@ fn minimum_balance_is_right() { precompiles() .prepare_test( Account::Alice, - Account::AssetId(0u128), + Account::AssetId(0u32), EvmDataWriter::new_with_selector(Action::MinimumBalance).build(), ) .expect_cost(0) // TODO: Test db read/write costs @@ -832,7 +832,7 @@ fn mint_is_ok() { let asset_id = 0; assert_ok!(Assets::force_create( RuntimeOrigin::root(), - asset_id, + asset_id.into(), Account::Alice.into(), true, 1, @@ -866,7 +866,7 @@ fn mint_non_admin_is_not_ok() { let asset_id = 0; assert_ok!(Assets::force_create( RuntimeOrigin::root(), - asset_id, + asset_id.into(), Account::Alice.into(), true, 1, @@ -892,7 +892,7 @@ fn burn_is_ok() { let asset_id = 0; assert_ok!(Assets::force_create( RuntimeOrigin::root(), - asset_id, + asset_id.into(), Account::Alice.into(), true, 1, @@ -902,7 +902,7 @@ fn burn_is_ok() { let init_amount = 123; assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - asset_id, + asset_id.into(), Account::Bob.into(), init_amount, )); @@ -936,14 +936,14 @@ fn burn_non_admin_is_not_ok() { let asset_id = 0; assert_ok!(Assets::force_create( RuntimeOrigin::root(), - asset_id, + asset_id.into(), Account::Alice.into(), true, 1, )); assert_ok!(Assets::mint( RuntimeOrigin::signed(Account::Alice), - asset_id, + asset_id.into(), Account::Bob.into(), 1000000, )); diff --git a/precompiles/balances-erc20/Cargo.toml b/precompiles/balances-erc20/Cargo.toml index f6b6d196a..93b15d97d 100644 --- a/precompiles/balances-erc20/Cargo.toml +++ b/precompiles/balances-erc20/Cargo.toml @@ -3,7 +3,7 @@ name = "pallet-evm-precompile-balances-erc20" authors = [ "Parallel Team" ] description = "A Precompile to expose a Balances pallet through an ERC20-compliant interface." edition = "2021" -version = "1.9.2" +version = "1.9.5" [dependencies] log = "0.4" @@ -16,17 +16,17 @@ precompile-utils = { path = "../utils", default-features = false } # Substrate codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ "max-encoded-len" ] } -frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } # Frontier fp-evm = { version='3.0.0-dev', default-features = false } -pallet-evm = { version='6.0.0-dev', default-features = false } +pallet-evm = { version='6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } [dev-dependencies] derive_more = { version = "0.99" } @@ -38,9 +38,9 @@ sha3 = "0.8" # Moonbeam precompile-utils = { path = "../utils", features = [ "testing" ] } -pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32" } +pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } scale-info = { version = "2.0", default-features = false, features = [ "derive" ] } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } [features] default = [ "std" ] diff --git a/precompiles/balances-erc20/src/mock.rs b/precompiles/balances-erc20/src/mock.rs index 7967f725f..15476c216 100644 --- a/precompiles/balances-erc20/src/mock.rs +++ b/precompiles/balances-erc20/src/mock.rs @@ -16,7 +16,7 @@ use super::*; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{construct_runtime, parameter_types, traits::Everything}; +use frame_support::{construct_runtime, dispatch::Weight, parameter_types, traits::Everything}; use pallet_evm::{AddressMapping, EnsureAddressNever, EnsureAddressRoot, PrecompileSet}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; @@ -169,9 +169,9 @@ impl pallet_balances::Config for Runtime { } parameter_types! { - pub BlockGasLimit: U256 = U256::max_value(); - pub const PrecompilesValue: Precompiles = Precompiles(PhantomData); - pub WeightPerGas: u64 = 1; + pub BlockGasLimit: U256 = U256::max_value(); + pub const PrecompilesValue: Precompiles = Precompiles(PhantomData); + pub WeightPerGas: Weight = Weight::from_ref_time(1); } impl pallet_evm::Config for Runtime { diff --git a/precompiles/balances-erc20/src/tests.rs b/precompiles/balances-erc20/src/tests.rs index 7ca73ac26..e492d269e 100644 --- a/precompiles/balances-erc20/src/tests.rs +++ b/precompiles/balances-erc20/src/tests.rs @@ -254,7 +254,7 @@ fn transfer() { .write(U256::from(400)) .build(), ) - .expect_cost(166861756u64) // 1 weight => 1 gas in mock + .expect_cost(173812756u64) // 1 weight => 1 gas in mock .expect_log(LogsBuilder::new(Account::Precompile.into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, @@ -305,10 +305,10 @@ fn transfer_not_enough_funds() { .build(), ) .execute_reverts(|output| { - from_utf8(&output) + from_utf8(output) .unwrap() .contains("Dispatched call failed with error: DispatchErrorWithPostInfo") - && from_utf8(&output).unwrap().contains("InsufficientBalance") + && from_utf8(output).unwrap().contains("InsufficientBalance") }); }); } @@ -340,7 +340,7 @@ fn transfer_from() { .write(U256::from(400)) .build(), ) - .expect_cost(166861756u64) // 1 weight => 1 gas in mock + .expect_cost(173812756u64) // 1 weight => 1 gas in mock .expect_log(LogsBuilder::new(Account::Precompile.into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, @@ -435,7 +435,7 @@ fn transfer_from_self() { .write(U256::from(400)) .build(), ) - .expect_cost(166861756u64) // 1 weight => 1 gas in mock + .expect_cost(173812756u64) // 1 weight => 1 gas in mock .expect_log(LogsBuilder::new(Account::Precompile.into()).log3( SELECTOR_LOG_TRANSFER, Account::Alice, @@ -864,7 +864,7 @@ fn permit_valid() { SELECTOR_LOG_APPROVAL, Account::Alice, Account::Bob, - EvmDataWriter::new().write(U256::from(value)).build(), + EvmDataWriter::new().write(value).build(), )) .execute_returns(vec![]); diff --git a/precompiles/utils/Cargo.toml b/precompiles/utils/Cargo.toml index 6acf041c0..64b7fef13 100644 --- a/precompiles/utils/Cargo.toml +++ b/precompiles/utils/Cargo.toml @@ -2,7 +2,7 @@ name = "precompile-utils" authors = ['Parallel Team'] edition = '2021' -version = '1.9.2' +version = '1.9.5' [dependencies] impl-trait-for-tuples = "0.2.2" @@ -15,20 +15,20 @@ precompile-utils-macro = { path = "macro" } # Substrate codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false } -frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } -sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36", default-features = false } # Frontier -evm = { git = "https://github.com/rust-blockchain/evm", rev = "01bcbd2205a212c34451d3b4fabc962793b057d3", default-features = false, features = ["with-codec"] } +evm = { version = '0.37.0', default-features = false, features = ["with-codec"] } fp-evm = { version='3.0.0-dev', default-features = false } -pallet-evm = { version='6.0.0-dev', default-features = false } +pallet-evm = { version='6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } # Polkadot / XCM -xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32", default-features = false } +xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36", default-features = false } [dev-dependencies] hex-literal = "0.3.1" diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 28e135379..46886c0bb 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -6,18 +6,18 @@ version = '1.9.5' [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } log = { version = "0.4", default-features = false } orml-oracle = { version = '0.4.1-dev', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', optional = true } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] diff --git a/runtime/heiko/Cargo.toml b/runtime/heiko/Cargo.toml index cd73b5d1a..6c3a5f54d 100644 --- a/runtime/heiko/Cargo.toml +++ b/runtime/heiko/Cargo.toml @@ -20,63 +20,63 @@ smallvec = '1.6.1' static_assertions = '1.1.0' # Substrate dependencies -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } # Polkadot dependencies -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } # Cumulus dependencies -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } # ORML dependencies orml-oracle = { version = '0.4.1-dev', default-features = false } @@ -91,8 +91,8 @@ orml-xtokens = { version = '0.4.1-dev', default-features = false fp-rpc = { version = '3.0.0-dev', default-features = false } fp-self-contained = { version = '1.0.0-dev', default-features = false } pallet-base-fee = { version = '1.0.0', default-features = false } -pallet-ethereum = { version = '4.0.0-dev', default-features = false } -pallet-evm = { version = '6.0.0-dev', default-features = false } +pallet-ethereum = { version = '4.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } +pallet-evm = { version = '6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } pallet-evm-precompile-blake2 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-bn128 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-dispatch = { version = '2.0.0-dev', default-features = false } @@ -124,11 +124,11 @@ pallet-xcm-helper = { path = '../../pallets/xcm-helper', default-fea primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } [build-dependencies.substrate-wasm-builder] -branch = 'polkadot-v0.9.32' +branch = 'polkadot-v0.9.36' git = 'https://github.com/paritytech/substrate.git' [dev-dependencies] -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] @@ -172,19 +172,6 @@ std = [ 'codec/std', 'serde', 'scale-info/std', - 'fp-rpc/std', - 'fp-self-contained/std', - 'pallet-base-fee/std', - 'pallet-ethereum/std', - 'pallet-evm/std', - 'pallet-evm-precompile-blake2/std', - 'pallet-evm-precompile-simple/std', - 'pallet-evm-precompile-bn128/std', - 'pallet-evm-precompile-dispatch/std', - 'pallet-evm-precompile-ed25519/std', - 'pallet-evm-precompile-modexp/std', - 'pallet-evm-precompile-sha3fips/std', - 'pallet-evm-signatures/std', 'sp-api/std', 'sp-std/std', 'sp-core/std', @@ -258,6 +245,19 @@ std = [ 'pallet-xcm-helper/std', 'pallet-asset-registry/std', 'pallet-traits/std', + 'fp-rpc/std', + 'fp-self-contained/std', + 'pallet-base-fee/std', + 'pallet-ethereum/std', + 'pallet-evm/std', + 'pallet-evm-precompile-blake2/std', + 'pallet-evm-precompile-simple/std', + 'pallet-evm-precompile-bn128/std', + 'pallet-evm-precompile-dispatch/std', + 'pallet-evm-precompile-ed25519/std', + 'pallet-evm-precompile-modexp/std', + 'pallet-evm-precompile-sha3fips/std', + 'pallet-evm-signatures/std', 'pallet-evm-precompile-assets-erc20/std', 'pallet-evm-precompile-balances-erc20/std', ] @@ -310,6 +310,7 @@ try-runtime = [ 'pallet-crowdloans/try-runtime', 'pallet-xcm-helper/try-runtime', 'pallet-asset-registry/try-runtime', + 'fp-self-contained/try-runtime', 'pallet-ethereum/try-runtime', 'pallet-evm/try-runtime', 'pallet-base-fee/try-runtime', diff --git a/runtime/heiko/src/lib.rs b/runtime/heiko/src/lib.rs index 3e923b930..a6afc1830 100644 --- a/runtime/heiko/src/lib.rs +++ b/runtime/heiko/src/lib.rs @@ -24,11 +24,13 @@ use frame_support::{ traits::{ fungibles::{InspectMetadata, Mutate}, tokens::BalanceConversion, - ChangeMembers, ConstU32, Contains, EitherOfDiverse, EqualPrivilegeOnly, Everything, - FindAuthor, InstanceFilter, Nothing, + AsEnsureOriginWithArg, ChangeMembers, ConstU32, Contains, EitherOfDiverse, + EqualPrivilegeOnly, Everything, FindAuthor, InstanceFilter, Nothing, }, weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + constants::{ + BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND, + }, ConstantMultiplier, }, ConsensusEngineId, PalletId, WeakBoundedVec, @@ -212,9 +214,10 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND - .saturating_div(2) - .set_proof_size(cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64); +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, +); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -311,7 +314,6 @@ impl Contains for BaseCallFilter { RuntimeCall::Assets(pallet_assets::Call::freeze_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::thaw_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::burn { .. }) | - RuntimeCall::Assets(pallet_assets::Call::destroy { .. }) | RuntimeCall::CurrencyAdapter(_) | // 3rd Party RuntimeCall::Oracle(_) | @@ -482,7 +484,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -491,8 +495,11 @@ impl pallet_assets::Config for Runtime { type ApprovalDeposit = ApprovalDeposit; type StringLimit = AssetsStringLimit; type Freezer = (); - type WeightInfo = weights::pallet_assets::WeightInfo; + type WeightInfo = pallet_assets::weights::SubstrateWeight; type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -804,7 +811,7 @@ pub const GAS_PER_SECOND: u64 = 40_000_000; /// Approximate ratio of the amount of Weight per Gas. /// u64 works for approximations because Weight is a very small unit compared to gas. -pub const WEIGHT_PER_GAS: u64 = WEIGHT_PER_SECOND.ref_time() / GAS_PER_SECOND; +pub const WEIGHT_PER_GAS: u64 = WEIGHT_REF_TIME_PER_SECOND / GAS_PER_SECOND; pub struct FindAuthorTruncated(sp_std::marker::PhantomData); impl> FindAuthor for FindAuthorTruncated { @@ -833,7 +840,7 @@ parameter_types! { NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS ); pub ParallelPrecompilesValue: ParallelPrecompilesType = ParallelPrecompiles::::new(); - pub WeightPerGas: u64 = WEIGHT_PER_GAS; + pub WeightPerGas: Weight = Weight::from_ref_time(WEIGHT_PER_GAS); } impl pallet_evm::Config for Runtime { @@ -2512,15 +2519,16 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, RuntimeBlockWeights::get().max_block) } fn execute_block( block: Block, state_root_check: bool, + signature_check: bool, select: frame_try_runtime::TryStateSelect ) -> Weight { log::info!( @@ -2530,7 +2538,7 @@ impl_runtime_apis! { state_root_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, signature_check, select).expect("try_execute_block failed") } } } diff --git a/runtime/heiko/src/weights/mod.rs b/runtime/heiko/src/weights/mod.rs index 34f30f52c..31f092b6f 100644 --- a/runtime/heiko/src/weights/mod.rs +++ b/runtime/heiko/src/weights/mod.rs @@ -15,7 +15,6 @@ pub mod pallet_xcm_helper; pub mod cumulus_pallet_xcmp_queue; pub mod orml_oracle; pub mod orml_vesting; -pub mod pallet_assets; pub mod pallet_identity; pub mod pallet_preimage; pub mod pallet_treasury; diff --git a/runtime/heiko/src/weights/pallet_assets.rs b/runtime/heiko/src/weights/pallet_assets.rs deleted file mode 100644 index 3bbd86d93..000000000 --- a/runtime/heiko/src/weights/pallet_assets.rs +++ /dev/null @@ -1,220 +0,0 @@ - -//! Autogenerated weights for `pallet_assets` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-20, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! HOSTNAME: `ip-172-88-3-164`, CPU: `Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("heiko-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/parallel -// benchmark -// pallet -// --chain=heiko-dev -// --execution=wasm -// --wasm-execution=compiled -// --pallet=pallet_assets -// --extrinsic=* -// --steps=50 -// --repeat=20 -// --output=./runtime/heiko/src/weights/pallet_assets.rs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `pallet_assets`. -pub struct WeightInfo(PhantomData); -impl pallet_assets::WeightInfo for WeightInfo { - // Storage: Assets Asset (r:1 w:1) - fn create() -> Weight { - Weight::from_ref_time(48_044_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn force_create() -> Weight { - Weight::from_ref_time(27_833_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:5002 w:5001) - // Storage: System Account (r:5000 w:5000) - // Storage: Assets Metadata (r:1 w:0) - // Storage: Assets Approvals (r:501 w:500) - /// The range of component `c` is `[0, 5000]`. - /// The range of component `s` is `[0, 5000]`. - /// The range of component `a` is `[0, 500]`. - fn destroy(c: u32, s: u32, a: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 60_000 - .saturating_add(Weight::from_ref_time(29_399_000 as u64).saturating_mul(c as u64)) - // Standard Error: 60_000 - .saturating_add(Weight::from_ref_time(34_562_000 as u64).saturating_mul(s as u64)) - // Standard Error: 602_000 - .saturating_add(Weight::from_ref_time(32_294_000 as u64).saturating_mul(a as u64)) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(c as u64))) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(a as u64))) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(c as u64))) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(a as u64))) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:1 w:1) - fn mint() -> Weight { - Weight::from_ref_time(53_471_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:1 w:1) - fn burn() -> Weight { - Weight::from_ref_time(59_786_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn transfer() -> Weight { - Weight::from_ref_time(84_721_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(72_223_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn force_transfer() -> Weight { - Weight::from_ref_time(85_178_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Account (r:1 w:1) - fn freeze() -> Weight { - Weight::from_ref_time(35_259_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Account (r:1 w:1) - fn thaw() -> Weight { - Weight::from_ref_time(35_483_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn freeze_asset() -> Weight { - Weight::from_ref_time(29_481_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn thaw_asset() -> Weight { - Weight::from_ref_time(29_325_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Metadata (r:1 w:0) - fn transfer_ownership() -> Weight { - Weight::from_ref_time(32_750_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn set_team() -> Weight { - Weight::from_ref_time(29_344_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, s: u32, ) -> Weight { - Weight::from_ref_time(54_586_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(n as u64)) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - fn clear_metadata() -> Weight { - Weight::from_ref_time(53_137_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(_n: u32, s: u32, ) -> Weight { - Weight::from_ref_time(32_282_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - fn force_clear_metadata() -> Weight { - Weight::from_ref_time(52_843_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn force_asset_status() -> Weight { - Weight::from_ref_time(27_939_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Approvals (r:1 w:1) - fn approve_transfer() -> Weight { - Weight::from_ref_time(60_170_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Approvals (r:1 w:1) - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn transfer_approved() -> Weight { - Weight::from_ref_time(107_157_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Approvals (r:1 w:1) - fn cancel_approval() -> Weight { - Weight::from_ref_time(60_935_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Approvals (r:1 w:1) - fn force_cancel_approval() -> Weight { - Weight::from_ref_time(62_977_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } -} diff --git a/runtime/kerria/Cargo.toml b/runtime/kerria/Cargo.toml index a5ef84066..0b7122893 100644 --- a/runtime/kerria/Cargo.toml +++ b/runtime/kerria/Cargo.toml @@ -20,64 +20,64 @@ smallvec = '1.6.1' static_assertions = '1.1.0' # Substrate dependencies -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-sudo = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-sudo = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } # Polkadot dependencies -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } # Cumulus dependencies -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } # ORML dependencies orml-oracle = { version = '0.4.1-dev', default-features = false } @@ -92,8 +92,8 @@ orml-xtokens = { version = '0.4.1-dev', default-features = false fp-rpc = { version = '3.0.0-dev', default-features = false } fp-self-contained = { version = '1.0.0-dev', default-features = false } pallet-base-fee = { version = '1.0.0', default-features = false } -pallet-ethereum = { version = '4.0.0-dev', default-features = false } -pallet-evm = { version = '6.0.0-dev', default-features = false } +pallet-ethereum = { version = '4.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } +pallet-evm = { version = '6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } pallet-evm-precompile-blake2 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-bn128 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-dispatch = { version = '2.0.0-dev', default-features = false } @@ -125,11 +125,11 @@ primitives = { package = 'parallel-primitives', path = pallet-evm-signatures = { path = '../../pallets/evm-signatures', default-features = false } [build-dependencies.substrate-wasm-builder] -branch = 'polkadot-v0.9.32' +branch = 'polkadot-v0.9.36' git = 'https://github.com/paritytech/substrate.git' [dev-dependencies] -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] @@ -139,6 +139,7 @@ runtime-benchmarks = [ 'frame-support/runtime-benchmarks', 'frame-system-benchmarking/runtime-benchmarks', 'frame-system/runtime-benchmarks', + 'pallet-assets/runtime-benchmarks', 'pallet-balances/runtime-benchmarks', 'pallet-bridge/runtime-benchmarks', 'pallet-timestamp/runtime-benchmarks', @@ -236,6 +237,8 @@ std = [ 'pallet-farming/std', 'pallet-asset-registry/std', 'pallet-traits/std', + 'fp-rpc/std', + 'fp-self-contained/std', 'pallet-base-fee/std', 'pallet-ethereum/std', 'pallet-evm/std', @@ -300,6 +303,7 @@ try-runtime = [ 'pallet-crowdloans/try-runtime', 'pallet-xcm-helper/try-runtime', 'pallet-asset-registry/try-runtime', + 'fp-self-contained/try-runtime', 'pallet-ethereum/try-runtime', 'pallet-evm/try-runtime', 'pallet-base-fee/try-runtime', diff --git a/runtime/kerria/src/lib.rs b/runtime/kerria/src/lib.rs index 0111e618a..d812eb2a1 100644 --- a/runtime/kerria/src/lib.rs +++ b/runtime/kerria/src/lib.rs @@ -24,18 +24,20 @@ use frame_support::{ traits::{ fungibles::{InspectMetadata, Mutate}, tokens::BalanceConversion, - ChangeMembers, ConstU32, Contains, EitherOfDiverse, EqualPrivilegeOnly, Everything, - FindAuthor, InstanceFilter, Nothing, + AsEnsureOriginWithArg, ChangeMembers, ConstU32, Contains, EitherOfDiverse, + EqualPrivilegeOnly, Everything, FindAuthor, InstanceFilter, Nothing, }, weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + constants::{ + BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND, + }, ConstantMultiplier, }, ConsensusEngineId, PalletId, WeakBoundedVec, }; use frame_system::{ limits::{BlockLength, BlockWeights}, - EnsureRoot, + EnsureRoot, EnsureSigned, }; use orml_traits::{ location::AbsoluteReserveProvider, parameter_type_with_key, DataFeeder, DataProvider, @@ -212,9 +214,10 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND - .saturating_div(2) - .set_proof_size(cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64); +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, +); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -311,7 +314,6 @@ impl Contains for BaseCallFilter { RuntimeCall::Assets(pallet_assets::Call::freeze_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::thaw_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::burn { .. }) | - RuntimeCall::Assets(pallet_assets::Call::destroy { .. }) | RuntimeCall::CurrencyAdapter(_) | // 3rd Party RuntimeCall::Oracle(_) | @@ -470,7 +472,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -481,6 +485,9 @@ impl pallet_assets::Config for Runtime { type Freezer = (); type WeightInfo = (); type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -792,7 +799,7 @@ pub const GAS_PER_SECOND: u64 = 40_000_000; /// Approximate ratio of the amount of Weight per Gas. /// u64 works for approximations because Weight is a very small unit compared to gas. -pub const WEIGHT_PER_GAS: u64 = WEIGHT_PER_SECOND.ref_time() / GAS_PER_SECOND; +pub const WEIGHT_PER_GAS: u64 = WEIGHT_REF_TIME_PER_SECOND / GAS_PER_SECOND; pub struct FindAuthorTruncated(sp_std::marker::PhantomData); impl> FindAuthor for FindAuthorTruncated { @@ -820,7 +827,7 @@ parameter_types! { NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS ); pub ParallelPrecompilesValue: ParallelPrecompilesType = ParallelPrecompiles::::new(); - pub WeightPerGas: u64 = WEIGHT_PER_GAS; + pub WeightPerGas: Weight = Weight::from_ref_time(WEIGHT_PER_GAS); } impl pallet_evm::Config for Runtime { @@ -1731,7 +1738,7 @@ impl orml_vesting::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type MinVestedTransfer = MinVestedTransfer; - type VestedTransferOrigin = frame_system::EnsureSigned; + type VestedTransferOrigin = EnsureSigned; type WeightInfo = (); type MaxVestingSchedules = MaxVestingSchedules; type BlockNumberProvider = frame_system::Pallet; @@ -2491,15 +2498,16 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, RuntimeBlockWeights::get().max_block) } fn execute_block( block: Block, state_root_check: bool, + signature_check: bool, select: frame_try_runtime::TryStateSelect ) -> Weight { log::info!( @@ -2509,7 +2517,7 @@ impl_runtime_apis! { state_root_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, signature_check, select).expect("try_execute_block failed") } } } diff --git a/runtime/parallel/Cargo.toml b/runtime/parallel/Cargo.toml index 09572b203..e27ba189e 100644 --- a/runtime/parallel/Cargo.toml +++ b/runtime/parallel/Cargo.toml @@ -20,63 +20,63 @@ smallvec = '1.6.1' static_assertions = '1.1.0' # Substrate dependencies -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } # Polkadot dependencies -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } # Cumulus dependencies -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } # ORML dependencies orml-oracle = { version = '0.4.1-dev', default-features = false } @@ -91,8 +91,8 @@ orml-xtokens = { version = '0.4.1-dev', default-features = false fp-rpc = { version = '3.0.0-dev', default-features = false } fp-self-contained = { version = '1.0.0-dev', default-features = false } pallet-base-fee = { version = '1.0.0', default-features = false } -pallet-ethereum = { version = '4.0.0-dev', default-features = false } -pallet-evm = { version = '6.0.0-dev', default-features = false } +pallet-ethereum = { version = '4.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } +pallet-evm = { version = '6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } pallet-evm-precompile-blake2 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-bn128 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-dispatch = { version = '2.0.0-dev', default-features = false } @@ -124,11 +124,11 @@ primitives = { package = 'parallel-primitives', path = '../.. pallet-evm-signatures = { path = '../../pallets/evm-signatures', default-features = false } [build-dependencies.substrate-wasm-builder] -branch = 'polkadot-v0.9.32' +branch = 'polkadot-v0.9.36' git = 'https://github.com/paritytech/substrate.git' [dev-dependencies] -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] @@ -245,6 +245,8 @@ std = [ 'pallet-farming/std', 'pallet-asset-registry/std', 'pallet-traits/std', + 'fp-rpc/std', + 'fp-self-contained/std', 'pallet-base-fee/std', 'pallet-ethereum/std', 'pallet-evm/std', @@ -308,6 +310,7 @@ try-runtime = [ 'pallet-crowdloans/try-runtime', 'pallet-xcm-helper/try-runtime', 'pallet-asset-registry/try-runtime', + 'fp-self-contained/try-runtime', 'pallet-ethereum/try-runtime', 'pallet-evm/try-runtime', 'pallet-base-fee/try-runtime', diff --git a/runtime/parallel/src/lib.rs b/runtime/parallel/src/lib.rs index dfe7b1269..7a7b8a051 100644 --- a/runtime/parallel/src/lib.rs +++ b/runtime/parallel/src/lib.rs @@ -25,18 +25,20 @@ use frame_support::{ traits::{ fungibles::{InspectMetadata, Mutate}, tokens::BalanceConversion, - ChangeMembers, ConstU32, Contains, EitherOfDiverse, EqualPrivilegeOnly, Everything, - FindAuthor, InstanceFilter, Nothing, + AsEnsureOriginWithArg, ChangeMembers, ConstU32, Contains, EitherOfDiverse, + EqualPrivilegeOnly, Everything, FindAuthor, InstanceFilter, Nothing, }, weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + constants::{ + BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND, + }, ConstantMultiplier, }, ConsensusEngineId, PalletId, WeakBoundedVec, }; use frame_system::{ limits::{BlockLength, BlockWeights}, - EnsureRoot, + EnsureRoot, EnsureSigned, }; use orml_traits::{ location::AbsoluteReserveProvider, parameter_type_with_key, DataFeeder, DataProvider, @@ -216,9 +218,10 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND - .saturating_div(2) - .set_proof_size(cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64); +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, +); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -315,7 +318,6 @@ impl Contains for BaseCallFilter { RuntimeCall::Assets(pallet_assets::Call::freeze_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::thaw_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::burn { .. }) | - RuntimeCall::Assets(pallet_assets::Call::destroy { .. }) | RuntimeCall::CurrencyAdapter(_) | // 3rd Party RuntimeCall::Oracle(_) | @@ -486,7 +488,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -495,8 +499,11 @@ impl pallet_assets::Config for Runtime { type ApprovalDeposit = ApprovalDeposit; type StringLimit = AssetsStringLimit; type Freezer = (); - type WeightInfo = weights::pallet_assets::WeightInfo; + type WeightInfo = pallet_assets::weights::SubstrateWeight; type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -808,7 +815,7 @@ pub const GAS_PER_SECOND: u64 = 40_000_000; /// Approximate ratio of the amount of Weight per Gas. /// u64 works for approximations because Weight is a very small unit compared to gas. -pub const WEIGHT_PER_GAS: u64 = WEIGHT_PER_SECOND.ref_time() / GAS_PER_SECOND; +pub const WEIGHT_PER_GAS: u64 = WEIGHT_REF_TIME_PER_SECOND / GAS_PER_SECOND; pub struct FindAuthorTruncated(sp_std::marker::PhantomData); impl> FindAuthor for FindAuthorTruncated { @@ -836,7 +843,7 @@ parameter_types! { NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS ); pub ParallelPrecompilesValue: ParallelPrecompilesType = ParallelPrecompiles::::new(); - pub WeightPerGas: u64 = WEIGHT_PER_GAS; + pub WeightPerGas: Weight = Weight::from_ref_time(WEIGHT_PER_GAS); } impl pallet_evm::Config for Runtime { @@ -1734,7 +1741,7 @@ impl orml_vesting::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type MinVestedTransfer = MinVestedTransfer; - type VestedTransferOrigin = frame_system::EnsureSigned; + type VestedTransferOrigin = EnsureSigned; type WeightInfo = weights::orml_vesting::WeightInfo; type MaxVestingSchedules = MaxVestingSchedules; type BlockNumberProvider = frame_system::Pallet; @@ -2515,15 +2522,16 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, RuntimeBlockWeights::get().max_block) } fn execute_block( block: Block, state_root_check: bool, + signature_check: bool, select: frame_try_runtime::TryStateSelect ) -> Weight { log::info!( @@ -2533,7 +2541,7 @@ impl_runtime_apis! { state_root_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, signature_check, select).expect("try_execute_block failed") } } } diff --git a/runtime/parallel/src/weights/mod.rs b/runtime/parallel/src/weights/mod.rs index 34f30f52c..31f092b6f 100644 --- a/runtime/parallel/src/weights/mod.rs +++ b/runtime/parallel/src/weights/mod.rs @@ -15,7 +15,6 @@ pub mod pallet_xcm_helper; pub mod cumulus_pallet_xcmp_queue; pub mod orml_oracle; pub mod orml_vesting; -pub mod pallet_assets; pub mod pallet_identity; pub mod pallet_preimage; pub mod pallet_treasury; diff --git a/runtime/parallel/src/weights/pallet_assets.rs b/runtime/parallel/src/weights/pallet_assets.rs deleted file mode 100644 index f62e74c4d..000000000 --- a/runtime/parallel/src/weights/pallet_assets.rs +++ /dev/null @@ -1,218 +0,0 @@ - -//! Autogenerated weights for `pallet_assets` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-20, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! HOSTNAME: `ip-172-88-3-164`, CPU: `Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("parallel-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/parallel -// benchmark -// pallet -// --chain=parallel-dev -// --execution=wasm -// --wasm-execution=compiled -// --pallet=pallet_assets -// --extrinsic=* -// --steps=50 -// --repeat=20 -// --output=./runtime/parallel/src/weights/pallet_assets.rs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `pallet_assets`. -pub struct WeightInfo(PhantomData); -impl pallet_assets::WeightInfo for WeightInfo { - // Storage: Assets Asset (r:1 w:1) - fn create() -> Weight { - Weight::from_ref_time(47_941_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn force_create() -> Weight { - Weight::from_ref_time(27_844_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:5002 w:5001) - // Storage: System Account (r:5000 w:5000) - // Storage: Assets Metadata (r:1 w:0) - // Storage: Assets Approvals (r:501 w:500) - /// The range of component `c` is `[0, 5000]`. - /// The range of component `s` is `[0, 5000]`. - /// The range of component `a` is `[0, 500]`. - fn destroy(c: u32, s: u32, a: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 56_000 - .saturating_add(Weight::from_ref_time(29_286_000 as u64).saturating_mul(c as u64)) - // Standard Error: 56_000 - .saturating_add(Weight::from_ref_time(34_681_000 as u64).saturating_mul(s as u64)) - // Standard Error: 561_000 - .saturating_add(Weight::from_ref_time(34_914_000 as u64).saturating_mul(a as u64)) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(c as u64))) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(a as u64))) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(c as u64))) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(a as u64))) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:1 w:1) - fn mint() -> Weight { - Weight::from_ref_time(53_304_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:1 w:1) - fn burn() -> Weight { - Weight::from_ref_time(58_872_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn transfer() -> Weight { - Weight::from_ref_time(83_380_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(71_336_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn force_transfer() -> Weight { - Weight::from_ref_time(83_729_000 as u64) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Account (r:1 w:1) - fn freeze() -> Weight { - Weight::from_ref_time(34_673_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Account (r:1 w:1) - fn thaw() -> Weight { - Weight::from_ref_time(34_591_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn freeze_asset() -> Weight { - Weight::from_ref_time(28_550_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn thaw_asset() -> Weight { - Weight::from_ref_time(29_057_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Metadata (r:1 w:0) - fn transfer_ownership() -> Weight { - Weight::from_ref_time(32_362_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn set_team() -> Weight { - Weight::from_ref_time(28_690_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn set_metadata(_n: u32, s: u32, ) -> Weight { - Weight::from_ref_time(54_619_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - fn clear_metadata() -> Weight { - Weight::from_ref_time(54_043_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(_n: u32, s: u32, ) -> Weight { - Weight::from_ref_time(32_021_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:0) - // Storage: Assets Metadata (r:1 w:1) - fn force_clear_metadata() -> Weight { - Weight::from_ref_time(53_880_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - fn force_asset_status() -> Weight { - Weight::from_ref_time(27_559_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Approvals (r:1 w:1) - fn approve_transfer() -> Weight { - Weight::from_ref_time(59_704_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Approvals (r:1 w:1) - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Account (r:2 w:2) - // Storage: System Account (r:1 w:1) - fn transfer_approved() -> Weight { - Weight::from_ref_time(107_330_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Approvals (r:1 w:1) - fn cancel_approval() -> Weight { - Weight::from_ref_time(61_322_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Assets Asset (r:1 w:1) - // Storage: Assets Approvals (r:1 w:1) - fn force_cancel_approval() -> Weight { - Weight::from_ref_time(63_054_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } -} diff --git a/runtime/vanilla/Cargo.toml b/runtime/vanilla/Cargo.toml index c92191197..7c08831fb 100644 --- a/runtime/vanilla/Cargo.toml +++ b/runtime/vanilla/Cargo.toml @@ -20,64 +20,64 @@ smallvec = '1.6.1' static_assertions = '1.1.0' # Substrate dependencies -frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false, optional = true } -pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-sudo = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-executive = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false, optional = true } +pallet-assets = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-authorship = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-balances = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collective = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-democracy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-identity = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-membership = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-multisig = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-preimage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-proxy = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-scheduler = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-sudo = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-treasury = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-utility = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } scale-info = { version = '2.1', default-features = false, features = ['derive'] } -sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-version = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } # Polkadot dependencies -pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.32', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +polkadot-runtime-common = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot.git', branch = 'release-v0.9.36', default-features = false } # Cumulus dependencies -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.32', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-timestamp = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus.git', branch = 'polkadot-v0.9.36', default-features = false } # ORML dependencies orml-oracle = { version = '0.4.1-dev', default-features = false } @@ -92,8 +92,8 @@ orml-xtokens = { version = '0.4.1-dev', default-features = false fp-rpc = { version = '3.0.0-dev', default-features = false } fp-self-contained = { version = '1.0.0-dev', default-features = false } pallet-base-fee = { version = '1.0.0', default-features = false } -pallet-ethereum = { version = '4.0.0-dev', default-features = false } -pallet-evm = { version = '6.0.0-dev', default-features = false } +pallet-ethereum = { version = '4.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } +pallet-evm = { version = '6.0.0-dev', default-features = false, features = ['forbid-evm-reentrancy'] } pallet-evm-precompile-blake2 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-bn128 = { version = '2.0.0-dev', default-features = false } pallet-evm-precompile-dispatch = { version = '2.0.0-dev', default-features = false } @@ -126,11 +126,11 @@ pallet-xcm-helper = { path = '../../pallets/xcm-helper', defa primitives = { package = 'parallel-primitives', path = '../../primitives', default-features = false } [build-dependencies.substrate-wasm-builder] -branch = 'polkadot-v0.9.32' +branch = 'polkadot-v0.9.36' git = 'https://github.com/paritytech/substrate.git' [dev-dependencies] -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } [features] default = ['std'] @@ -142,6 +142,7 @@ runtime-benchmarks = [ 'frame-system/runtime-benchmarks', 'pallet-ethereum/runtime-benchmarks', 'pallet-bridge/runtime-benchmarks', + 'pallet-assets/runtime-benchmarks', 'pallet-balances/runtime-benchmarks', 'pallet-timestamp/runtime-benchmarks', 'pallet-loans/runtime-benchmarks', @@ -164,19 +165,6 @@ std = [ 'codec/std', 'serde', 'scale-info/std', - 'fp-rpc/std', - 'fp-self-contained/std', - 'pallet-base-fee/std', - 'pallet-ethereum/std', - 'pallet-evm/std', - 'pallet-evm-precompile-blake2/std', - 'pallet-evm-precompile-simple/std', - 'pallet-evm-precompile-bn128/std', - 'pallet-evm-precompile-dispatch/std', - 'pallet-evm-precompile-ed25519/std', - 'pallet-evm-precompile-modexp/std', - 'pallet-evm-precompile-sha3fips/std', - 'pallet-evm-signatures/std', 'sp-api/std', 'sp-std/std', 'sp-core/std', @@ -252,6 +240,19 @@ std = [ 'pallet-stableswap/std', 'pallet-asset-registry/std', 'pallet-traits/std', + 'fp-rpc/std', + 'fp-self-contained/std', + 'pallet-base-fee/std', + 'pallet-ethereum/std', + 'pallet-evm/std', + 'pallet-evm-precompile-blake2/std', + 'pallet-evm-precompile-simple/std', + 'pallet-evm-precompile-bn128/std', + 'pallet-evm-precompile-dispatch/std', + 'pallet-evm-precompile-ed25519/std', + 'pallet-evm-precompile-modexp/std', + 'pallet-evm-precompile-sha3fips/std', + 'pallet-evm-signatures/std', 'pallet-evm-precompile-assets-erc20/std', 'pallet-evm-precompile-balances-erc20/std', ] @@ -306,6 +307,7 @@ try-runtime = [ 'pallet-xcm-helper/try-runtime', 'pallet-stableswap/try-runtime', 'pallet-asset-registry/try-runtime', + 'fp-self-contained/try-runtime', 'pallet-ethereum/try-runtime', 'pallet-evm/try-runtime', 'pallet-base-fee/try-runtime', diff --git a/runtime/vanilla/src/lib.rs b/runtime/vanilla/src/lib.rs index ddb1a3452..2659221d4 100644 --- a/runtime/vanilla/src/lib.rs +++ b/runtime/vanilla/src/lib.rs @@ -24,11 +24,13 @@ use frame_support::{ traits::{ fungibles::{InspectMetadata, Mutate}, tokens::BalanceConversion, - ChangeMembers, ConstU32, Contains, EitherOfDiverse, EqualPrivilegeOnly, Everything, - FindAuthor, InstanceFilter, Nothing, + AsEnsureOriginWithArg, ChangeMembers, ConstU32, Contains, EitherOfDiverse, + EqualPrivilegeOnly, Everything, FindAuthor, InstanceFilter, Nothing, }, weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + constants::{ + BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND, + }, ConstantMultiplier, }, ConsensusEngineId, PalletId, WeakBoundedVec, @@ -212,9 +214,10 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 500 ms of compute with parachain block. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND - .saturating_div(2) - .set_proof_size(cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64); +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, +); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -311,7 +314,6 @@ impl Contains for BaseCallFilter { RuntimeCall::Assets(pallet_assets::Call::freeze_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::thaw_asset { .. }) | RuntimeCall::Assets(pallet_assets::Call::burn { .. }) | - RuntimeCall::Assets(pallet_assets::Call::destroy { .. }) | RuntimeCall::CurrencyAdapter(_) | // 3rd Party RuntimeCall::Oracle(_) | @@ -470,7 +472,9 @@ impl pallet_assets::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Balance = Balance; type AssetId = CurrencyId; + type AssetIdParameter = codec::Compact; type Currency = Balances; + type CreateOrigin = AsEnsureOriginWithArg>; type ForceOrigin = EnsureRootOrMoreThanHalfGeneralCouncil; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -481,6 +485,9 @@ impl pallet_assets::Config for Runtime { type Freezer = (); type WeightInfo = (); type Extra = (); + type RemoveItemsLimit = frame_support::traits::ConstU32<1000>; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } parameter_types! { @@ -792,7 +799,7 @@ pub const GAS_PER_SECOND: u64 = 40_000_000; /// Approximate ratio of the amount of Weight per Gas. /// u64 works for approximations because Weight is a very small unit compared to gas. -pub const WEIGHT_PER_GAS: u64 = WEIGHT_PER_SECOND.ref_time() / GAS_PER_SECOND; +pub const WEIGHT_PER_GAS: u64 = WEIGHT_REF_TIME_PER_SECOND / GAS_PER_SECOND; pub struct FindAuthorTruncated(sp_std::marker::PhantomData); impl> FindAuthor for FindAuthorTruncated { @@ -821,7 +828,7 @@ parameter_types! { NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS ); pub ParallelPrecompilesValue: ParallelPrecompilesType = ParallelPrecompiles::::new(); - pub WeightPerGas: u64 = WEIGHT_PER_GAS; + pub WeightPerGas: Weight = Weight::from_ref_time(WEIGHT_PER_GAS); } impl pallet_evm::Config for Runtime { @@ -2521,15 +2528,16 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, RuntimeBlockWeights::get().max_block) } fn execute_block( block: Block, state_root_check: bool, + signature_check: bool, select: frame_try_runtime::TryStateSelect ) -> Weight { log::info!( @@ -2539,7 +2547,7 @@ impl_runtime_apis! { state_root_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, signature_check, select).expect("try_execute_block failed") } } } diff --git a/rust-toolchain b/rust-toolchain index d49789493..45d3fb304 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1,5 +1,5 @@ [toolchain] -channel = "nightly-2022-07-24" +channel = "nightly-2022-11-15" components = [ "rustfmt", "clippy" ] targets = [ "wasm32-unknown-unknown" ] profile = "minimal" diff --git a/scripts/collator-dev.sh b/scripts/collator-dev.sh index 42e562f3a..e7b4e03ab 100755 --- a/scripts/collator-dev.sh +++ b/scripts/collator-dev.sh @@ -19,7 +19,7 @@ RELAY_CHAIN="${4:-kusama-local.json}" VOLUME="chains" NODE_NAME="$1" COLLATOR_NAME="${2:-alice}" -DOCKER_IMAGE="parallelfinance/parallel:v1.9.2" +DOCKER_IMAGE="parallelfinance/parallel:v1.9.5" BASE_PATH="/data" RELAY_BOOTNODES="/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWDEyCAUKviazJuXdWcAAVEf7nSm9BvPXyK6odp5PetCfV" diff --git a/scripts/collator.sh b/scripts/collator.sh index 350a79c05..948056487 100755 --- a/scripts/collator.sh +++ b/scripts/collator.sh @@ -20,7 +20,7 @@ VOLUME="chains" NODE_KEY="$1" KEYSTORE_PATH="$2" NODE_NAME="$3" -DOCKER_IMAGE="parallelfinance/parallel:v1.9.2" +DOCKER_IMAGE="parallelfinance/parallel:v1.9.5" BASE_PATH="/data" if [ $# -lt 3 ]; then diff --git a/scripts/fullnode.sh b/scripts/fullnode.sh index e624cd429..e24fa7f33 100755 --- a/scripts/fullnode.sh +++ b/scripts/fullnode.sh @@ -18,7 +18,7 @@ PARA_CHAIN="${2:-heiko}" RELAY_CHAIN="${3:-kusama}" VOLUME="chains" NODE_NAME="$1" -DOCKER_IMAGE="parallelfinance/parallel:v1.9.2" +DOCKER_IMAGE="parallelfinance/parallel:v1.9.5" BASE_PATH="/data" if [ $# -lt 1 ]; then diff --git a/support/Cargo.toml b/support/Cargo.toml index 10b6156de..29a24e822 100644 --- a/support/Cargo.toml +++ b/support/Cargo.toml @@ -9,20 +9,20 @@ targets = ['x86_64-unknown-linux-gnu'] [dependencies] codec = { package = 'parity-scale-codec', version = '3.1.5', features = ['max-encoded-len'], default-features = false } -frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +frame-support = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } log = { version = '0.4', default-features = false } num-bigint = { default-features = false, version = '0.4' } num-traits = { default-features = false, version = '0.2' } scale-info = { version = '2.1', default-features = false, features = ['derive'] } serde = { version = '1.0.136', features = ['derive'], optional = true } -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36', default-features = false } substrate-fixed = { git = 'https://github.com/encointer/substrate-fixed.git', default-features = false } [dev-dependencies] -sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.32' } +sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.36' } [features] default = ['std']