From cdf3e86b04d20ce48c92cd0d745bb403ddda70ed Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 9 Sep 2021 01:36:48 -0400 Subject: [PATCH 01/24] benchmarks for fungibles --- Cargo.lock | 345 ++++++++++-------- Cargo.toml | 1 + xcm/Cargo.toml | 1 + xcm/pallet-xcm-benchmarks/Cargo.toml | 44 +++ .../src/fungible/benchmarking.rs | 218 +++++++++++ .../src/fungible/mock.rs | 180 +++++++++ xcm/pallet-xcm-benchmarks/src/fungible/mod.rs | 47 +++ xcm/pallet-xcm-benchmarks/src/lib.rs | 182 +++++++++ xcm/pallet-xcm-benchmarks/src/mock.rs | 64 ++++ xcm/pallet-xcm-benchmarks/template.hbs | 66 ++++ xcm/xcm-executor/Cargo.toml | 4 + xcm/xcm-executor/src/assets.rs | 2 +- 12 files changed, 1000 insertions(+), 154 deletions(-) create mode 100644 xcm/pallet-xcm-benchmarks/Cargo.toml create mode 100644 xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs create mode 100644 xcm/pallet-xcm-benchmarks/src/fungible/mock.rs create mode 100644 xcm/pallet-xcm-benchmarks/src/fungible/mod.rs create mode 100644 xcm/pallet-xcm-benchmarks/src/lib.rs create mode 100644 xcm/pallet-xcm-benchmarks/src/mock.rs create mode 100644 xcm/pallet-xcm-benchmarks/template.hbs diff --git a/Cargo.lock b/Cargo.lock index 77157f651c8b..9d4ddf8bc621 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1920,7 +1920,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", ] @@ -1938,7 +1938,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -1957,7 +1957,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "Inflector", "chrono", @@ -1983,7 +1983,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -1996,7 +1996,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "14.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "serde", @@ -2022,7 +2022,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "bitflags", "frame-metadata", @@ -2048,7 +2048,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2060,7 +2060,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2072,7 +2072,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro2", "quote", @@ -2082,7 +2082,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-metadata", "frame-support", @@ -2103,7 +2103,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -2113,7 +2113,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "log", @@ -2129,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -2143,7 +2143,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sp-api", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "sp-api", @@ -4527,10 +4527,23 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" +[[package]] +name = "pallet-assets" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -4545,7 +4558,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -4559,7 +4572,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4582,7 +4595,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4637,7 +4650,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4715,7 +4728,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4731,7 +4744,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4746,7 +4759,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4769,7 +4782,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4786,7 +4799,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4800,7 +4813,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4822,7 +4835,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4837,7 +4850,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4856,7 +4869,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4872,7 +4885,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4888,7 +4901,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4905,7 +4918,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -4921,7 +4934,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4938,7 +4951,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4952,7 +4965,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -4965,7 +4978,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -4981,7 +4994,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5003,7 +5016,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5017,7 +5030,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -5030,7 +5043,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5045,7 +5058,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -5065,7 +5078,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5081,7 +5094,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -5094,7 +5107,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5116,7 +5129,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5127,7 +5140,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "sp-arithmetic", @@ -5136,7 +5149,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -5149,7 +5162,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5166,7 +5179,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5181,7 +5194,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-support", "frame-system", @@ -5197,7 +5210,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5214,7 +5227,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5225,7 +5238,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5241,7 +5254,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5256,7 +5269,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5288,6 +5301,30 @@ dependencies = [ "xcm-executor", ] +[[package]] +name = "pallet-xcm-benchmarks" +version = "0.9.8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-assets", + "pallet-balances", + "pallet-xcm", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "xcm", + "xcm-builder", + "xcm-executor", +] + [[package]] name = "parity-db" version = "0.3.1" @@ -7646,7 +7683,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "env_logger 0.9.0", "jsonrpsee-proc-macros", @@ -7915,7 +7952,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "sp-core", @@ -7926,7 +7963,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "derive_more", @@ -7953,7 +7990,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -7976,7 +8013,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7992,7 +8029,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8008,7 +8045,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8019,7 +8056,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "chrono", "fdlimit", @@ -8057,7 +8094,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "fnv", "futures 0.3.17", @@ -8085,7 +8122,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "hash-db", "kvdb", @@ -8110,7 +8147,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "futures 0.3.17", @@ -8134,7 +8171,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "derive_more", @@ -8177,7 +8214,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "derive_more", "futures 0.3.17", @@ -8201,7 +8238,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8214,7 +8251,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "assert_matches", "async-trait", @@ -8248,7 +8285,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "futures 0.3.17", @@ -8274,7 +8311,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "sc-client-api", "sp-authorship", @@ -8285,7 +8322,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "lazy_static", "libsecp256k1 0.6.0", @@ -8311,9 +8348,10 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "derive_more", + "environmental", "parity-scale-codec", "pwasm-utils", "sc-allocator", @@ -8328,7 +8366,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "parity-scale-codec", @@ -8344,7 +8382,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8363,7 +8401,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "derive_more", @@ -8400,7 +8438,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "derive_more", "finality-grandpa", @@ -8424,7 +8462,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "ansi_term 0.12.1", "futures 0.3.17", @@ -8441,7 +8479,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "derive_more", @@ -8456,7 +8494,7 @@ dependencies = [ [[package]] name = "sc-light" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "hash-db", "parity-scale-codec", @@ -8474,7 +8512,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-std", "async-trait", @@ -8525,7 +8563,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -8541,7 +8579,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "bytes 1.0.1", "fnv", @@ -8568,7 +8606,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "libp2p", @@ -8581,7 +8619,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8590,7 +8628,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "hash-db", @@ -8621,7 +8659,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8646,7 +8684,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8662,7 +8700,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "directories", @@ -8726,7 +8764,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "parity-scale-codec", @@ -8740,7 +8778,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8762,7 +8800,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "chrono", "futures 0.3.17", @@ -8780,7 +8818,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8809,7 +8847,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8820,7 +8858,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "intervalier", @@ -8847,7 +8885,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "derive_more", "futures 0.3.17", @@ -8861,7 +8899,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -9292,7 +9330,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "hash-db", "log", @@ -9309,7 +9347,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9321,7 +9359,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "serde", @@ -9333,7 +9371,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "integer-sqrt", "num-traits", @@ -9347,7 +9385,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sp-api", @@ -9359,7 +9397,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "parity-scale-codec", @@ -9371,7 +9409,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sp-api", @@ -9383,7 +9421,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "log", @@ -9401,7 +9439,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "futures 0.3.17", @@ -9420,7 +9458,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "merlin", @@ -9442,7 +9480,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9452,7 +9490,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9464,7 +9502,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "base58", "blake2-rfc", @@ -9508,7 +9546,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9517,7 +9555,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro2", "quote", @@ -9527,7 +9565,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "environmental", "parity-scale-codec", @@ -9538,7 +9576,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "finality-grandpa", "log", @@ -9555,7 +9593,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9569,7 +9607,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "hash-db", @@ -9594,7 +9632,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "lazy_static", "sp-core", @@ -9605,7 +9643,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "derive_more", @@ -9622,7 +9660,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "ruzstd", "zstd", @@ -9631,7 +9669,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "serde", @@ -9644,7 +9682,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9655,7 +9693,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "sp-api", "sp-core", @@ -9665,7 +9703,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "backtrace", ] @@ -9673,7 +9711,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "rustc-hash", "serde", @@ -9683,7 +9721,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "either", "hash256-std-hasher", @@ -9704,7 +9742,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9721,7 +9759,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9733,7 +9771,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "serde", "serde_json", @@ -9742,7 +9780,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sp-api", @@ -9755,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9765,7 +9803,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "hash-db", "log", @@ -9788,12 +9826,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" [[package]] name = "sp-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9806,7 +9844,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "sp-core", @@ -9819,7 +9857,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9835,7 +9873,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "erased-serde", "log", @@ -9853,7 +9891,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "sp-api", "sp-runtime", @@ -9862,7 +9900,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "log", @@ -9877,7 +9915,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "hash-db", "memory-db", @@ -9891,7 +9929,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9906,7 +9944,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -9917,7 +9955,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10111,7 +10149,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "platforms", ] @@ -10119,7 +10157,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.17", @@ -10141,7 +10179,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-std", "derive_more", @@ -10155,7 +10193,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "async-trait", "futures 0.3.17", @@ -10182,7 +10220,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "futures 0.3.17", "substrate-test-utils-derive", @@ -10192,7 +10230,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -10203,7 +10241,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "ansi_term 0.12.1", "build-helper", @@ -10356,7 +10394,7 @@ dependencies = [ [[package]] name = "test-runner" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "frame-system", "futures 0.3.17", @@ -10763,7 +10801,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#6e15de9703bfe09b85efa33fd6e3a94d2446dd01" +source = "git+https://github.com/paritytech/substrate?branch=master#821496d19b39acdec83f1e36fc3b0d7121f991e8" dependencies = [ "log", "parity-scale-codec", @@ -11597,6 +11635,7 @@ dependencies = [ name = "xcm-executor" version = "0.9.9" dependencies = [ + "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "log", diff --git a/Cargo.toml b/Cargo.toml index 2b5cc259d429..0b83dc40fa9d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,6 +43,7 @@ members = [ "xcm/xcm-simulator", "xcm/xcm-simulator/example", "xcm/pallet-xcm", + "xcm/pallet-xcm-benchmarks", "xcm/procedural", "node/client", "node/collation-generation", diff --git a/xcm/Cargo.toml b/xcm/Cargo.toml index 12b96a502165..00566c123526 100644 --- a/xcm/Cargo.toml +++ b/xcm/Cargo.toml @@ -15,6 +15,7 @@ xcm-procedural = { path = "procedural" } [features] default = ["std"] wasm-api = [] +runtime-benchmarks = [] std = [ "parity-scale-codec/std", ] diff --git a/xcm/pallet-xcm-benchmarks/Cargo.toml b/xcm/pallet-xcm-benchmarks/Cargo.toml new file mode 100644 index 000000000000..2b1074097c33 --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/Cargo.toml @@ -0,0 +1,44 @@ +[package] +name = "pallet-xcm-benchmarks" +authors = ["Parity Technologies "] +edition = "2018" +version = "0.9.8" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } +frame-support = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } +frame-system = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } +sp-runtime = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } +sp-std = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } +xcm-executor = { path = "../xcm-executor", default-features = false, features = ["runtime-benchmarks"] } +frame-benchmarking = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } +xcm = { path = "..", default-features = false, features = ["runtime-benchmarks"] } +log = "0.4.0" + +[dev-dependencies] +pallet-balances = { version = "4.0.0-dev", branch = "master", git = "https://github.com/paritytech/substrate" } +pallet-assets = { version = "4.0.0-dev", branch = "master", git = "https://github.com/paritytech/substrate" } +sp-core = { version = "4.0.0-dev", branch = "master", git = "https://github.com/paritytech/substrate" } +sp-io = { version = "4.0.0-dev", branch = "master", git = "https://github.com/paritytech/substrate" } +sp-tracing = { version = "4.0.0-dev", branch = "master", git = "https://github.com/paritytech/substrate" } +xcm-builder = { path = "../xcm-builder" } +xcm = { path = ".." } +# temp +pallet-xcm = { path = "../pallet-xcm" } +polkadot-runtime-common = { path = "../../runtime/common" } +# westend-runtime = { path = "../../runtime/westend", features = ["runtime-benchmarks"] } +polkadot-primitives = { path = "../../primitives" } + +[features] +default = ["std"] +std = [ + "codec/std", + "frame-benchmarking/std", + "frame-support/std", + "frame-system/std", + "sp-runtime/std", + "sp-std/std" +] diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs new file mode 100644 index 000000000000..1caf81c71486 --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -0,0 +1,218 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use super::*; +use crate::{ + account_and_location, execute_xcm, new_executor, worst_case_holding, AssetTransactorOf, + XcmCallOf, +}; +use frame_benchmarking::{ + benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError, BenchmarkResult, +}; +use frame_support::{pallet_prelude::Get, traits::fungible::Inspect, weights::Weight}; +use sp_runtime::traits::Zero; +use sp_std::{convert::TryInto, prelude::*, vec}; +use xcm::latest::prelude::*; +use xcm_executor::traits::{Convert, TransactAsset}; + +benchmarks_instance_pallet! { + where_clause { where + < + < + T::TransactAsset + as + Inspect + >::Balance + as + TryInto + >::Error: sp_std::fmt::Debug, + } + + withdraw_asset { + let (sender_account, sender_location) = account_and_location::(1); + let worst_case_holding = worst_case_holding(); + let asset = T::get_multi_asset(); + + >::deposit_asset(&asset, &sender_location).unwrap(); + // check the assets of origin. + assert!(!T::TransactAsset::balance(&sender_account).is_zero()); + + let mut executor = new_executor::(sender_location); + executor.holding = worst_case_holding; + + let instruction = Instruction::>::WithdrawAsset(vec![asset.clone()].into()); + let xcm = Xcm(vec![instruction]); + }: { + executor.execute(xcm)?; + } verify { + // check one of the assets of origin. + assert!(T::TransactAsset::balance(&sender_account).is_zero()); + assert!(executor.holding.ensure_contains(&vec![asset].into()).is_ok()); + } + + transfer_asset { + let (sender_account, sender_location) = account_and_location::(1); + let asset = T::get_multi_asset(); + let assets: MultiAssets = vec![ asset.clone() ].into(); + // this xcm doesn't use holding + + let dest_location = T::valid_destination()?; + let dest_account = T::AccountIdConverter::convert(dest_location.clone()).unwrap(); + + >::deposit_asset(&asset, &sender_location).unwrap(); + assert!(T::TransactAsset::balance(&dest_account).is_zero()); + + let instruction = Instruction::TransferAsset { assets, beneficiary: dest_location }; + let xcm = Xcm(vec![instruction]); + }: { + execute_xcm::(sender_location, Default::default(), xcm)?; + } verify { + assert!(T::TransactAsset::balance(&sender_account).is_zero()); + assert!(!T::TransactAsset::balance(&dest_account).is_zero()); + } + + transfer_reserve_asset { + let (sender_account, sender_location) = account_and_location::(1); + let dest_location = T::valid_destination()?; + let dest_account = T::AccountIdConverter::convert(dest_location.clone()).unwrap(); + + let asset = T::get_multi_asset(); + >::deposit_asset(&asset, &sender_location).unwrap(); + let assets: MultiAssets = vec![ asset ].into(); + assert!(T::TransactAsset::balance(&dest_account).is_zero()); + + let mut executor = new_executor::(sender_location); + let instruction = Instruction::TransferReserveAsset { + assets, + dest: dest_location, + xcm: Xcm::new() + }; + let xcm = Xcm(vec![instruction]); + }: { + executor.execute(xcm)?; + } verify { + assert!(T::TransactAsset::balance(&sender_account).is_zero()); + assert!(!T::TransactAsset::balance(&dest_account).is_zero()); + // TODO: Check sender queue is not empty. + } + + receive_teleported_asset { + // If there is no trusted teleporter, then we make this benchmark `Weight::MAX`. + // TODO handle when there is no valid teleport + let (trusted_teleporter, teleportable_asset) = T::TrustedTeleporter::get().unwrap(); + + let assets: MultiAssets = vec![ teleportable_asset ].into(); + + let mut executor = new_executor::(trusted_teleporter); + let instruction = Instruction::ReceiveTeleportedAsset(assets.clone()); + let xcm = Xcm(vec![instruction]); + }: { + executor.execute(xcm) + .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; + } verify { + assert!(executor.holding.ensure_contains(&assets).is_ok()); + } + + deposit_asset { + let asset = T::get_multi_asset(); + let mut holding = worst_case_holding(); + + // Add our asset to the holding. + holding.subsume(asset.clone()); + + // our dest must have no balance initially. + let dest_location = T::valid_destination()?; + let dest_account = T::AccountIdConverter::convert(dest_location.clone()).unwrap(); + assert!(T::TransactAsset::balance(&dest_account).is_zero()); + + let mut executor = new_executor::(Default::default()); + executor.holding = holding; + let instruction = Instruction::>::DepositAsset { + assets: asset.into(), + max_assets: 1, + beneficiary: dest_location, + }; + let xcm = Xcm(vec![instruction]); + }: { + executor.execute(xcm)?; + } verify { + // dest should have received some asset. + assert!(!T::TransactAsset::balance(&dest_account).is_zero()) + } + + deposit_reserve_asset { + let asset = T::get_multi_asset(); + let mut holding = worst_case_holding(); + + // Add our asset to the holding. + holding.subsume(asset.clone()); + + // our dest must have no balance initially. + let dest_location = T::valid_destination()?; + let dest_account = T::AccountIdConverter::convert(dest_location.clone()).unwrap(); + assert!(T::TransactAsset::balance(&dest_account).is_zero()); + + let mut executor = new_executor::(Default::default()); + executor.holding = holding; + let instruction = Instruction::>::DepositReserveAsset { + assets: asset.into(), + max_assets: 1, + dest: dest_location, + xcm: Xcm::new(), + }; + let xcm = Xcm(vec![instruction]); + }: { + executor.execute(xcm)?; + } verify { + // dest should have received some asset. + assert!(!T::TransactAsset::balance(&dest_account).is_zero()) + } + + initiate_teleport { + let asset = T::get_multi_asset(); + let mut holding = worst_case_holding(); + + // Add our asset to the holding. + holding.subsume(asset.clone()); + + if let Some(checked_account) = T::CheckedAccount::get() { + // Checked account starts at zero + assert!(T::TransactAsset::balance(&checked_account).is_zero()); + } + + let mut executor = new_executor::(Default::default()); + executor.holding = holding; + let instruction = Instruction::>::InitiateTeleport { + assets: asset.into(), + dest: T::valid_destination()?, + xcm: Xcm::new(), + }; + let xcm = Xcm(vec![instruction]); + }: { + executor.execute(xcm)?; + } verify { + if let Some(checked_account) = T::CheckedAccount::get() { + // teleport checked account should have received some asset. + assert!(!T::TransactAsset::balance(&checked_account).is_zero()); + } + } +} + +impl_benchmark_test_suite!( + Pallet, + crate::fungible::mock::new_test_ext(), + crate::fungible::mock::Test +); diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs b/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs new file mode 100644 index 000000000000..a1284f540417 --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs @@ -0,0 +1,180 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! A mock runtime for xcm benchmarking. + +use crate::{fungible as xcm_balances_benchmark, mock::*}; +use frame_support::{parameter_types, traits::Everything}; +use sp_core::H256; +use sp_runtime::{ + testing::Header, + traits::{BlakeTwo256, IdentityLookup}, + BuildStorage, +}; +use xcm::latest::prelude::*; +use xcm_builder::AllowUnpaidExecutionFrom; + +type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; +type Block = frame_system::mocking::MockBlock; + +// For testing the pallet, we construct a mock runtime. +frame_support::construct_runtime!( + pub enum Test where + Block = Block, + NodeBlock = Block, + UncheckedExtrinsic = UncheckedExtrinsic, + { + System: frame_system::{Pallet, Call, Config, Storage, Event}, + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, + XcmBalancesBenchmark: xcm_balances_benchmark::{Pallet}, + } +); + +parameter_types! { + pub const BlockHashCount: u64 = 250; + pub BlockWeights: frame_system::limits::BlockWeights = + frame_system::limits::BlockWeights::simple_max(1024); +} +impl frame_system::Config for Test { + type BaseCallFilter = Everything; + type BlockWeights = (); + type BlockLength = (); + type DbWeight = (); + type Origin = Origin; + type Index = u64; + type BlockNumber = u64; + type Hash = H256; + type Call = Call; + type Hashing = BlakeTwo256; + type AccountId = u64; + type Lookup = IdentityLookup; + type Header = Header; + type Event = Event; + type BlockHashCount = BlockHashCount; + type Version = (); + type PalletInfo = PalletInfo; + type AccountData = pallet_balances::AccountData; + type OnNewAccount = (); + type OnKilledAccount = (); + type SystemWeightInfo = (); + type SS58Prefix = (); + type OnSetCode = (); +} + +parameter_types! { + pub const ExistentialDeposit: u64 = 7; +} + +impl pallet_balances::Config for Test { + type MaxLocks = (); + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type Balance = u64; + type DustRemoval = (); + type Event = Event; + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type WeightInfo = (); +} + +parameter_types! { + pub const AssetDeposit: u64 = 100 * ExistentialDeposit::get(); + pub const ApprovalDeposit: u64 = 1 * ExistentialDeposit::get(); + pub const StringLimit: u32 = 50; + pub const MetadataDepositBase: u64 = 10 * ExistentialDeposit::get(); + pub const MetadataDepositPerByte: u64 = 1 * ExistentialDeposit::get(); +} + +pub struct MatchAnyFungible; +impl xcm_executor::traits::MatchesFungible for MatchAnyFungible { + fn matches_fungible(m: &MultiAsset) -> Option { + use sp_runtime::traits::SaturatedConversion; + match m { + MultiAsset { fun: Fungible(amount), .. } => Some((*amount).saturated_into::()), + _ => None, + } + } +} + +// Use balances as the asset transactor. +pub type AssetTransactor = xcm_builder::CurrencyAdapter< + Balances, + MatchAnyFungible, + AccountIdConverter, + u64, + CheckedAccount, +>; + +parameter_types! { + /// Maximum number of instructions in a single XCM fragment. A sanity check against weight + /// calculations getting too crazy. + pub const MaxInstructions: u32 = 100; +} + +pub struct XcmConfig; +impl xcm_executor::Config for XcmConfig { + type Call = Call; + type XcmSender = DevNull; + type AssetTransactor = AssetTransactor; + type OriginConverter = (); + type IsReserve = (); + type IsTeleporter = (); + type LocationInverter = xcm_builder::LocationInverter; + type Barrier = AllowUnpaidExecutionFrom; + type Weigher = xcm_builder::FixedWeightBounds; + type Trader = xcm_builder::FixedRateOfFungible; + type ResponseHandler = DevNull; + type AssetTrap = (); + type AssetClaims = (); + type SubscriptionService = (); +} + +impl crate::Config for Test { + type XcmConfig = XcmConfig; + type AccountIdConverter = AccountIdConverter; + fn valid_destination() -> Result { + let valid_destination: MultiLocation = + X1(AccountId32 { network: NetworkId::Any, id: [0u8; 32] }).into(); + + Ok(valid_destination) + } +} + +parameter_types! { + pub const CheckedAccount: Option = Some(100); + pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some(( + X1(OnlyChild).into(), + MultiAsset { id: Concrete(Here.into()), fun: Fungible(100) }, + )); +} + +impl xcm_balances_benchmark::Config for Test { + type TransactAsset = Balances; + type CheckedAccount = CheckedAccount; + type TrustedTeleporter = TrustedTeleporter; + + fn get_multi_asset() -> MultiAsset { + let amount = + >::minimum_balance() as u128; + MultiAsset { id: Concrete(Here.into()), fun: Fungible(amount) } + } +} + +pub fn new_test_ext() -> sp_io::TestExternalities { + let t = GenesisConfig { ..Default::default() }.build_storage().unwrap(); + sp_tracing::try_init_simple(); + t.into() +} diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs b/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs new file mode 100644 index 000000000000..e3e3c146b1df --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs @@ -0,0 +1,47 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +// + +pub use pallet::*; + +pub mod benchmarking; +#[cfg(test)] +mod mock; + +#[frame_support::pallet] +pub mod pallet { + use frame_support::pallet_prelude::Get; + #[pallet::config] + pub trait Config: frame_system::Config + crate::Config { + /// The type of `fungible` that is being used under the hood. + /// + /// This is useful for testing and checking. + type TransactAsset: frame_support::traits::fungible::Mutate; + + /// The account used to check assets being teleported. + type CheckedAccount: Get>; + + /// A trusted location which we allow teleports from, and the asset we allow to teleport. + type TrustedTeleporter: Get>; + + /// Give me a fungible asset that your asset transactor is going to accept. + fn get_multi_asset() -> xcm::latest::MultiAsset; + } + + #[pallet::pallet] + pub struct Pallet(_); +} diff --git a/xcm/pallet-xcm-benchmarks/src/lib.rs b/xcm/pallet-xcm-benchmarks/src/lib.rs new file mode 100644 index 000000000000..1a4e2dbdf8f2 --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/src/lib.rs @@ -0,0 +1,182 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Pallet that serves no other purpose than benchmarking raw messages [`Xcm`]. + +#![cfg_attr(not(feature = "std"), no_std)] + +use codec::Encode; +use frame_benchmarking::{BenchmarkError, BenchmarkResult}; +use frame_support::{ + traits::{ + fungible::Inspect as FungibleInspect, + fungibles::Inspect as FungiblesInspect, + tokens::{DepositConsequence, WithdrawConsequence}, + }, + weights::Weight, +}; +use sp_std::prelude::*; +use xcm::latest::prelude::*; +use xcm_executor::{traits::Convert, Assets}; + +pub mod fungible; + +#[cfg(test)] +mod mock; + +/// A base trait for all individual pallets +pub trait Config: frame_system::Config { + /// The XCM configurations. + /// + /// These might affect the execution of XCM messages, such as defining how the + /// `TransactAsset` is implemented. + type XcmConfig: xcm_executor::Config; + + // temp? + type AccountIdConverter: Convert; + + /// Does any necessary setup to create a valid destination for XCM messages. + /// Returns that destination's multi-location to be used in benchmarks. + fn valid_destination() -> Result; +} + +const SEED: u32 = 0; + +/// The xcm executor to use for doing stuff. +pub type ExecutorOf = xcm_executor::XcmExecutor<::XcmConfig>; +/// The overarching call type. +pub type OverArchingCallOf = ::Call; +/// The asset transactor of our executor +pub type AssetTransactorOf = <::XcmConfig as xcm_executor::Config>::AssetTransactor; +/// The call type of executor's config. Should eventually resolve to the same overarching call type. +pub type XcmCallOf = <::XcmConfig as xcm_executor::Config>::Call; + +/// The worst case number of assets in the holding. +const HOLDING_FUNGIBLES: u32 = 99; +const HOLDING_NON_FUNGIBLES: u32 = 99; + +pub fn worst_case_holding() -> Assets { + let fungibles_amount: u128 = 100; // TODO probably update + (0..HOLDING_FUNGIBLES) + .map(|i| { + MultiAsset { + id: Concrete(GeneralIndex(i as u128).into()), + fun: Fungible(fungibles_amount * i as u128), + } + .into() + }) + .chain(core::iter::once(MultiAsset { id: Concrete(Here.into()), fun: Fungible(u128::MAX) })) + .chain((0..HOLDING_NON_FUNGIBLES).map(|i| MultiAsset { + id: Concrete(GeneralIndex(i as u128).into()), + fun: NonFungible(asset_instance_from(i)), + })) + .collect::>() + .into() +} + +pub fn asset_instance_from(x: u32) -> AssetInstance { + let bytes = x.encode(); + let mut instance = [0u8; 4]; + instance.copy_from_slice(&bytes); + AssetInstance::Array4(instance) +} + +/// Execute an xcm. +/// TODO: This skips all the barriers and traders, etc... maybe need to add back. +pub fn execute_xcm( + origin: MultiLocation, + holding: Assets, + xcm: Xcm>, +) -> Result<(), BenchmarkError> { + // TODO: very large weight to ensure all benchmarks execute, sensible? + let mut executor = ExecutorOf::::new(origin); + executor.holding = holding; + executor.execute(xcm)?; + Ok(()) +} + +pub fn execute_xcm_override_error( + origin: MultiLocation, + holding: Assets, + xcm: Xcm>, +) -> Result<(), BenchmarkError> { + execute_xcm::(origin, holding, xcm) + .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))) +} + +pub fn new_executor(origin: MultiLocation) -> ExecutorOf { + ExecutorOf::::new(origin) +} + +// TODO probably delete and use converter +pub fn account(index: u32) -> T::AccountId { + frame_benchmarking::account::("account", index, SEED) +} + +/// Build a multi-location from an account id. +fn account_id_junction(index: u32) -> Junction { + let account = account::(index); + let mut encoded = account.encode(); + encoded.resize(32, 0u8); + let mut id = [0u8; 32]; + id.copy_from_slice(&encoded); + Junction::AccountId32 { network: NetworkId::Any, id } +} + +pub fn account_and_location(index: u32) -> (T::AccountId, MultiLocation) { + let location: MultiLocation = account_id_junction::(index).into(); + let account = T::AccountIdConverter::convert(location.clone()).unwrap(); + + (account, location) +} + +/// Helper struct that converts a `Fungible` to `Fungibles` +/// +/// TODO: might not be needed anymore. +pub struct AsFungibles(sp_std::marker::PhantomData<(AccountId, AssetId, B)>); +impl< + AccountId: sp_runtime::traits::Member + frame_support::dispatch::Parameter, + AssetId: sp_runtime::traits::Member + frame_support::dispatch::Parameter + Copy, + B: FungibleInspect, + > FungiblesInspect for AsFungibles +{ + type AssetId = AssetId; + type Balance = B::Balance; + + fn total_issuance(_: Self::AssetId) -> Self::Balance { + B::total_issuance() + } + fn minimum_balance(_: Self::AssetId) -> Self::Balance { + B::minimum_balance() + } + fn balance(_: Self::AssetId, who: &AccountId) -> Self::Balance { + B::balance(who) + } + fn reducible_balance(_: Self::AssetId, who: &AccountId, keep_alive: bool) -> Self::Balance { + B::reducible_balance(who, keep_alive) + } + fn can_deposit(_: Self::AssetId, who: &AccountId, amount: Self::Balance) -> DepositConsequence { + B::can_deposit(who, amount) + } + + fn can_withdraw( + _: Self::AssetId, + who: &AccountId, + amount: Self::Balance, + ) -> WithdrawConsequence { + B::can_withdraw(who, amount) + } +} diff --git a/xcm/pallet-xcm-benchmarks/src/mock.rs b/xcm/pallet-xcm-benchmarks/src/mock.rs new file mode 100644 index 000000000000..2b1cb31f1580 --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/src/mock.rs @@ -0,0 +1,64 @@ +// Copyright 2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +use crate::*; +use frame_support::{parameter_types, weights::Weight}; +use xcm_executor::traits::FilterAssetLocation; + +// An xcm sender/receiver akin to > /dev/null +pub struct DevNull; +impl xcm::opaque::latest::SendXcm for DevNull { + fn send_xcm(_: MultiLocation, _: Xcm<()>) -> SendResult { + Ok(()) + } +} + +impl xcm_executor::traits::OnResponse for DevNull { + fn expecting_response(_: &MultiLocation, _: u64) -> bool { + false + } + fn on_response(_: &MultiLocation, _: u64, _: Response, _: Weight) -> Weight { + 0 + } +} + +pub struct AccountIdConverter; +impl xcm_executor::traits::Convert for AccountIdConverter { + fn convert(ml: MultiLocation) -> Result { + match ml { + MultiLocation { parents: 0, interior: X1(Junction::AccountId32 { id, .. }) } => + Ok(::decode(&mut &*id.to_vec()).unwrap()), + _ => Err(ml), + } + } + + fn reverse(acc: u64) -> Result { + Err(acc) + } +} + +parameter_types! { + pub Ancestry: MultiLocation = Junction::Parachain(101).into(); + pub UnitWeightCost: Weight = 10; + pub WeightPrice: (AssetId, u128) = (Concrete(Here.into()), 1_000_000); +} + +pub struct AllAssetLocationsPass; +impl FilterAssetLocation for AllAssetLocationsPass { + fn filter_asset_location(_: &MultiAsset, _: &MultiLocation) -> bool { + true + } +} diff --git a/xcm/pallet-xcm-benchmarks/template.hbs b/xcm/pallet-xcm-benchmarks/template.hbs new file mode 100644 index 000000000000..e5cc6a71d3e7 --- /dev/null +++ b/xcm/pallet-xcm-benchmarks/template.hbs @@ -0,0 +1,66 @@ +// Copyright 2017-2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Autogenerated weights for {{pallet}} +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} +//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` +//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}} + +// Executed Command: +{{#each args as |arg|~}} +// {{arg}} +{{/each}} + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weights for {{pallet}} using the Substrate node and recommended hardware. +pub struct WeightInfo(PhantomData); +impl WeightInfo { + {{~#each benchmarks as |benchmark|}} + {{~#each benchmark.comments as |comment|}} + // {{comment}} + {{~/each}} + pub(crate) fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} + ) -> Weight { + ({{underscore benchmark.base_weight}} as Weight) + {{~#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) + {{~/each}} + {{~#if (ne benchmark.base_reads "0")}} + .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight)) + {{~/if}} + {{~#each benchmark.component_reads as |cr|}} + .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) + {{~/each}} + {{~#if (ne benchmark.base_writes "0")}} + .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight)) + {{~/if}} + {{~#each benchmark.component_writes as |cw|}} + .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) + {{~/each}} + } + {{~/each}} +} diff --git a/xcm/xcm-executor/Cargo.toml b/xcm/xcm-executor/Cargo.toml index d0b6d71d8fe7..95a9d1ef9a79 100644 --- a/xcm/xcm-executor/Cargo.toml +++ b/xcm/xcm-executor/Cargo.toml @@ -16,9 +16,13 @@ sp-core = { git = "https://github.com/paritytech/substrate", branch = "master", sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } frame-support = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } log = { version = "0.4.14", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master" , default-features = false, optional = true } [features] default = ["std"] +runtime-benchmarks = [ + "frame-benchmarking", +] std = [ "parity-scale-codec/std", "xcm/std", diff --git a/xcm/xcm-executor/src/assets.rs b/xcm/xcm-executor/src/assets.rs index c7049a3a6412..93a29d7af880 100644 --- a/xcm/xcm-executor/src/assets.rs +++ b/xcm/xcm-executor/src/assets.rs @@ -211,7 +211,7 @@ impl Assets { /// Returns an error unless all `assets` are contained in `self`. In the case of an error, the first asset in /// `assets` which is not wholly in `self` is returned. - fn ensure_contains(&self, assets: &MultiAssets) -> Result<(), TakeError> { + pub fn ensure_contains(&self, assets: &MultiAssets) -> Result<(), TakeError> { for asset in assets.inner().iter() { match asset { MultiAsset { fun: Fungible(ref amount), ref id } => { From 7e4fd07520eda03f4b0e2b76f2759cf48f359604 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 9 Sep 2021 02:15:06 -0400 Subject: [PATCH 02/24] add benchmark to westend --- Cargo.lock | 1 + runtime/westend/Cargo.toml | 2 ++ runtime/westend/src/lib.rs | 54 +++++++++++++++++++++++++++++++++++++- 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 9d4ddf8bc621..45b39126fd93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11469,6 +11469,7 @@ dependencies = [ "pallet-utility", "pallet-vesting", "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", diff --git a/runtime/westend/Cargo.toml b/runtime/westend/Cargo.toml index d2042126f93f..00942e29be3d 100644 --- a/runtime/westend/Cargo.toml +++ b/runtime/westend/Cargo.toml @@ -68,6 +68,7 @@ pallet-treasury = { git = "https://github.com/paritytech/substrate", branch = "m pallet-utility = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } pallet-vesting = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } pallet-xcm = { path = "../../xcm/pallet-xcm", default-features = false } +pallet-xcm-benchmarks = { path = "../../xcm/pallet-xcm-benchmarks", default-features = false, optional = true } frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, optional = true } frame-try-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, optional = true } @@ -198,6 +199,7 @@ runtime-benchmarks = [ "frame-system-benchmarking", "hex-literal", "xcm-builder/runtime-benchmarks", + "pallet-xcm-benchmarks", "frame-election-provider-support/runtime-benchmarks", ] try-runtime = [ diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index bc494ae9440f..99f39f9e8b3a 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -916,8 +916,9 @@ pub type XcmRouter = ( ); parameter_types! { + pub const Westmint: MultiLocation = Parachain(1000).into(); pub const WestendForWestmint: (MultiAssetFilter, MultiLocation) = - (Wild(AllOf { fun: WildFungible, id: Concrete(WndLocation::get()) }), Parachain(1000).into()); + (Wild(AllOf { fun: WildFungible, id: Concrete(WndLocation::get()) }), Westmint::get()); pub const MaxInstructions: u32 = 100; } pub type TrustedTeleporters = (xcm_builder::Case,); @@ -1396,6 +1397,8 @@ sp_api::impl_runtime_apis! { use pallet_offences_benchmarking::Pallet as OffencesBench; use frame_system_benchmarking::Pallet as SystemBench; + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + let mut list = Vec::::new(); // Polkadot @@ -1405,6 +1408,7 @@ sp_api::impl_runtime_apis! { list_benchmark!(list, extra, runtime_common::crowdloan, Crowdloan); list_benchmark!(list, extra, runtime_common::paras_registrar, Registrar); list_benchmark!(list, extra, runtime_common::slots, Slots); + // Substrate list_benchmark!(list, extra, pallet_balances, Balances); list_benchmark!(list, extra, pallet_election_provider_multi_phase, ElectionProviderMultiPhase); @@ -1422,6 +1426,10 @@ sp_api::impl_runtime_apis! { list_benchmark!(list, extra, pallet_utility, Utility); list_benchmark!(list, extra, pallet_vesting, Vesting); + // XCM Benchmarks + // NOTE: Make sure you point to the individual modules below. + list_benchmark!(list, extra, pallet_xcm_benchmarks::fungible, XcmBalances); + let storage_info = AllPalletsWithSystem::storage_info(); return (list, storage_info) @@ -1444,6 +1452,39 @@ sp_api::impl_runtime_apis! { impl pallet_offences_benchmarking::Config for Runtime {} impl frame_system_benchmarking::Config for Runtime {} + use xcm::latest::MultiAsset; + + impl pallet_xcm_benchmarks::Config for Runtime { + type XcmConfig = XcmConfig; + type AccountIdConverter = LocationConverter; + fn valid_destination() -> Result { + Ok(Westmint::get()) + } + } + + parameter_types! { + pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some(( + Westmint::get(), + MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(WndLocation::get()) }, + )); + } + + impl pallet_xcm_benchmarks::fungible::Config for Runtime { + type TransactAsset = Balances; + + type CheckedAccount = CheckAccount; + type TrustedTeleporter = TrustedTeleporter; + + fn get_multi_asset() -> MultiAsset { + MultiAsset { + id: Concrete(WndLocation::get()), + fun: Fungible(1 * UNITS), + } + } + } + + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), @@ -1457,6 +1498,12 @@ sp_api::impl_runtime_apis! { hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), // Treasury Account hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000").to_vec().into(), + // Dmp DownwardMessageQueueHeads + hex_literal::hex!("0x63f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce5").to_vec().into(), + // Dmp DownwardMessageQueues + hex_literal::hex!("0x63f78c98723ddc9073523ef3beefda0ca95dac46c07a40d91506e7637ec4ba57").to_vec().into(), + // Configuration ActiveConfig + hex_literal::hex!("0x06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(), ]; let mut batches = Vec::::new(); @@ -1469,6 +1516,7 @@ sp_api::impl_runtime_apis! { add_benchmark!(params, batches, runtime_common::crowdloan, Crowdloan); add_benchmark!(params, batches, runtime_common::paras_registrar, Registrar); add_benchmark!(params, batches, runtime_common::slots, Slots); + // Substrate add_benchmark!(params, batches, pallet_balances, Balances); add_benchmark!(params, batches, pallet_election_provider_multi_phase, ElectionProviderMultiPhase); @@ -1486,6 +1534,10 @@ sp_api::impl_runtime_apis! { add_benchmark!(params, batches, pallet_utility, Utility); add_benchmark!(params, batches, pallet_vesting, Vesting); + // XCM Benchmarks + // NOTE: Make sure you point to the individual modules below. + add_benchmark!(params, batches, pallet_xcm_benchmarks::fungible, XcmBalances); + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) } From 419702fbfb0ccb357d775205ddf51eab75b9006e Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 9 Sep 2021 02:16:25 -0400 Subject: [PATCH 03/24] fix hex --- runtime/westend/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 99f39f9e8b3a..72bf6ca10641 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -1499,11 +1499,11 @@ sp_api::impl_runtime_apis! { // Treasury Account hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000").to_vec().into(), // Dmp DownwardMessageQueueHeads - hex_literal::hex!("0x63f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce5").to_vec().into(), + hex_literal::hex!("63f78c98723ddc9073523ef3beefda0c4d7fefc408aac59dbfe80a72ac8e3ce5").to_vec().into(), // Dmp DownwardMessageQueues - hex_literal::hex!("0x63f78c98723ddc9073523ef3beefda0ca95dac46c07a40d91506e7637ec4ba57").to_vec().into(), + hex_literal::hex!("63f78c98723ddc9073523ef3beefda0ca95dac46c07a40d91506e7637ec4ba57").to_vec().into(), // Configuration ActiveConfig - hex_literal::hex!("0x06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(), + hex_literal::hex!("06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(), ]; let mut batches = Vec::::new(); From 06c1a9de067ae681e0c04258ff34dd9340100a2f Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 9 Sep 2021 02:22:06 -0400 Subject: [PATCH 04/24] clean up a bit --- xcm/pallet-xcm-benchmarks/src/lib.rs | 68 +--------------------------- 1 file changed, 1 insertion(+), 67 deletions(-) diff --git a/xcm/pallet-xcm-benchmarks/src/lib.rs b/xcm/pallet-xcm-benchmarks/src/lib.rs index 1a4e2dbdf8f2..41012f9e73c1 100644 --- a/xcm/pallet-xcm-benchmarks/src/lib.rs +++ b/xcm/pallet-xcm-benchmarks/src/lib.rs @@ -45,7 +45,7 @@ pub trait Config: frame_system::Config { /// `TransactAsset` is implemented. type XcmConfig: xcm_executor::Config; - // temp? + /// A converter between a multi-location to a sovereign account. type AccountIdConverter: Convert; /// Does any necessary setup to create a valid destination for XCM messages. @@ -94,38 +94,10 @@ pub fn asset_instance_from(x: u32) -> AssetInstance { AssetInstance::Array4(instance) } -/// Execute an xcm. -/// TODO: This skips all the barriers and traders, etc... maybe need to add back. -pub fn execute_xcm( - origin: MultiLocation, - holding: Assets, - xcm: Xcm>, -) -> Result<(), BenchmarkError> { - // TODO: very large weight to ensure all benchmarks execute, sensible? - let mut executor = ExecutorOf::::new(origin); - executor.holding = holding; - executor.execute(xcm)?; - Ok(()) -} - -pub fn execute_xcm_override_error( - origin: MultiLocation, - holding: Assets, - xcm: Xcm>, -) -> Result<(), BenchmarkError> { - execute_xcm::(origin, holding, xcm) - .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX))) -} - pub fn new_executor(origin: MultiLocation) -> ExecutorOf { ExecutorOf::::new(origin) } -// TODO probably delete and use converter -pub fn account(index: u32) -> T::AccountId { - frame_benchmarking::account::("account", index, SEED) -} - /// Build a multi-location from an account id. fn account_id_junction(index: u32) -> Junction { let account = account::(index); @@ -142,41 +114,3 @@ pub fn account_and_location(index: u32) -> (T::AccountId, MultiLocati (account, location) } - -/// Helper struct that converts a `Fungible` to `Fungibles` -/// -/// TODO: might not be needed anymore. -pub struct AsFungibles(sp_std::marker::PhantomData<(AccountId, AssetId, B)>); -impl< - AccountId: sp_runtime::traits::Member + frame_support::dispatch::Parameter, - AssetId: sp_runtime::traits::Member + frame_support::dispatch::Parameter + Copy, - B: FungibleInspect, - > FungiblesInspect for AsFungibles -{ - type AssetId = AssetId; - type Balance = B::Balance; - - fn total_issuance(_: Self::AssetId) -> Self::Balance { - B::total_issuance() - } - fn minimum_balance(_: Self::AssetId) -> Self::Balance { - B::minimum_balance() - } - fn balance(_: Self::AssetId, who: &AccountId) -> Self::Balance { - B::balance(who) - } - fn reducible_balance(_: Self::AssetId, who: &AccountId, keep_alive: bool) -> Self::Balance { - B::reducible_balance(who, keep_alive) - } - fn can_deposit(_: Self::AssetId, who: &AccountId, amount: Self::Balance) -> DepositConsequence { - B::can_deposit(who, amount) - } - - fn can_withdraw( - _: Self::AssetId, - who: &AccountId, - amount: Self::Balance, - ) -> WithdrawConsequence { - B::can_withdraw(who, amount) - } -} From 70beba346fa10952187382f6153ed80ac816425f Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 9 Sep 2021 02:24:30 -0400 Subject: [PATCH 05/24] update code doc --- xcm/pallet-xcm-benchmarks/src/fungible/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs b/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs index e3e3c146b1df..e5062c310494 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/mod.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -// +// Benchmarking for the `AssetTransactor` trait via `Fungible`. pub use pallet::*; From ce4705bc231e9d59a473676768d41de086a471e0 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 9 Sep 2021 02:34:05 -0400 Subject: [PATCH 06/24] fix warnings --- .../src/fungible/benchmarking.rs | 9 +++------ xcm/pallet-xcm-benchmarks/src/lib.rs | 12 ++---------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index 1caf81c71486..2cde4c4faf73 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -15,10 +15,7 @@ // along with Polkadot. If not, see . use super::*; -use crate::{ - account_and_location, execute_xcm, new_executor, worst_case_holding, AssetTransactorOf, - XcmCallOf, -}; +use crate::{account_and_location, new_executor, worst_case_holding, AssetTransactorOf, XcmCallOf}; use frame_benchmarking::{ benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError, BenchmarkResult, }; @@ -52,7 +49,6 @@ benchmarks_instance_pallet! { let mut executor = new_executor::(sender_location); executor.holding = worst_case_holding; - let instruction = Instruction::>::WithdrawAsset(vec![asset.clone()].into()); let xcm = Xcm(vec![instruction]); }: { @@ -75,10 +71,11 @@ benchmarks_instance_pallet! { >::deposit_asset(&asset, &sender_location).unwrap(); assert!(T::TransactAsset::balance(&dest_account).is_zero()); + let mut executor = new_executor::(sender_location); let instruction = Instruction::TransferAsset { assets, beneficiary: dest_location }; let xcm = Xcm(vec![instruction]); }: { - execute_xcm::(sender_location, Default::default(), xcm)?; + executor.execute(xcm)?; } verify { assert!(T::TransactAsset::balance(&sender_account).is_zero()); assert!(!T::TransactAsset::balance(&dest_account).is_zero()); diff --git a/xcm/pallet-xcm-benchmarks/src/lib.rs b/xcm/pallet-xcm-benchmarks/src/lib.rs index 41012f9e73c1..7de6111f2ba5 100644 --- a/xcm/pallet-xcm-benchmarks/src/lib.rs +++ b/xcm/pallet-xcm-benchmarks/src/lib.rs @@ -19,15 +19,7 @@ #![cfg_attr(not(feature = "std"), no_std)] use codec::Encode; -use frame_benchmarking::{BenchmarkError, BenchmarkResult}; -use frame_support::{ - traits::{ - fungible::Inspect as FungibleInspect, - fungibles::Inspect as FungiblesInspect, - tokens::{DepositConsequence, WithdrawConsequence}, - }, - weights::Weight, -}; +use frame_benchmarking::account; use sp_std::prelude::*; use xcm::latest::prelude::*; use xcm_executor::{traits::Convert, Assets}; @@ -100,7 +92,7 @@ pub fn new_executor(origin: MultiLocation) -> ExecutorOf { /// Build a multi-location from an account id. fn account_id_junction(index: u32) -> Junction { - let account = account::(index); + let account: T::AccountId = account("account", index, SEED); let mut encoded = account.encode(); encoded.resize(32, 0u8); let mut id = [0u8; 32]; From 99215ad33b07054343a989a41f1ea9ae0c065480 Mon Sep 17 00:00:00 2001 From: Parity Bot Date: Thu, 9 Sep 2021 06:54:20 +0000 Subject: [PATCH 07/24] cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=westend-dev --pallet=pallet_xcm_benchmarks::fungible --extrinsic=* --steps=10 --repeat=10 --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./ --execution=wasm --wasm-execution=compiled --- pallet_xcm_benchmarks::fungible.rs | 93 ++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 pallet_xcm_benchmarks::fungible.rs diff --git a/pallet_xcm_benchmarks::fungible.rs b/pallet_xcm_benchmarks::fungible.rs new file mode 100644 index 000000000000..489557ac5db6 --- /dev/null +++ b/pallet_xcm_benchmarks::fungible.rs @@ -0,0 +1,93 @@ +// Copyright 2017-2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Autogenerated weights for pallet_xcm_benchmarks::fungible +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2021-09-09, STEPS: `10`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 + +// Executed Command: +// target/release/polkadot +// benchmark +// --chain=westend-dev +// --pallet=pallet_xcm_benchmarks::fungible +// --extrinsic=* +// --steps=10 +// --repeat=10 +// --template=./xcm/pallet-xcm-benchmarks/template.hbs +// --output=./ +// --execution=wasm +// --wasm-execution=compiled + + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weights for pallet_xcm_benchmarks::fungible using the Substrate node and recommended hardware. +pub struct WeightInfo(PhantomData); +impl WeightInfo { + // Storage: System Account (r:1 w:1) + pub(crate) fn withdraw_asset() -> Weight { + (39_306_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + // Storage: System Account (r:2 w:2) + pub(crate) fn transfer_asset() -> Weight { + (60_533_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + // Storage: System Account (r:2 w:2) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + pub(crate) fn transfer_reserve_asset() -> Weight { + (83_374_000 as Weight) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + // Storage: Benchmark Override (r:0 w:0) + pub(crate) fn receive_teleported_asset() -> Weight { + (18_446_744_073_709_551_000 as Weight) + } + // Storage: System Account (r:1 w:1) + pub(crate) fn deposit_asset() -> Weight { + (49_378_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + // Storage: System Account (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + pub(crate) fn deposit_reserve_asset() -> Weight { + (75_991_000 as Weight) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + // Storage: System Account (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + pub(crate) fn initiate_teleport() -> Weight { + (76_462_000 as Weight) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } +} From cdf2b9becb86df89bab642bb64368959a225fdc8 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Fri, 10 Sep 2021 08:14:12 -0400 Subject: [PATCH 08/24] use skip --- Cargo.lock | 349 ++++++++++-------- .../src/fungible/benchmarking.rs | 14 +- 2 files changed, 199 insertions(+), 164 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e7e0bb98fb2f..d7804c89830f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1920,7 +1920,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", ] @@ -1938,7 +1938,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -1957,7 +1957,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "Inflector", "chrono", @@ -1983,7 +1983,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -1996,7 +1996,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "14.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "serde", @@ -2022,7 +2022,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "bitflags", "frame-metadata", @@ -2048,7 +2048,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2060,7 +2060,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2072,7 +2072,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro2", "quote", @@ -2082,7 +2082,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-metadata", "frame-support", @@ -2103,7 +2103,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -2113,7 +2113,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "log", @@ -2129,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -2143,7 +2143,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sp-api", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "sp-api", @@ -4527,10 +4527,23 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" +[[package]] +name = "pallet-assets" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -4545,7 +4558,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -4559,7 +4572,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4582,7 +4595,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4637,7 +4650,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4715,7 +4728,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4731,7 +4744,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4746,7 +4759,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4769,7 +4782,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4786,7 +4799,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4800,7 +4813,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4822,7 +4835,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4837,7 +4850,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4856,7 +4869,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4872,7 +4885,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4888,7 +4901,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4905,7 +4918,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -4921,7 +4934,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4938,7 +4951,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -4952,7 +4965,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -4965,7 +4978,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -4981,7 +4994,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5003,7 +5016,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5017,7 +5030,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -5030,7 +5043,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5045,7 +5058,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -5065,7 +5078,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5081,7 +5094,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -5094,7 +5107,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5116,7 +5129,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5127,7 +5140,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "sp-arithmetic", @@ -5136,7 +5149,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -5149,7 +5162,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5166,7 +5179,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5181,7 +5194,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-support", "frame-system", @@ -5197,7 +5210,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5214,7 +5227,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5225,7 +5238,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5241,7 +5254,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5256,7 +5269,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-benchmarking", "frame-support", @@ -5288,6 +5301,30 @@ dependencies = [ "xcm-executor", ] +[[package]] +name = "pallet-xcm-benchmarks" +version = "0.9.8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-assets", + "pallet-balances", + "pallet-xcm", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "xcm", + "xcm-builder", + "xcm-executor", +] + [[package]] name = "parity-db" version = "0.3.1" @@ -7219,9 +7256,9 @@ checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a" [[package]] name = "proc-macro2" -version = "1.0.28" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" +checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" dependencies = [ "unicode-xid", ] @@ -7647,7 +7684,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "env_logger 0.9.0", "jsonrpsee-proc-macros", @@ -7906,7 +7943,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "sp-core", @@ -7917,7 +7954,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "derive_more", @@ -7944,7 +7981,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -7967,7 +8004,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7983,7 +8020,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7999,7 +8036,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8010,7 +8047,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "chrono", "fdlimit", @@ -8048,7 +8085,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "fnv", "futures 0.3.17", @@ -8076,7 +8113,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "hash-db", "kvdb", @@ -8101,7 +8138,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "futures 0.3.17", @@ -8125,7 +8162,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "derive_more", @@ -8168,7 +8205,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "derive_more", "futures 0.3.17", @@ -8192,7 +8229,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8205,7 +8242,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "assert_matches", "async-trait", @@ -8239,7 +8276,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "futures 0.3.17", @@ -8265,7 +8302,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "sc-client-api", "sp-authorship", @@ -8276,7 +8313,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "lazy_static", "libsecp256k1 0.6.0", @@ -8302,7 +8339,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "derive_more", "environmental", @@ -8320,7 +8357,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "parity-scale-codec", @@ -8336,7 +8373,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8355,7 +8392,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "derive_more", @@ -8392,7 +8429,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "derive_more", "finality-grandpa", @@ -8416,7 +8453,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "ansi_term 0.12.1", "futures 0.3.17", @@ -8433,7 +8470,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "derive_more", @@ -8448,7 +8485,7 @@ dependencies = [ [[package]] name = "sc-light" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "hash-db", "parity-scale-codec", @@ -8466,7 +8503,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-std", "async-trait", @@ -8517,7 +8554,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -8533,7 +8570,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "bytes 1.0.1", "fnv", @@ -8560,7 +8597,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "libp2p", @@ -8573,7 +8610,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8582,7 +8619,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "hash-db", @@ -8613,7 +8650,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8638,7 +8675,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8654,7 +8691,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "directories", @@ -8718,7 +8755,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "parity-scale-codec", @@ -8732,7 +8769,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8754,7 +8791,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "chrono", "futures 0.3.17", @@ -8772,7 +8809,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8801,7 +8838,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8812,7 +8849,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "intervalier", @@ -8839,7 +8876,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "derive_more", "futures 0.3.17", @@ -8853,7 +8890,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -9284,7 +9321,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "hash-db", "log", @@ -9301,7 +9338,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9313,7 +9350,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "serde", @@ -9325,7 +9362,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "integer-sqrt", "num-traits", @@ -9339,7 +9376,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sp-api", @@ -9351,7 +9388,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "parity-scale-codec", @@ -9363,7 +9400,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sp-api", @@ -9375,7 +9412,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "log", @@ -9393,7 +9430,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "futures 0.3.17", @@ -9412,7 +9449,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "merlin", @@ -9434,7 +9471,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9444,7 +9481,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9456,7 +9493,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "base58", "blake2-rfc", @@ -9500,7 +9537,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9509,7 +9546,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro2", "quote", @@ -9519,7 +9556,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "environmental", "parity-scale-codec", @@ -9530,7 +9567,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "finality-grandpa", "log", @@ -9547,7 +9584,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9561,7 +9598,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "hash-db", @@ -9586,7 +9623,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "lazy_static", "sp-core", @@ -9597,7 +9634,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "derive_more", @@ -9614,7 +9651,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "zstd", ] @@ -9622,7 +9659,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "serde", @@ -9636,7 +9673,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9647,7 +9684,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "sp-api", "sp-core", @@ -9657,7 +9694,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "backtrace", ] @@ -9665,7 +9702,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "rustc-hash", "serde", @@ -9675,7 +9712,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "either", "hash256-std-hasher", @@ -9696,7 +9733,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9713,7 +9750,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9725,7 +9762,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "serde", "serde_json", @@ -9734,7 +9771,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sp-api", @@ -9747,7 +9784,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9757,7 +9794,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "hash-db", "log", @@ -9780,12 +9817,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" [[package]] name = "sp-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9798,7 +9835,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "sp-core", @@ -9811,7 +9848,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9827,7 +9864,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "erased-serde", "log", @@ -9845,7 +9882,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "sp-api", "sp-runtime", @@ -9854,7 +9891,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "log", @@ -9869,7 +9906,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "hash-db", "memory-db", @@ -9883,7 +9920,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9898,7 +9935,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -9909,7 +9946,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10105,7 +10142,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "platforms", ] @@ -10113,7 +10150,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.17", @@ -10135,7 +10172,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-std", "derive_more", @@ -10149,7 +10186,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "async-trait", "futures 0.3.17", @@ -10176,7 +10213,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "futures 0.3.17", "substrate-test-utils-derive", @@ -10186,7 +10223,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -10197,7 +10234,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "ansi_term 0.12.1", "build-helper", @@ -10350,7 +10387,7 @@ dependencies = [ [[package]] name = "test-runner" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "frame-system", "futures 0.3.17", @@ -10757,7 +10794,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#f84ac630acccbfadc9f7cd8364fc43e03d743103" +source = "git+https://github.com/paritytech/substrate?branch=master#64c3ec0e067d491725489fe3128540abb73eaa04" dependencies = [ "log", "parity-scale-codec", @@ -11425,6 +11462,7 @@ dependencies = [ "pallet-utility", "pallet-vesting", "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -11591,6 +11629,7 @@ dependencies = [ name = "xcm-executor" version = "0.9.9" dependencies = [ + "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "log", diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index 2cde4c4faf73..f59f07cb25c6 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -16,10 +16,8 @@ use super::*; use crate::{account_and_location, new_executor, worst_case_holding, AssetTransactorOf, XcmCallOf}; -use frame_benchmarking::{ - benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError, BenchmarkResult, -}; -use frame_support::{pallet_prelude::Get, traits::fungible::Inspect, weights::Weight}; +use frame_benchmarking::{benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError}; +use frame_support::{pallet_prelude::Get, traits::fungible::Inspect}; use sp_runtime::traits::Zero; use sp_std::{convert::TryInto, prelude::*, vec}; use xcm::latest::prelude::*; @@ -107,9 +105,8 @@ benchmarks_instance_pallet! { } receive_teleported_asset { - // If there is no trusted teleporter, then we make this benchmark `Weight::MAX`. - // TODO handle when there is no valid teleport - let (trusted_teleporter, teleportable_asset) = T::TrustedTeleporter::get().unwrap(); + // If there is no trusted teleporter, then we skip this benchmark. + let (trusted_teleporter, teleportable_asset) = T::TrustedTeleporter::get().ok_or(BenchmarkError::Skip)?; let assets: MultiAssets = vec![ teleportable_asset ].into(); @@ -117,8 +114,7 @@ benchmarks_instance_pallet! { let instruction = Instruction::ReceiveTeleportedAsset(assets.clone()); let xcm = Xcm(vec![instruction]); }: { - executor.execute(xcm) - .map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?; + executor.execute(xcm).map_err(|_| BenchmarkError::Skip)?; } verify { assert!(executor.holding.ensure_contains(&assets).is_ok()); } From 9955fad31af3b9b0f01e04f018cda5f49613166d Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Fri, 10 Sep 2021 08:22:28 -0400 Subject: [PATCH 09/24] fix spelling --- xcm/pallet-xcm-benchmarks/src/fungible/mock.rs | 2 +- xcm/pallet-xcm-benchmarks/src/lib.rs | 2 +- xcm/pallet-xcm-benchmarks/template.hbs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs b/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs index a1284f540417..8666dc6caa4d 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/mock.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! A mock runtime for xcm benchmarking. +//! A mock runtime for XCM benchmarking. use crate::{fungible as xcm_balances_benchmark, mock::*}; use frame_support::{parameter_types, traits::Everything}; diff --git a/xcm/pallet-xcm-benchmarks/src/lib.rs b/xcm/pallet-xcm-benchmarks/src/lib.rs index 7de6111f2ba5..cfbb3a478f67 100644 --- a/xcm/pallet-xcm-benchmarks/src/lib.rs +++ b/xcm/pallet-xcm-benchmarks/src/lib.rs @@ -47,7 +47,7 @@ pub trait Config: frame_system::Config { const SEED: u32 = 0; -/// The xcm executor to use for doing stuff. +/// The XCM executor to use for doing stuff. pub type ExecutorOf = xcm_executor::XcmExecutor<::XcmConfig>; /// The overarching call type. pub type OverArchingCallOf = ::Call; diff --git a/xcm/pallet-xcm-benchmarks/template.hbs b/xcm/pallet-xcm-benchmarks/template.hbs index e5cc6a71d3e7..a810a65b7ee9 100644 --- a/xcm/pallet-xcm-benchmarks/template.hbs +++ b/xcm/pallet-xcm-benchmarks/template.hbs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! Autogenerated weights for {{pallet}} +//! Autogenerated weights for `{{pallet}}` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} //! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` @@ -32,7 +32,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weights for {{pallet}} using the Substrate node and recommended hardware. +/// Weights for `{{pallet}}` using the Substrate node and recommended hardware. pub struct WeightInfo(PhantomData); impl WeightInfo { {{~#each benchmarks as |benchmark|}} From 556dccf6466b9d1357105d431693259b14412083 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 16 Sep 2021 21:31:31 -0400 Subject: [PATCH 10/24] Update Cargo.lock --- Cargo.lock | 344 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 192 insertions(+), 152 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3512b6caa419..873999df6615 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1928,7 +1928,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", ] @@ -1946,7 +1946,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -1966,7 +1966,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "Inflector", "chrono", @@ -1992,7 +1992,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -2006,7 +2006,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -2034,7 +2034,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "bitflags", "frame-metadata", @@ -2061,7 +2061,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2073,7 +2073,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2085,7 +2085,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro2", "quote", @@ -2095,7 +2095,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-support-test-pallet", @@ -2118,7 +2118,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -2129,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "log", @@ -2146,7 +2146,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -2161,7 +2161,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "sp-api", @@ -2170,7 +2170,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "sp-api", @@ -4540,10 +4540,24 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" +[[package]] +name = "pallet-assets" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -4559,7 +4573,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -4574,7 +4588,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4598,7 +4612,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4654,7 +4668,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4736,7 +4750,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4753,7 +4767,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4769,7 +4783,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4793,7 +4807,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4811,7 +4825,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4826,7 +4840,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4849,7 +4863,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4865,7 +4879,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4885,7 +4899,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4902,7 +4916,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4919,7 +4933,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4937,7 +4951,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -4953,7 +4967,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4970,7 +4984,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -4985,7 +4999,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -4999,7 +5013,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -5016,7 +5030,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5039,7 +5053,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5054,7 +5068,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -5068,7 +5082,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5084,7 +5098,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -5105,7 +5119,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5121,7 +5135,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -5135,7 +5149,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5158,7 +5172,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5169,7 +5183,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "sp-arithmetic", @@ -5178,7 +5192,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -5192,7 +5206,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5210,7 +5224,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5229,7 +5243,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-support", "frame-system", @@ -5246,7 +5260,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5263,7 +5277,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5274,7 +5288,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5291,7 +5305,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5307,7 +5321,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-benchmarking", "frame-support", @@ -5341,6 +5355,30 @@ dependencies = [ "xcm-executor", ] +[[package]] +name = "pallet-xcm-benchmarks" +version = "0.9.8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-assets", + "pallet-balances", + "pallet-xcm", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "xcm", + "xcm-builder", + "xcm-executor", +] + [[package]] name = "parity-db" version = "0.3.1" @@ -7666,7 +7704,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "env_logger 0.9.0", "jsonrpsee-proc-macros", @@ -7926,7 +7964,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "sp-core", @@ -7937,7 +7975,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "derive_more", @@ -7964,7 +8002,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -7987,7 +8025,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8003,7 +8041,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8019,7 +8057,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8030,7 +8068,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "chrono", "fdlimit", @@ -8068,7 +8106,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "fnv", "futures 0.3.17", @@ -8096,7 +8134,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "hash-db", "kvdb", @@ -8121,7 +8159,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "futures 0.3.17", @@ -8145,7 +8183,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "derive_more", @@ -8188,7 +8226,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "derive_more", "futures 0.3.17", @@ -8212,7 +8250,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8225,7 +8263,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "assert_matches", "async-trait", @@ -8259,7 +8297,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "futures 0.3.17", @@ -8285,7 +8323,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "sc-client-api", "sp-authorship", @@ -8296,7 +8334,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "lazy_static", "libsecp256k1 0.6.0", @@ -8322,7 +8360,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "derive_more", "environmental", @@ -8340,7 +8378,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "parity-scale-codec", @@ -8356,7 +8394,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8375,7 +8413,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "derive_more", @@ -8412,7 +8450,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "derive_more", "finality-grandpa", @@ -8436,7 +8474,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "ansi_term 0.12.1", "futures 0.3.17", @@ -8453,7 +8491,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "derive_more", @@ -8468,7 +8506,7 @@ dependencies = [ [[package]] name = "sc-light" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "hash-db", "parity-scale-codec", @@ -8486,7 +8524,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-std", "async-trait", @@ -8537,7 +8575,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -8553,7 +8591,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "bytes 1.0.1", "fnv", @@ -8580,7 +8618,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "libp2p", @@ -8593,7 +8631,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8602,7 +8640,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "hash-db", @@ -8633,7 +8671,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8658,7 +8696,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8675,7 +8713,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "directories", @@ -8740,7 +8778,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "parity-scale-codec", @@ -8754,7 +8792,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8776,7 +8814,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "chrono", "futures 0.3.17", @@ -8794,7 +8832,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8823,7 +8861,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8834,7 +8872,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "intervalier", @@ -8861,7 +8899,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "derive_more", "futures 0.3.17", @@ -8875,7 +8913,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -9307,7 +9345,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "hash-db", "log", @@ -9324,7 +9362,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9336,7 +9374,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "scale-info", @@ -9349,7 +9387,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "integer-sqrt", "num-traits", @@ -9364,7 +9402,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "scale-info", @@ -9377,7 +9415,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "parity-scale-codec", @@ -9389,7 +9427,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "sp-api", @@ -9401,7 +9439,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "log", @@ -9419,7 +9457,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "futures 0.3.17", @@ -9438,7 +9476,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "merlin", @@ -9461,7 +9499,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "scale-info", @@ -9472,7 +9510,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9484,7 +9522,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "base58", "blake2-rfc", @@ -9529,7 +9567,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9538,7 +9576,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro2", "quote", @@ -9548,7 +9586,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "environmental", "parity-scale-codec", @@ -9559,7 +9597,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "finality-grandpa", "log", @@ -9577,7 +9615,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9591,7 +9629,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "hash-db", @@ -9616,7 +9654,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "lazy_static", "sp-core", @@ -9627,7 +9665,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "derive_more", @@ -9644,7 +9682,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "zstd", ] @@ -9652,7 +9690,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "scale-info", @@ -9667,7 +9705,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9678,7 +9716,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "sp-api", "sp-core", @@ -9688,7 +9726,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "backtrace", ] @@ -9696,7 +9734,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "rustc-hash", "serde", @@ -9706,7 +9744,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "either", "hash256-std-hasher", @@ -9728,7 +9766,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9745,7 +9783,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9757,7 +9795,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "serde", "serde_json", @@ -9766,7 +9804,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "scale-info", @@ -9780,7 +9818,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "scale-info", @@ -9791,7 +9829,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "hash-db", "log", @@ -9814,12 +9852,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" [[package]] name = "sp-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9832,7 +9870,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "sp-core", @@ -9845,7 +9883,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9861,7 +9899,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "erased-serde", "log", @@ -9879,7 +9917,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "sp-api", "sp-runtime", @@ -9888,7 +9926,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "log", @@ -9904,7 +9942,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "hash-db", "memory-db", @@ -9919,7 +9957,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9935,7 +9973,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -9946,7 +9984,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10142,7 +10180,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "platforms", ] @@ -10150,7 +10188,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.17", @@ -10172,7 +10210,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-std", "derive_more", @@ -10186,7 +10224,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "async-trait", "futures 0.3.17", @@ -10213,7 +10251,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "futures 0.3.17", "substrate-test-utils-derive", @@ -10223,7 +10261,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -10234,7 +10272,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "ansi_term 0.12.1", "build-helper", @@ -10387,7 +10425,7 @@ dependencies = [ [[package]] name = "test-runner" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "frame-system", "futures 0.3.17", @@ -10794,7 +10832,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#95a5337c33ff6123918720ef3c11493628bca5b9" +source = "git+https://github.com/paritytech/substrate?branch=master#88b4fc861129b63b445492e3088d7f12382f0128" dependencies = [ "log", "parity-scale-codec", @@ -11462,6 +11500,7 @@ dependencies = [ "pallet-utility", "pallet-vesting", "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -11631,6 +11670,7 @@ dependencies = [ name = "xcm-executor" version = "0.9.9" dependencies = [ + "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "log", From f491adf6f4d2da50c28e7f0b5fa25e200359a2db Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 16 Sep 2021 22:19:39 -0400 Subject: [PATCH 11/24] add scale-info --- Cargo.lock | 1 + xcm/pallet-xcm-benchmarks/Cargo.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 873999df6615..d9cd7a04006e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5369,6 +5369,7 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "polkadot-runtime-common", + "scale-info", "sp-core", "sp-io", "sp-runtime", diff --git a/xcm/pallet-xcm-benchmarks/Cargo.toml b/xcm/pallet-xcm-benchmarks/Cargo.toml index 2b1074097c33..f310bd0510a4 100644 --- a/xcm/pallet-xcm-benchmarks/Cargo.toml +++ b/xcm/pallet-xcm-benchmarks/Cargo.toml @@ -9,6 +9,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } +scale-info = { version = "1.0", default-features = false, features = ["derive"] } frame-support = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } frame-system = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } sp-runtime = { version = "4.0.0-dev", default-features = false, branch = "master", git = "https://github.com/paritytech/substrate" } From 2381dcb0756f2b4f59a522840eee4338b0514eda Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Fri, 17 Sep 2021 00:35:59 -0400 Subject: [PATCH 12/24] Update Cargo.lock --- Cargo.lock | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 8d6986a73574..65b80928bb01 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4592,6 +4592,20 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" +[[package]] +name = "pallet-assets" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#c000780dba99a611fadbf83873073e024be1be0b" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" @@ -5413,6 +5427,31 @@ dependencies = [ "xcm-executor", ] +[[package]] +name = "pallet-xcm-benchmarks" +version = "0.9.8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-assets", + "pallet-balances", + "pallet-xcm", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "xcm", + "xcm-builder", + "xcm-executor", +] + [[package]] name = "parity-db" version = "0.3.1" @@ -11570,6 +11609,7 @@ dependencies = [ "pallet-utility", "pallet-vesting", "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -11739,6 +11779,7 @@ dependencies = [ name = "xcm-executor" version = "0.9.9" dependencies = [ + "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "log", From dcdc5e8a51a13d69dd1438b2d0fbb71fa6bead9e Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Fri, 17 Sep 2021 02:42:43 -0400 Subject: [PATCH 13/24] update bench --- .../xcm/pallet_xcm_benchmarks_fungible.rs | 95 +++++++++++++++++++ .../src/fungible/benchmarking.rs | 14 ++- xcm/pallet-xcm-benchmarks/template.hbs | 2 +- 3 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs diff --git a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs new file mode 100644 index 000000000000..680f009d88e4 --- /dev/null +++ b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -0,0 +1,95 @@ +// Copyright 2017-2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2021-09-17, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 + +// Executed Command: +// ./target/release/polkadot +// benchmark +// --chain=westend-dev +// --steps=50 +// --repeat=20 +// --pallet=pallet_xcm_benchmarks::fungible +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./file_header.txt +// --template=./xcm/pallet-xcm-benchmarks/template.hbs +// --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs + + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weights for `pallet_xcm_benchmarks::fungible` using the Substrate node and recommended hardware. +pub struct WeightInfo(PhantomData); +impl WeightInfo { + // Storage: System Account (r:1 w:1) + pub(crate) fn withdraw_asset() -> Weight { + (27_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + // Storage: System Account (r:2 w:2) + pub(crate) fn transfer_asset() -> Weight { + (42_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + // Storage: System Account (r:2 w:2) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + pub(crate) fn transfer_reserve_asset() -> Weight { + (61_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + // Storage: Benchmark Override (r:0 w:0) + pub(crate) fn receive_teleported_asset() -> Weight { + (2_000_000_000_000 as Weight) + } + // Storage: System Account (r:1 w:1) + pub(crate) fn deposit_asset() -> Weight { + (37_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + // Storage: System Account (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + pub(crate) fn deposit_reserve_asset() -> Weight { + (57_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + // Storage: System Account (r:1 w:1) + // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) + // Storage: Dmp DownwardMessageQueues (r:1 w:1) + pub(crate) fn initiate_teleport() -> Weight { + (54_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } +} diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index f59f07cb25c6..0084a555eb96 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -16,7 +16,7 @@ use super::*; use crate::{account_and_location, new_executor, worst_case_holding, AssetTransactorOf, XcmCallOf}; -use frame_benchmarking::{benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError}; +use frame_benchmarking::{benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError, BenchmarkResult}; use frame_support::{pallet_prelude::Get, traits::fungible::Inspect}; use sp_runtime::traits::Zero; use sp_std::{convert::TryInto, prelude::*, vec}; @@ -106,7 +106,11 @@ benchmarks_instance_pallet! { receive_teleported_asset { // If there is no trusted teleporter, then we skip this benchmark. - let (trusted_teleporter, teleportable_asset) = T::TrustedTeleporter::get().ok_or(BenchmarkError::Skip)?; + let (trusted_teleporter, teleportable_asset) = T::TrustedTeleporter::get().ok_or( + BenchmarkError::Override( + BenchmarkResult::from_weight(T::BlockWeights::get().max_block) + ) + )?; let assets: MultiAssets = vec![ teleportable_asset ].into(); @@ -114,7 +118,11 @@ benchmarks_instance_pallet! { let instruction = Instruction::ReceiveTeleportedAsset(assets.clone()); let xcm = Xcm(vec![instruction]); }: { - executor.execute(xcm).map_err(|_| BenchmarkError::Skip)?; + executor.execute(xcm).map_err(|_| { + BenchmarkError::Override( + BenchmarkResult::from_weight(T::BlockWeights::get().max_block) + ) + })?; } verify { assert!(executor.holding.ensure_contains(&assets).is_ok()); } diff --git a/xcm/pallet-xcm-benchmarks/template.hbs b/xcm/pallet-xcm-benchmarks/template.hbs index a810a65b7ee9..357fa7456aa0 100644 --- a/xcm/pallet-xcm-benchmarks/template.hbs +++ b/xcm/pallet-xcm-benchmarks/template.hbs @@ -32,7 +32,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weights for `{{pallet}}` using the Substrate node and recommended hardware. +/// Weights for `{{pallet}}`. pub struct WeightInfo(PhantomData); impl WeightInfo { {{~#each benchmarks as |benchmark|}} From 768e88817964488a32ca8ff7aad414433d2caa3f Mon Sep 17 00:00:00 2001 From: Parity Bot Date: Fri, 17 Sep 2021 06:51:08 +0000 Subject: [PATCH 14/24] cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::fungible --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs --- .../xcm/pallet_xcm_benchmarks_fungible.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs index 680f009d88e4..869c1bca408f 100644 --- a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs +++ b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -21,7 +21,7 @@ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 // Executed Command: -// ./target/release/polkadot +// target/release/polkadot // benchmark // --chain=westend-dev // --steps=50 @@ -43,18 +43,18 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weights for `pallet_xcm_benchmarks::fungible` using the Substrate node and recommended hardware. +/// Weights for `pallet_xcm_benchmarks::fungible`. pub struct WeightInfo(PhantomData); impl WeightInfo { // Storage: System Account (r:1 w:1) pub(crate) fn withdraw_asset() -> Weight { - (27_000_000 as Weight) + (39_691_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: System Account (r:2 w:2) pub(crate) fn transfer_asset() -> Weight { - (42_000_000 as Weight) + (62_616_000 as Weight) .saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } @@ -62,7 +62,7 @@ impl WeightInfo { // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) // Storage: Dmp DownwardMessageQueues (r:1 w:1) pub(crate) fn transfer_reserve_asset() -> Weight { - (61_000_000 as Weight) + (86_642_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } @@ -72,7 +72,7 @@ impl WeightInfo { } // Storage: System Account (r:1 w:1) pub(crate) fn deposit_asset() -> Weight { - (37_000_000 as Weight) + (49_745_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -80,7 +80,7 @@ impl WeightInfo { // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) // Storage: Dmp DownwardMessageQueues (r:1 w:1) pub(crate) fn deposit_reserve_asset() -> Weight { - (57_000_000 as Weight) + (75_318_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } @@ -88,7 +88,7 @@ impl WeightInfo { // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) // Storage: Dmp DownwardMessageQueues (r:1 w:1) pub(crate) fn initiate_teleport() -> Weight { - (54_000_000 as Weight) + (75_467_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } From 0515f70c6ce100d0de81d26176348da9ba018999 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Tue, 21 Sep 2021 01:56:38 -0400 Subject: [PATCH 15/24] weights compile --- runtime/westend/src/weights/mod.rs | 1 + runtime/westend/src/weights/xcm/mod.rs | 191 ++++++++++++++++++ .../xcm/pallet_xcm_benchmarks_generic.rs | 69 +++++++ 3 files changed, 261 insertions(+) create mode 100644 runtime/westend/src/weights/xcm/mod.rs create mode 100644 runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs diff --git a/runtime/westend/src/weights/mod.rs b/runtime/westend/src/weights/mod.rs index 05fefbef7d71..c54407188f8f 100644 --- a/runtime/westend/src/weights/mod.rs +++ b/runtime/westend/src/weights/mod.rs @@ -34,3 +34,4 @@ pub mod runtime_common_auctions; pub mod runtime_common_crowdloan; pub mod runtime_common_paras_registrar; pub mod runtime_common_slots; +pub mod xcm; diff --git a/runtime/westend/src/weights/xcm/mod.rs b/runtime/westend/src/weights/xcm/mod.rs new file mode 100644 index 000000000000..a3447575ce48 --- /dev/null +++ b/runtime/westend/src/weights/xcm/mod.rs @@ -0,0 +1,191 @@ +mod pallet_xcm_benchmarks_fungible; +mod pallet_xcm_benchmarks_generic; + +use crate::Runtime; +use frame_support::weights::Weight; +use sp_std::prelude::*; +use xcm::{latest::prelude::*, DoubleEncoded}; + +use pallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight; +use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; + +pub enum AssetTypes { + Balances, + Unknown, +} + +impl From<&MultiAsset> for AssetTypes { + fn from(asset: &MultiAsset) -> Self { + match asset { + MultiAsset { id: Concrete(MultiLocation { parents: 0, interior: Here }), .. } => + AssetTypes::Balances, + _ => AssetTypes::Unknown, + } + } +} + +trait WeighMultiAssets { + fn weigh_multi_assets(&self, balances_weight: Weight) -> Weight; +} + +// TODO wild case +impl WeighMultiAssets for MultiAssetFilter { + fn weigh_multi_assets(&self, balances_weight: Weight) -> Weight { + match self { + Self::Definite(assets) => assets + .inner() + .into_iter() + .map(|m| >::from(m)) + .map(|t| match t { + AssetTypes::Balances => balances_weight, + AssetTypes::Unknown => Weight::MAX, + }) + .fold(0, |acc, x| acc.saturating_add(x)), + _ => Weight::MAX, + } + } +} + +impl WeighMultiAssets for MultiAssets { + fn weigh_multi_assets(&self, balances_weight: Weight) -> Weight { + self.inner() + .into_iter() + .map(|m| >::from(m)) + .map(|t| match t { + AssetTypes::Balances => balances_weight, + AssetTypes::Unknown => Weight::MAX, + }) + .fold(0, |acc, x| acc.saturating_add(x)) + } +} + +pub struct WestendXcmWeight(core::marker::PhantomData); +impl XcmWeightInfo for WestendXcmWeight { + fn withdraw_asset(assets: &MultiAssets) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::withdraw_asset()) + } + fn reserve_asset_deposited(assets: &MultiAssets) -> Weight { + assets.weigh_multi_assets(XcmGeneric::::reserve_asset_deposited()) + } + // TODO none of these need effects + fn receive_teleported_asset(assets: &MultiAssets) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::receive_teleported_asset()) + } + fn query_response(_query_id: &u64, _response: &Response, max_weight: &u64) -> Weight { + *max_weight + } + fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::transfer_asset()) + } + fn transfer_reserve_asset( + assets: &MultiAssets, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::transfer_reserve_asset()) + } + fn transact( + _origin_type: &OriginKind, + _require_weight_at_most: &u64, + _call: &DoubleEncoded, + ) -> Weight { + XcmGeneric::::transact() + } + fn hrmp_new_channel_open_request( + _sender: &u32, + _max_message_size: &u32, + _max_capacity: &u32, + ) -> Weight { + XcmGeneric::::hrmp_new_channel_open_request() + } + fn hrmp_channel_accepted(_recipient: &u32) -> Weight { + XcmGeneric::::hrmp_channel_accepted() + } + fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> Weight { + XcmGeneric::::hrmp_channel_closing() + } + fn clear_origin() -> Weight { + XcmGeneric::::clear_origin() + } + fn descend_origin(who: &InteriorMultiLocation) -> Weight { + XcmGeneric::::descend_origin(who) + } + fn report_error( + _query_id: &QueryId, + _dest: &MultiLocation, + max_response_weight: &u64, + ) -> Weight { + *max_response_weight + } + fn relayed_from(_who: &Junctions, _message: &Box>) -> Weight { + XcmGeneric::::relayed_from() + } + + fn deposit_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, // TODO use max assets? + _dest: &MultiLocation, + ) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::deposit_asset()) + } + fn deposit_reserve_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, // TODO use max assets? + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::deposit_reserve_asset()) + } + fn exchange_asset(_give: &MultiAssetFilter, _receive: &MultiAssets) -> Weight { + Weight::MAX // todo fix + } + fn initiate_reserve_withdraw( + assets: &MultiAssetFilter, + _reserve: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets.weigh_multi_assets(XcmGeneric::::initiate_reserve_withdraw()) + } + fn initiate_teleport( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> Weight { + assets.weigh_multi_assets(XcmBalancesWeight::::initiate_teleport()) + } + fn query_holding( + _query_id: &u64, + _dest: &MultiLocation, + _assets: &MultiAssetFilter, + _max_response_weight: &u64, + ) -> Weight { + XcmGeneric::::query_holding() + } + fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> Weight { + XcmGeneric::::buy_execution() + } + fn refund_surplus() -> Weight { + XcmGeneric::::refund_surplus() + } + fn set_error_handler(_xcm: &Xcm) -> Weight { + XcmGeneric::::set_error_handler() + } + fn set_appendix(_xcm: &Xcm) -> Weight { + XcmGeneric::::set_appendix() + } + fn clear_error() -> Weight { + XcmGeneric::::clear_error() + } + fn claim_asset(assets: &MultiAssets, _ticket: &MultiLocation) -> Weight { + XcmGeneric::::claim_asset(assets) + } + fn trap(code: &u64) -> Weight { + XcmGeneric::::trap(code) + } + fn subscribe_version(_query_id: &QueryId, _max_response_weight: &u64) -> Weight { + XcmGeneric::::subscribe_version() + } + fn unsubscribe_version() -> Weight { + XcmGeneric::::unsubscribe_version() + } +} diff --git a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs new file mode 100644 index 000000000000..1b71a302e807 --- /dev/null +++ b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -0,0 +1,69 @@ +// this whole file is temp, and will be replaced in the future TODO + +use frame_support::dispatch::Weight; + +pub struct WeightInfo(sp_std::marker::PhantomData); +impl WeightInfo { + pub fn query_holding() -> Weight { + 10 + } + pub fn buy_execution() -> Weight { + 10 + } + pub fn transact() -> Weight { + 10 + } + pub fn reserve_asset_deposited() -> Weight { + 10 + } + pub fn hrmp_new_channel_open_request() -> Weight { + 10 + } + pub fn hrmp_channel_accepted() -> Weight { + 10 + } + pub fn hrmp_channel_closing() -> Weight { + 10 + } + pub fn relayed_from() -> Weight { + 10 + } + pub fn refund_surplus() -> Weight { + 10 + } + pub fn set_error_handler() -> Weight { + 10 + } + pub fn set_appendix() -> Weight { + 10 + } + pub fn clear_error() -> Weight { + 10 + } + pub fn claim_asset(_assets: &crate::MultiAssets) -> Weight { + 10 + } + pub fn trap(_code: &u64) -> Weight { + 10 + } + + pub fn subscribe_version() -> Weight { + 10 + } + + pub fn unsubscribe_version() -> Weight { + 10 + } + + pub fn clear_origin() -> Weight { + 10 + } + + pub fn descend_origin(_who: &crate::InteriorMultiLocation) -> Weight { + 10 + } + + pub fn initiate_reserve_withdraw() -> Weight { + 10 + } +} From cb752a981af36baf9e51e4c8d17703adf0a0e763 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Tue, 21 Sep 2021 02:03:57 -0400 Subject: [PATCH 16/24] update westend to use weights --- runtime/westend/src/lib.rs | 14 +++---- .../xcm/pallet_xcm_benchmarks_generic.rs | 38 +++++++++---------- xcm/xcm-builder/src/lib.rs | 4 +- xcm/xcm-builder/src/weight.rs | 2 +- 4 files changed, 28 insertions(+), 30 deletions(-) diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 97416171aa01..758ad0b3051f 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -49,9 +49,9 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, ChildParachainAsNative, ChildParachainConvertsVia, ChildSystemParachainAsSuperuser, - CurrencyAdapter as XcmCurrencyAdapter, FixedWeightBounds, IsChildSystemParachain, IsConcrete, - LocationInverter, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, - TakeWeightCredit, UsingComponents, + CurrencyAdapter as XcmCurrencyAdapter, IsChildSystemParachain, IsConcrete, LocationInverter, + SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, + UsingComponents, WeightInfoBounds, }; use xcm_executor::XcmExecutor; @@ -939,10 +939,6 @@ type LocalOriginConverter = ( ChildSystemParachainAsSuperuser, ); -parameter_types! { - pub const BaseXcmWeight: Weight = 10_000_000; -} - /// The XCM router. When we want to send an XCM message, we use this type. It amalgamates all of our /// individual routers. pub type XcmRouter = ( @@ -978,7 +974,7 @@ impl xcm_executor::Config for XcmConfig { type IsTeleporter = TrustedTeleporters; type LocationInverter = LocationInverter; type Barrier = Barrier; - type Weigher = FixedWeightBounds; + type Weigher = WeightInfoBounds, Call, MaxInstructions>; type Trader = UsingComponents>; type ResponseHandler = XcmPallet; type AssetTrap = XcmPallet; @@ -1004,7 +1000,7 @@ impl pallet_xcm::Config for Runtime { type XcmExecutor = XcmExecutor; type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; - type Weigher = FixedWeightBounds; + type Weigher = WeightInfoBounds, Call, MaxInstructions>; type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; diff --git a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs index 1b71a302e807..d4831fd545ae 100644 --- a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -5,65 +5,65 @@ use frame_support::dispatch::Weight; pub struct WeightInfo(sp_std::marker::PhantomData); impl WeightInfo { pub fn query_holding() -> Weight { - 10 + 10_000_000 } pub fn buy_execution() -> Weight { - 10 + 10_000_000 } pub fn transact() -> Weight { - 10 + 10_000_000 } pub fn reserve_asset_deposited() -> Weight { - 10 + 10_000_000 } pub fn hrmp_new_channel_open_request() -> Weight { - 10 + 10_000_000 } pub fn hrmp_channel_accepted() -> Weight { - 10 + 10_000_000 } pub fn hrmp_channel_closing() -> Weight { - 10 + 10_000_000 } pub fn relayed_from() -> Weight { - 10 + 10_000_000 } pub fn refund_surplus() -> Weight { - 10 + 10_000_000 } pub fn set_error_handler() -> Weight { - 10 + 10_000_000 } pub fn set_appendix() -> Weight { - 10 + 10_000_000 } pub fn clear_error() -> Weight { - 10 + 10_000_000 } pub fn claim_asset(_assets: &crate::MultiAssets) -> Weight { - 10 + 10_000_000 } pub fn trap(_code: &u64) -> Weight { - 10 + 10_000_000 } pub fn subscribe_version() -> Weight { - 10 + 10_000_000 } pub fn unsubscribe_version() -> Weight { - 10 + 10_000_000 } pub fn clear_origin() -> Weight { - 10 + 10_000_000 } pub fn descend_origin(_who: &crate::InteriorMultiLocation) -> Weight { - 10 + 10_000_000 } pub fn initiate_reserve_withdraw() -> Weight { - 10 + 10_000_000 } } diff --git a/xcm/xcm-builder/src/lib.rs b/xcm/xcm-builder/src/lib.rs index e2caff56bf36..72bb8b61c0ff 100644 --- a/xcm/xcm-builder/src/lib.rs +++ b/xcm/xcm-builder/src/lib.rs @@ -57,7 +57,9 @@ pub use fungibles_adapter::{ mod weight; #[allow(deprecated)] pub use weight::FixedRateOfConcreteFungible; -pub use weight::{FixedRateOfFungible, FixedWeightBounds, TakeRevenue, UsingComponents}; +pub use weight::{ + FixedRateOfFungible, FixedWeightBounds, TakeRevenue, UsingComponents, WeightInfoBounds, +}; mod matches_fungible; pub use matches_fungible::{IsAbstract, IsConcrete}; diff --git a/xcm/xcm-builder/src/weight.rs b/xcm/xcm-builder/src/weight.rs index 3ec684f85852..1e84a42e2ada 100644 --- a/xcm/xcm-builder/src/weight.rs +++ b/xcm/xcm-builder/src/weight.rs @@ -64,7 +64,7 @@ impl, C: Decode + GetDispatchInfo, M> FixedWeightBounds } } -struct WeightInfoBounds(PhantomData<(W, C, M)>); +pub struct WeightInfoBounds(PhantomData<(W, C, M)>); impl WeightBounds for WeightInfoBounds where W: XcmWeightInfo, From a73f703444f2a90f93db78d15b3125f9a0023184 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Tue, 21 Sep 2021 03:33:06 -0400 Subject: [PATCH 17/24] fmt --- xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index 0084a555eb96..6c1423dcb181 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -16,7 +16,9 @@ use super::*; use crate::{account_and_location, new_executor, worst_case_holding, AssetTransactorOf, XcmCallOf}; -use frame_benchmarking::{benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError, BenchmarkResult}; +use frame_benchmarking::{ + benchmarks_instance_pallet, impl_benchmark_test_suite, BenchmarkError, BenchmarkResult, +}; use frame_support::{pallet_prelude::Get, traits::fungible::Inspect}; use sp_runtime::traits::Zero; use sp_std::{convert::TryInto, prelude::*, vec}; From 48dd6dbba705f387dc74ec9b5dc679e65eb555ac Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Tue, 21 Sep 2021 03:34:41 -0400 Subject: [PATCH 18/24] spelling fixes --- pallet_xcm_benchmarks::fungible.rs | 4 ++-- runtime/polkadot/src/lib.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pallet_xcm_benchmarks::fungible.rs b/pallet_xcm_benchmarks::fungible.rs index 489557ac5db6..3c1610dd1142 100644 --- a/pallet_xcm_benchmarks::fungible.rs +++ b/pallet_xcm_benchmarks::fungible.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! Autogenerated weights for pallet_xcm_benchmarks::fungible +//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! DATE: 2021-09-09, STEPS: `10`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: `[]` @@ -41,7 +41,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weights for pallet_xcm_benchmarks::fungible using the Substrate node and recommended hardware. +/// Weights for `pallet_xcm_benchmarks::fungible` using the Substrate node and recommended hardware. pub struct WeightInfo(PhantomData); impl WeightInfo { // Storage: System Account (r:1 w:1) diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 72a5c7488409..fe9413db7eb0 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -1188,7 +1188,7 @@ impl OnRuntimeUpgrade for CouncilStoragePrefixMigration { } const TECHNICAL_COMMITTEE_OLD_PREFIX: &str = "Instance2Collective"; -/// Migrate from 'Instance2Collective' to the new pallet prefix `TechnicalCommittee` +/// Migrate from `Instance2Collective` to the new pallet prefix `TechnicalCommittee` pub struct TechnicalCommitteeStoragePrefixMigration; impl OnRuntimeUpgrade for TechnicalCommitteeStoragePrefixMigration { From cb860e72cb5c0e80df59f6e130d84caf81c237f7 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Tue, 21 Sep 2021 11:58:15 -0400 Subject: [PATCH 19/24] Delete pallet_xcm_benchmarks::fungible.rs --- pallet_xcm_benchmarks::fungible.rs | 93 ------------------------------ 1 file changed, 93 deletions(-) delete mode 100644 pallet_xcm_benchmarks::fungible.rs diff --git a/pallet_xcm_benchmarks::fungible.rs b/pallet_xcm_benchmarks::fungible.rs deleted file mode 100644 index 3c1610dd1142..000000000000 --- a/pallet_xcm_benchmarks::fungible.rs +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2017-2021 Parity Technologies (UK) Ltd. -// This file is part of Polkadot. - -// Polkadot is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Polkadot is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Polkadot. If not, see . - -//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2021-09-09, STEPS: `10`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 128 - -// Executed Command: -// target/release/polkadot -// benchmark -// --chain=westend-dev -// --pallet=pallet_xcm_benchmarks::fungible -// --extrinsic=* -// --steps=10 -// --repeat=10 -// --template=./xcm/pallet-xcm-benchmarks/template.hbs -// --output=./ -// --execution=wasm -// --wasm-execution=compiled - - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weights for `pallet_xcm_benchmarks::fungible` using the Substrate node and recommended hardware. -pub struct WeightInfo(PhantomData); -impl WeightInfo { - // Storage: System Account (r:1 w:1) - pub(crate) fn withdraw_asset() -> Weight { - (39_306_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - // Storage: System Account (r:2 w:2) - pub(crate) fn transfer_asset() -> Weight { - (60_533_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - // Storage: System Account (r:2 w:2) - // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) - // Storage: Dmp DownwardMessageQueues (r:1 w:1) - pub(crate) fn transfer_reserve_asset() -> Weight { - (83_374_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) - } - // Storage: Benchmark Override (r:0 w:0) - pub(crate) fn receive_teleported_asset() -> Weight { - (18_446_744_073_709_551_000 as Weight) - } - // Storage: System Account (r:1 w:1) - pub(crate) fn deposit_asset() -> Weight { - (49_378_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - // Storage: System Account (r:1 w:1) - // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) - // Storage: Dmp DownwardMessageQueues (r:1 w:1) - pub(crate) fn deposit_reserve_asset() -> Weight { - (75_991_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) - } - // Storage: System Account (r:1 w:1) - // Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) - // Storage: Dmp DownwardMessageQueues (r:1 w:1) - pub(crate) fn initiate_teleport() -> Weight { - (76_462_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) - } -} From 11e5d7d614a9741b279a5708f8b193a3461fb501 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 23 Sep 2021 01:01:23 -0400 Subject: [PATCH 20/24] Apply suggestions from code review Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> --- runtime/westend/src/weights/xcm/mod.rs | 6 ++++-- xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs | 6 ++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime/westend/src/weights/xcm/mod.rs b/runtime/westend/src/weights/xcm/mod.rs index a3447575ce48..296d95d530ec 100644 --- a/runtime/westend/src/weights/xcm/mod.rs +++ b/runtime/westend/src/weights/xcm/mod.rs @@ -9,8 +9,11 @@ use xcm::{latest::prelude::*, DoubleEncoded}; use pallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight; use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; +/// Types of asset supported by the westend runtime. pub enum AssetTypes { + /// An asset backed by `pallet-balances`. Balances, + /// Unknown asset. Unknown, } @@ -35,7 +38,7 @@ impl WeighMultiAssets for MultiAssetFilter { Self::Definite(assets) => assets .inner() .into_iter() - .map(|m| >::from(m)) + .map(From::from) .map(|t| match t { AssetTypes::Balances => balances_weight, AssetTypes::Unknown => Weight::MAX, @@ -67,7 +70,6 @@ impl XcmWeightInfo for WestendXcmWeight { fn reserve_asset_deposited(assets: &MultiAssets) -> Weight { assets.weigh_multi_assets(XcmGeneric::::reserve_asset_deposited()) } - // TODO none of these need effects fn receive_teleported_asset(assets: &MultiAssets) -> Weight { assets.weigh_multi_assets(XcmBalancesWeight::::receive_teleported_asset()) } diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index 6c1423dcb181..b4a989f4ecd4 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -191,10 +191,8 @@ benchmarks_instance_pallet! { // Add our asset to the holding. holding.subsume(asset.clone()); - if let Some(checked_account) = T::CheckedAccount::get() { - // Checked account starts at zero - assert!(T::TransactAsset::balance(&checked_account).is_zero()); - } + // Checked account starts at zero + assert!(T::CheckedAccount::get().map_or(true, |c| T::TransactAsset::balance(&c).is_zero()); let mut executor = new_executor::(Default::default()); executor.holding = holding; From a7519b624e48c7e1f0b1170482f8c4e36edd27bd Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Thu, 23 Sep 2021 03:59:07 -0400 Subject: [PATCH 21/24] fix code review --- runtime/westend/src/weights/xcm/mod.rs | 2 +- xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/westend/src/weights/xcm/mod.rs b/runtime/westend/src/weights/xcm/mod.rs index 296d95d530ec..c52b3ec19c5c 100644 --- a/runtime/westend/src/weights/xcm/mod.rs +++ b/runtime/westend/src/weights/xcm/mod.rs @@ -9,7 +9,7 @@ use xcm::{latest::prelude::*, DoubleEncoded}; use pallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight; use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; -/// Types of asset supported by the westend runtime. +/// Types of asset supported by the westend runtime. pub enum AssetTypes { /// An asset backed by `pallet-balances`. Balances, diff --git a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs index b4a989f4ecd4..b93184e0455d 100644 --- a/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs +++ b/xcm/pallet-xcm-benchmarks/src/fungible/benchmarking.rs @@ -192,7 +192,7 @@ benchmarks_instance_pallet! { holding.subsume(asset.clone()); // Checked account starts at zero - assert!(T::CheckedAccount::get().map_or(true, |c| T::TransactAsset::balance(&c).is_zero()); + assert!(T::CheckedAccount::get().map_or(true, |c| T::TransactAsset::balance(&c).is_zero())); let mut executor = new_executor::(Default::default()); executor.holding = holding; From 161906f1fe537e6579c4e25caeba7552056cbc00 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Sun, 26 Sep 2021 23:16:57 -0400 Subject: [PATCH 22/24] update weight --- .../xcm/pallet_xcm_benchmarks_generic.rs | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs index d4831fd545ae..c326cea4c7fc 100644 --- a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -5,65 +5,65 @@ use frame_support::dispatch::Weight; pub struct WeightInfo(sp_std::marker::PhantomData); impl WeightInfo { pub fn query_holding() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn buy_execution() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn transact() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn reserve_asset_deposited() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn hrmp_new_channel_open_request() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn hrmp_channel_accepted() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn hrmp_channel_closing() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn relayed_from() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn refund_surplus() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn set_error_handler() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn set_appendix() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn clear_error() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn claim_asset(_assets: &crate::MultiAssets) -> Weight { - 10_000_000 + 1_000_000_000 } pub fn trap(_code: &u64) -> Weight { - 10_000_000 + 1_000_000_000 } pub fn subscribe_version() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn unsubscribe_version() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn clear_origin() -> Weight { - 10_000_000 + 1_000_000_000 } pub fn descend_origin(_who: &crate::InteriorMultiLocation) -> Weight { - 10_000_000 + 1_000_000_000 } pub fn initiate_reserve_withdraw() -> Weight { - 10_000_000 + 1_000_000_000 } } From 3f394c07dc264e77a8392add1ea92f64d3f66ae8 Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Sun, 26 Sep 2021 23:30:02 -0400 Subject: [PATCH 23/24] fix report_error --- runtime/westend/src/weights/xcm/mod.rs | 4 ++-- .../westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/westend/src/weights/xcm/mod.rs b/runtime/westend/src/weights/xcm/mod.rs index c52b3ec19c5c..1b0d7c1ef485 100644 --- a/runtime/westend/src/weights/xcm/mod.rs +++ b/runtime/westend/src/weights/xcm/mod.rs @@ -115,9 +115,9 @@ impl XcmWeightInfo for WestendXcmWeight { fn report_error( _query_id: &QueryId, _dest: &MultiLocation, - max_response_weight: &u64, + _max_response_weight: &u64, ) -> Weight { - *max_response_weight + XcmGeneric::::report_error() } fn relayed_from(_who: &Junctions, _message: &Box>) -> Weight { XcmGeneric::::relayed_from() diff --git a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs index c326cea4c7fc..5c8626f0b22a 100644 --- a/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ b/runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -66,4 +66,8 @@ impl WeightInfo { pub fn initiate_reserve_withdraw() -> Weight { 1_000_000_000 } + + pub fn report_error() -> Weight { + 1_000_000_000 + } } From 7b47f5c2b30f1017fb5f18e022fdc126b78411ab Mon Sep 17 00:00:00 2001 From: Shawn Tabrizi Date: Sun, 26 Sep 2021 23:55:29 -0400 Subject: [PATCH 24/24] fix spell check --- runtime/polkadot/src/weights/runtime_common_crowdloan.rs | 2 +- runtime/polkadot/src/weights/runtime_common_paras_registrar.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/polkadot/src/weights/runtime_common_crowdloan.rs b/runtime/polkadot/src/weights/runtime_common_crowdloan.rs index e69442c8a884..7929c8c16754 100644 --- a/runtime/polkadot/src/weights/runtime_common_crowdloan.rs +++ b/runtime/polkadot/src/weights/runtime_common_crowdloan.rs @@ -41,7 +41,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weight functions for runtime_common::crowdloan. +/// Weight functions for `runtime_common::crowdloan`. pub struct WeightInfo(PhantomData); impl runtime_common::crowdloan::WeightInfo for WeightInfo { // Storage: Crowdloan Funds (r:1 w:1) diff --git a/runtime/polkadot/src/weights/runtime_common_paras_registrar.rs b/runtime/polkadot/src/weights/runtime_common_paras_registrar.rs index 8dfc9409741c..84d3a89e92d0 100644 --- a/runtime/polkadot/src/weights/runtime_common_paras_registrar.rs +++ b/runtime/polkadot/src/weights/runtime_common_paras_registrar.rs @@ -41,7 +41,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weight functions for runtime_common::paras_registrar. +/// Weight functions for `runtime_common::paras_registrar`. pub struct WeightInfo(PhantomData); impl runtime_common::paras_registrar::WeightInfo for WeightInfo { // Storage: Registrar NextFreeParaId (r:1 w:1)