diff --git a/Cargo.lock b/Cargo.lock index b89b017b44f..bf7a1e5c2f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -451,7 +451,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "beefy-primitives", @@ -487,7 +487,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -507,7 +507,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "beefy-primitives", "sp-api", @@ -516,7 +516,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -2786,7 +2786,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", ] @@ -2804,7 +2804,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -2827,7 +2827,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "Inflector", "chrono", @@ -2878,7 +2878,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2889,7 +2889,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2905,10 +2905,11 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", + "frame-try-runtime", "parity-scale-codec", "scale-info", "sp-core", @@ -2933,7 +2934,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "bitflags", "frame-metadata", @@ -2964,7 +2965,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "Inflector", "cfg-expr", @@ -2978,7 +2979,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2990,7 +2991,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro2", "quote", @@ -3000,7 +3001,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "log", @@ -3017,7 +3018,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -3032,7 +3033,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "sp-api", @@ -3041,9 +3042,10 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", + "parity-scale-codec", "sp-api", "sp-runtime", "sp-std", @@ -3915,7 +3917,7 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "kusama-runtime" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-primitives", "bitvec", @@ -4008,7 +4010,7 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "polkadot-primitives", @@ -5367,7 +5369,7 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "orchestra" version = "0.0.1" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "dyn-clonable", @@ -5383,7 +5385,7 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" version = "0.0.1" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "expander 0.0.6", "itertools", @@ -5421,7 +5423,7 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5442,7 +5444,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -5459,7 +5461,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5473,7 +5475,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -5489,7 +5491,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -5505,7 +5507,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -5520,7 +5522,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5544,7 +5546,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5564,7 +5566,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5579,7 +5581,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "beefy-primitives", "frame-support", @@ -5595,7 +5597,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -5618,7 +5620,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5636,7 +5638,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5681,7 +5683,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5698,7 +5700,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "bitflags", "frame-benchmarking", @@ -5726,7 +5728,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "bitflags", "parity-scale-codec", @@ -5741,7 +5743,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro2", "quote", @@ -5751,7 +5753,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "jsonrpsee", "pallet-contracts-primitives", @@ -5768,7 +5770,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -5781,7 +5783,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5797,7 +5799,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5820,7 +5822,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5833,7 +5835,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5851,7 +5853,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5866,7 +5868,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5889,7 +5891,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5905,7 +5907,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5925,7 +5927,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5942,7 +5944,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5959,7 +5961,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -5977,7 +5979,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -5992,7 +5994,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6007,7 +6009,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6024,7 +6026,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6043,7 +6045,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "sp-api", @@ -6053,7 +6055,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6070,7 +6072,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6093,7 +6095,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6109,7 +6111,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6124,7 +6126,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6138,7 +6140,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6153,7 +6155,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6169,7 +6171,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6190,7 +6192,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6206,7 +6208,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6220,7 +6222,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6243,7 +6245,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6254,7 +6256,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "sp-arithmetic", @@ -6263,7 +6265,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6292,7 +6294,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6310,7 +6312,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6329,7 +6331,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-support", "frame-system", @@ -6345,7 +6347,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6360,7 +6362,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6371,7 +6373,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6388,7 +6390,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6403,7 +6405,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6419,7 +6421,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6434,7 +6436,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "frame-system", @@ -6452,7 +6454,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7010,7 +7012,7 @@ dependencies = [ [[package]] name = "polkadot-approval-distribution" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -7025,7 +7027,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -7039,7 +7041,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "derive_more", "fatality", @@ -7062,7 +7064,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "fatality", "futures", @@ -7083,7 +7085,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "clap 3.2.19", "frame-benchmarking-cli", @@ -7109,7 +7111,7 @@ dependencies = [ [[package]] name = "polkadot-client" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-primitives", "frame-benchmarking", @@ -7150,7 +7152,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "always-assert", "fatality", @@ -7171,7 +7173,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "parity-scale-codec", "parity-util-mem", @@ -7184,7 +7186,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "derive_more", "fatality", @@ -7207,7 +7209,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -7221,7 +7223,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "futures-timer", @@ -7241,7 +7243,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "always-assert", "async-trait", @@ -7265,7 +7267,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "parity-scale-codec", @@ -7283,7 +7285,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bitvec", "derive_more", @@ -7312,7 +7314,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bitvec", "futures", @@ -7332,7 +7334,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bitvec", "fatality", @@ -7351,7 +7353,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "polkadot-node-subsystem", @@ -7366,7 +7368,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "futures", @@ -7384,7 +7386,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "polkadot-node-subsystem", @@ -7399,7 +7401,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "futures-timer", @@ -7416,7 +7418,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "fatality", "futures", @@ -7435,7 +7437,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "futures", @@ -7452,7 +7454,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bitvec", "fatality", @@ -7470,7 +7472,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "always-assert", "assert_matches", @@ -7502,7 +7504,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "polkadot-node-primitives", @@ -7518,7 +7520,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "futures", "memory-lru", @@ -7534,7 +7536,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-std", "lazy_static", @@ -7552,7 +7554,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bs58", "futures", @@ -7571,7 +7573,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "derive_more", @@ -7593,7 +7595,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bounded-vec", "futures", @@ -7615,7 +7617,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -7625,7 +7627,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-test-helpers" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "futures", @@ -7643,7 +7645,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "derive_more", @@ -7666,7 +7668,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "derive_more", @@ -7699,7 +7701,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "futures", @@ -7722,7 +7724,7 @@ dependencies = [ [[package]] name = "polkadot-parachain" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "derive_more", "frame-support", @@ -7822,7 +7824,7 @@ dependencies = [ [[package]] name = "polkadot-performance-test" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "env_logger 0.9.0", "kusama-runtime", @@ -7837,7 +7839,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bitvec", "frame-system", @@ -7867,7 +7869,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -7899,7 +7901,7 @@ dependencies = [ [[package]] name = "polkadot-runtime" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-primitives", "bitvec", @@ -7987,7 +7989,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-primitives", "bitvec", @@ -8034,7 +8036,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "polkadot-primitives", @@ -8046,7 +8048,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bs58", "parity-scale-codec", @@ -8058,7 +8060,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "bitflags", "bitvec", @@ -8101,7 +8103,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "async-trait", "beefy-gadget", @@ -8206,7 +8208,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -8227,7 +8229,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -8237,7 +8239,7 @@ dependencies = [ [[package]] name = "polkadot-test-client" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "parity-scale-codec", "polkadot-node-subsystem", @@ -8262,7 +8264,7 @@ dependencies = [ [[package]] name = "polkadot-test-runtime" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-primitives", "bitvec", @@ -8323,7 +8325,7 @@ dependencies = [ [[package]] name = "polkadot-test-service" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-benchmarking", "frame-system", @@ -8468,7 +8470,7 @@ dependencies = [ [[package]] name = "prioritized-metered-channel" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "coarsetime", "crossbeam-queue", @@ -8912,7 +8914,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "env_logger 0.9.0", "jsonrpsee", @@ -9034,7 +9036,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -9103,7 +9105,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "polkadot-primitives", @@ -9287,7 +9289,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "sp-core", @@ -9298,8 +9300,9 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ + "async-trait", "futures", "futures-timer", "ip_network", @@ -9324,7 +9327,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "futures-timer", @@ -9347,7 +9350,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -9363,7 +9366,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.0", @@ -9380,7 +9383,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9391,7 +9394,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "chrono", "clap 3.2.19", @@ -9430,7 +9433,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "fnv", "futures", @@ -9458,7 +9461,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "hash-db", "kvdb", @@ -9483,7 +9486,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures", @@ -9507,7 +9510,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures", @@ -9536,7 +9539,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "fork-tree", @@ -9578,7 +9581,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "jsonrpsee", @@ -9600,7 +9603,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "fork-tree", "parity-scale-codec", @@ -9613,7 +9616,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures", @@ -9638,7 +9641,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "lazy_static", "lru 0.7.7", @@ -9665,7 +9668,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "environmental", "parity-scale-codec", @@ -9681,7 +9684,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "parity-scale-codec", @@ -9696,7 +9699,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "cfg-if 1.0.0", "libc", @@ -9717,7 +9720,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ahash", "async-trait", @@ -9758,7 +9761,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "finality-grandpa", "futures", @@ -9779,7 +9782,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ansi_term", "futures", @@ -9796,7 +9799,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "hex", @@ -9811,7 +9814,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "asynchronous-codec", @@ -9860,7 +9863,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "bitflags", @@ -9873,6 +9876,7 @@ dependencies = [ "sc-peerset", "serde", "smallvec", + "sp-blockchain", "sp-consensus", "sp-finality-grandpa", "sp-runtime", @@ -9882,7 +9886,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ahash", "futures", @@ -9900,7 +9904,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "hex", @@ -9921,7 +9925,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "fork-tree", "futures", @@ -9949,7 +9953,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "bytes", "fnv", @@ -9979,7 +9983,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "libp2p", @@ -9992,7 +9996,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -10001,7 +10005,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "hash-db", @@ -10031,7 +10035,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "jsonrpsee", @@ -10054,7 +10058,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "jsonrpsee", @@ -10067,7 +10071,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "directories", @@ -10134,7 +10138,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "parity-scale-codec", @@ -10148,7 +10152,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10167,7 +10171,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "libc", @@ -10186,7 +10190,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "chrono", "futures", @@ -10204,7 +10208,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ansi_term", "atty", @@ -10235,7 +10239,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -10246,7 +10250,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "futures-timer", @@ -10272,7 +10276,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "log", @@ -10285,7 +10289,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "futures-timer", @@ -10732,7 +10736,7 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" [[package]] name = "slot-range-helper" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "enumn", "parity-scale-codec", @@ -10808,7 +10812,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "hash-db", "log", @@ -10826,7 +10830,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "blake2", "proc-macro-crate", @@ -10838,7 +10842,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10851,7 +10855,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "integer-sqrt", "num-traits", @@ -10866,7 +10870,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10879,7 +10883,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "parity-scale-codec", @@ -10891,7 +10895,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "sp-api", @@ -10903,7 +10907,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "log", @@ -10921,7 +10925,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures", @@ -10940,7 +10944,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "parity-scale-codec", @@ -10958,7 +10962,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "merlin", @@ -10981,7 +10985,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10995,7 +10999,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -11008,7 +11012,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "base58", "bitflags", @@ -11054,7 +11058,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "blake2", "byteorder", @@ -11068,7 +11072,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro2", "quote", @@ -11079,7 +11083,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -11088,7 +11092,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro2", "quote", @@ -11098,7 +11102,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "environmental", "parity-scale-codec", @@ -11109,7 +11113,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "finality-grandpa", "log", @@ -11127,7 +11131,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11141,7 +11145,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "bytes", "futures", @@ -11167,7 +11171,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "lazy_static", "sp-core", @@ -11178,7 +11182,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures", @@ -11195,7 +11199,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "thiserror", "zstd", @@ -11204,7 +11208,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "parity-scale-codec", @@ -11219,7 +11223,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -11233,7 +11237,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "sp-api", "sp-core", @@ -11243,7 +11247,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "backtrace", "lazy_static", @@ -11253,7 +11257,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "rustc-hash", "serde", @@ -11263,7 +11267,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "either", "hash256-std-hasher", @@ -11285,7 +11289,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11303,7 +11307,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "Inflector", "proc-macro-crate", @@ -11315,7 +11319,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "parity-scale-codec", @@ -11329,7 +11333,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "serde", "serde_json", @@ -11338,7 +11342,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -11352,7 +11356,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "scale-info", @@ -11363,7 +11367,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "hash-db", "log", @@ -11385,12 +11389,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11403,7 +11407,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "log", "sp-core", @@ -11416,7 +11420,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures-timer", @@ -11432,7 +11436,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "sp-std", @@ -11444,7 +11448,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "sp-api", "sp-runtime", @@ -11453,7 +11457,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "log", @@ -11469,7 +11473,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ahash", "hash-db", @@ -11492,7 +11496,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11509,7 +11513,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -11520,7 +11524,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "impl-trait-for-tuples", "log", @@ -11597,6 +11601,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-xcm", + "pallet-xcm-benchmarks", "parachain-info", "parachains-common", "parity-scale-codec", @@ -11663,6 +11668,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-xcm", + "pallet-xcm-benchmarks", "parachain-info", "parachains-common", "parity-scale-codec", @@ -11779,7 +11785,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "platforms", ] @@ -11787,7 +11793,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -11808,7 +11814,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures-util", "hyper", @@ -11821,7 +11827,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "jsonrpsee", "log", @@ -11842,7 +11848,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "async-trait", "futures", @@ -11868,7 +11874,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "futures", "substrate-test-utils-derive", @@ -11878,7 +11884,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -11889,7 +11895,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "ansi_term", "build-helper", @@ -11997,7 +12003,7 @@ checksum = "13a4ec180a2de59b57434704ccfad967f789b12737738798fa08798cd5824c16" [[package]] name = "test-runtime-constants" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "polkadot-primitives", @@ -12286,7 +12292,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -12297,7 +12303,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -12424,9 +12430,10 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#0246883c404d498090f33e795feb8075fa8d3b6b" +source = "git+https://github.com/paritytech/substrate?branch=master#ed12e6065c505a5225e2156985a75d1fb75fa0a4" dependencies = [ "clap 3.2.19", + "frame-try-runtime", "jsonrpsee", "log", "parity-scale-codec", @@ -13002,7 +13009,7 @@ dependencies = [ [[package]] name = "westend-runtime" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "beefy-primitives", "bitvec", @@ -13091,7 +13098,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "polkadot-primitives", @@ -13139,6 +13146,7 @@ dependencies = [ "pallet-uniques", "pallet-utility", "pallet-xcm", + "pallet-xcm-benchmarks", "parachain-info", "parachains-common", "parity-scale-codec", @@ -13376,7 +13384,7 @@ dependencies = [ [[package]] name = "xcm" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -13390,7 +13398,7 @@ dependencies = [ [[package]] name = "xcm-builder" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-support", "frame-system", @@ -13410,7 +13418,7 @@ dependencies = [ [[package]] name = "xcm-executor" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "frame-benchmarking", "frame-support", @@ -13428,7 +13436,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "0.9.28" -source = "git+https://github.com/paritytech/polkadot?branch=master#2eb7672905d99971fc11ad7ff4d57e68967401d2" +source = "git+https://github.com/paritytech/polkadot?branch=master#de9e147695b9f1be8bd44e07861a31e483c8343a" dependencies = [ "Inflector", "proc-macro2", diff --git a/pallets/aura-ext/Cargo.toml b/pallets/aura-ext/Cargo.toml index 30f5214a926..593ad831387 100644 --- a/pallets/aura-ext/Cargo.toml +++ b/pallets/aura-ext/Cargo.toml @@ -40,3 +40,4 @@ std = [ "sp-runtime/std", "sp-std/std", ] +try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/collator-selection/src/weights.rs b/pallets/collator-selection/src/weights.rs index fa99567734f..95c53b26769 100644 --- a/pallets/collator-selection/src/weights.rs +++ b/pallets/collator-selection/src/weights.rs @@ -42,8 +42,7 @@ impl WeightInfo for SubstrateWeight { Weight::from_ref_time(18_563_000 as RefTimeWeight) // Standard Error: 0 .saturating_add( - Weight::from_ref_time(68_000 as RefTimeWeight) - .scalar_saturating_mul(b as RefTimeWeight), + Weight::from_ref_time(68_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight), ) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -59,8 +58,7 @@ impl WeightInfo for SubstrateWeight { Weight::from_ref_time(71_196_000 as RefTimeWeight) // Standard Error: 0 .saturating_add( - Weight::from_ref_time(198_000 as RefTimeWeight) - .scalar_saturating_mul(c as RefTimeWeight), + Weight::from_ref_time(198_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight), ) .saturating_add(T::DbWeight::get().reads(4 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) @@ -69,8 +67,7 @@ impl WeightInfo for SubstrateWeight { Weight::from_ref_time(55_336_000 as RefTimeWeight) // Standard Error: 0 .saturating_add( - Weight::from_ref_time(151_000 as RefTimeWeight) - .scalar_saturating_mul(c as RefTimeWeight), + Weight::from_ref_time(151_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight), ) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) @@ -85,12 +82,12 @@ impl WeightInfo for SubstrateWeight { // Standard Error: 1_010_000 .saturating_add( Weight::from_ref_time(109_961_000 as RefTimeWeight) - .scalar_saturating_mul(r as RefTimeWeight), + .saturating_mul(r as RefTimeWeight), ) // Standard Error: 1_010_000 .saturating_add( Weight::from_ref_time(151_952_000 as RefTimeWeight) - .scalar_saturating_mul(c as RefTimeWeight), + .saturating_mul(c as RefTimeWeight), ) .saturating_add( T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(r as RefTimeWeight)), @@ -113,8 +110,7 @@ impl WeightInfo for () { Weight::from_ref_time(18_563_000 as RefTimeWeight) // Standard Error: 0 .saturating_add( - Weight::from_ref_time(68_000 as RefTimeWeight) - .scalar_saturating_mul(b as RefTimeWeight), + Weight::from_ref_time(68_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight), ) .saturating_add(RocksDbWeight::get().writes(1 as RefTimeWeight)) } @@ -130,8 +126,7 @@ impl WeightInfo for () { Weight::from_ref_time(71_196_000 as RefTimeWeight) // Standard Error: 0 .saturating_add( - Weight::from_ref_time(198_000 as RefTimeWeight) - .scalar_saturating_mul(c as RefTimeWeight), + Weight::from_ref_time(198_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight), ) .saturating_add(RocksDbWeight::get().reads(4 as RefTimeWeight)) .saturating_add(RocksDbWeight::get().writes(2 as RefTimeWeight)) @@ -140,8 +135,7 @@ impl WeightInfo for () { Weight::from_ref_time(55_336_000 as RefTimeWeight) // Standard Error: 0 .saturating_add( - Weight::from_ref_time(151_000 as RefTimeWeight) - .scalar_saturating_mul(c as RefTimeWeight), + Weight::from_ref_time(151_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight), ) .saturating_add(RocksDbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(RocksDbWeight::get().writes(2 as RefTimeWeight)) @@ -156,12 +150,12 @@ impl WeightInfo for () { // Standard Error: 1_010_000 .saturating_add( Weight::from_ref_time(109_961_000 as RefTimeWeight) - .scalar_saturating_mul(r as RefTimeWeight), + .saturating_mul(r as RefTimeWeight), ) // Standard Error: 1_010_000 .saturating_add( Weight::from_ref_time(151_952_000 as RefTimeWeight) - .scalar_saturating_mul(c as RefTimeWeight), + .saturating_mul(c as RefTimeWeight), ) .saturating_add( RocksDbWeight::get().reads((1 as RefTimeWeight).saturating_mul(r as RefTimeWeight)), diff --git a/pallets/dmp-queue/Cargo.toml b/pallets/dmp-queue/Cargo.toml index 846bf801ca5..9c199f3d9f4 100644 --- a/pallets/dmp-queue/Cargo.toml +++ b/pallets/dmp-queue/Cargo.toml @@ -42,3 +42,4 @@ std = [ "xcm/std", "cumulus-primitives-core/std", ] +try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/dmp-queue/src/lib.rs b/pallets/dmp-queue/src/lib.rs index 838368b76df..842db97fd57 100644 --- a/pallets/dmp-queue/src/lib.rs +++ b/pallets/dmp-queue/src/lib.rs @@ -43,7 +43,7 @@ pub struct ConfigData { impl Default for ConfigData { fn default() -> Self { Self { - max_individual: 10 * WEIGHT_PER_MILLIS, // 10 ms of execution time maximum by default + max_individual: 10u64 * WEIGHT_PER_MILLIS, // 10 ms of execution time maximum by default } } } @@ -189,7 +189,7 @@ pub mod pallet { /// Exactly equivalent to `service_queue` but expects a mutable `page_index` to be passed /// in and any changes stored. fn do_service_queue(limit: Weight, page_index: &mut PageIndexData) -> Weight { - let mut used = Weight::new(); + let mut used = Weight::zero(); while page_index.begin_used < page_index.end_used { let page = Pages::::take(page_index.begin_used); for (i, &(sent_at, ref data)) in page.iter().enumerate() { diff --git a/pallets/parachain-system/Cargo.toml b/pallets/parachain-system/Cargo.toml index 16fdfe1af90..15f4be3dabe 100644 --- a/pallets/parachain-system/Cargo.toml +++ b/pallets/parachain-system/Cargo.toml @@ -78,3 +78,5 @@ std = [ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks" ] + +try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/parachain-system/src/lib.rs b/pallets/parachain-system/src/lib.rs index f897d5943bc..ee2564b2fa5 100644 --- a/pallets/parachain-system/src/lib.rs +++ b/pallets/parachain-system/src/lib.rs @@ -269,7 +269,7 @@ pub mod pallet { } fn on_initialize(_n: T::BlockNumber) -> Weight { - let mut weight = Weight::new(); + let mut weight = Weight::zero(); // To prevent removing `NewValidationCode` that was set by another `on_initialize` // like for example from scheduler, we only kill the storage entry if it was not yet @@ -808,7 +808,7 @@ impl Pallet { let dm_count = downward_messages.len() as u32; let mut dmq_head = >::get(); - let mut weight_used = Weight::new(); + let mut weight_used = Weight::zero(); if dm_count != 0 { Self::deposit_event(Event::DownwardMessagesReceived { count: dm_count }); let max_weight = diff --git a/pallets/parachain-system/src/migration.rs b/pallets/parachain-system/src/migration.rs index 4826ec741dd..f5eff920ae1 100644 --- a/pallets/parachain-system/src/migration.rs +++ b/pallets/parachain-system/src/migration.rs @@ -25,7 +25,7 @@ pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); /// Call this during the next runtime upgrade for this module. pub fn on_runtime_upgrade() -> Weight { - let mut weight: Weight = Weight::new(); + let mut weight: Weight = Weight::zero(); if StorageVersion::get::>() == 0 { weight = weight diff --git a/pallets/solo-to-para/Cargo.toml b/pallets/solo-to-para/Cargo.toml index 6a234f49b89..298699ae158 100644 --- a/pallets/solo-to-para/Cargo.toml +++ b/pallets/solo-to-para/Cargo.toml @@ -37,3 +37,4 @@ std = [ "sp-runtime/std", "sp-std/std", ] +try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/xcm/Cargo.toml b/pallets/xcm/Cargo.toml index 6ea825c07fc..16f57d81abf 100644 --- a/pallets/xcm/Cargo.toml +++ b/pallets/xcm/Cargo.toml @@ -31,3 +31,4 @@ std = [ "frame-support/std", "frame-system/std", ] +try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/xcm/src/lib.rs b/pallets/xcm/src/lib.rs index d33e3c669d0..f3adaae3db0 100644 --- a/pallets/xcm/src/lib.rs +++ b/pallets/xcm/src/lib.rs @@ -111,7 +111,7 @@ impl DmpMessageHandler for UnlimitedDmpExecution { iter: impl Iterator)>, limit: Weight, ) -> Weight { - let mut used = Weight::new(); + let mut used = Weight::zero(); for (_sent_at, data) in iter { let id = sp_io::hashing::twox_64(&data[..]); let msg = VersionedXcm::::decode_all_with_depth_limit( @@ -144,7 +144,7 @@ impl DmpMessageHandler for LimitAndDropDmpExecution { iter: impl Iterator)>, limit: Weight, ) -> Weight { - let mut used = Weight::new(); + let mut used = Weight::zero(); for (_sent_at, data) in iter { let id = sp_io::hashing::twox_64(&data[..]); let msg = VersionedXcm::::decode_all_with_depth_limit( diff --git a/pallets/xcmp-queue/Cargo.toml b/pallets/xcmp-queue/Cargo.toml index 06df5006707..0d4f83757ac 100644 --- a/pallets/xcmp-queue/Cargo.toml +++ b/pallets/xcmp-queue/Cargo.toml @@ -59,3 +59,4 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", ] +try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/xcmp-queue/src/lib.rs b/pallets/xcmp-queue/src/lib.rs index 85e1ea7cfea..f19f40cb691 100644 --- a/pallets/xcmp-queue/src/lib.rs +++ b/pallets/xcmp-queue/src/lib.rs @@ -451,7 +451,7 @@ impl Default for QueueConfigData { resume_threshold: 1, threshold_weight: Weight::from_ref_time(100_000), weight_restrict_decay: Weight::from_ref_time(2), - xcmp_max_individual_weight: 20 * WEIGHT_PER_MILLIS, + xcmp_max_individual_weight: 20u64 * WEIGHT_PER_MILLIS, } } } @@ -795,8 +795,8 @@ impl Pallet { } = >::get(); let mut shuffled = Self::create_shuffle(status.len()); - let mut weight_used = Weight::new(); - let mut weight_available = Weight::new(); + let mut weight_used = Weight::zero(); + let mut weight_available = Weight::zero(); // We don't want the possibility of a chain sending a series of really heavy messages and // tying up the block's execution time from other chains. Therefore we execute any remaining diff --git a/pallets/xcmp-queue/src/migration.rs b/pallets/xcmp-queue/src/migration.rs index 77da447e8d1..bedd5ffd6ea 100644 --- a/pallets/xcmp-queue/src/migration.rs +++ b/pallets/xcmp-queue/src/migration.rs @@ -25,7 +25,7 @@ pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); /// Migrates the pallet storage to the most recent version, checking and setting the /// `StorageVersion`. pub fn migrate_to_latest() -> Weight { - let mut weight = Weight::new(); + let mut weight = Weight::zero(); if StorageVersion::get::>() == 0 { weight += migrate_to_v1::(); @@ -103,7 +103,7 @@ mod tests { drop_threshold: 12, resume_threshold: 3, threshold_weight: Weight::from_ref_time(333_333), - weight_restrict_decay: Weight::one(), + weight_restrict_decay: Weight::from_ref_time(1), }; new_test_ext().execute_with(|| { diff --git a/pallets/xcmp-queue/src/tests.rs b/pallets/xcmp-queue/src/tests.rs index de0ab7e6126..d3660ffe22b 100644 --- a/pallets/xcmp-queue/src/tests.rs +++ b/pallets/xcmp-queue/src/tests.rs @@ -225,17 +225,20 @@ fn update_weight_restrict_decay_works() { fn update_xcmp_max_individual_weight() { new_test_ext().execute_with(|| { let data: QueueConfigData = >::get(); - assert_eq!(data.xcmp_max_individual_weight, 20 * WEIGHT_PER_MILLIS); + assert_eq!(data.xcmp_max_individual_weight, 20u64 * WEIGHT_PER_MILLIS); assert_ok!(XcmpQueue::update_xcmp_max_individual_weight( Origin::root(), - 30 * WEIGHT_PER_MILLIS + 30u64 * WEIGHT_PER_MILLIS )); assert_noop!( - XcmpQueue::update_xcmp_max_individual_weight(Origin::signed(3), 10 * WEIGHT_PER_MILLIS), + XcmpQueue::update_xcmp_max_individual_weight( + Origin::signed(3), + 10u64 * WEIGHT_PER_MILLIS + ), BadOrigin ); let data: QueueConfigData = >::get(); - assert_eq!(data.xcmp_max_individual_weight, 30 * WEIGHT_PER_MILLIS); + assert_eq!(data.xcmp_max_individual_weight, 30u64 * WEIGHT_PER_MILLIS); }); } diff --git a/parachain-template/runtime/Cargo.toml b/parachain-template/runtime/Cargo.toml index 12d25abbe1d..145c09fcc34 100644 --- a/parachain-template/runtime/Cargo.toml +++ b/parachain-template/runtime/Cargo.toml @@ -145,6 +145,23 @@ runtime-benchmarks = [ ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-session/try-runtime", + "pallet-sudo/try-runtime", + "pallet-template/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] diff --git a/parachain-template/runtime/src/lib.rs b/parachain-template/runtime/src/lib.rs index dee56fea42c..bd56bcac635 100644 --- a/parachain-template/runtime/src/lib.rs +++ b/parachain-template/runtime/src/lib.rs @@ -214,7 +214,7 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(5); const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 of a second of compute with a 12 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); /// The version information used to identify this runtime when compiled natively. #[cfg(feature = "std")] @@ -363,8 +363,8 @@ impl pallet_transaction_payment::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -644,8 +644,15 @@ impl_runtime_apis! { (weight, RuntimeBlockWeights::get().max_block) } - fn execute_block_no_check(block: Block) -> Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::parachain-template", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } diff --git a/parachain-template/runtime/src/weights/block_weights.rs b/parachain-template/runtime/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachain-template/runtime/src/weights/block_weights.rs +++ b/parachain-template/runtime/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachain-template/runtime/src/weights/extrinsic_weights.rs b/parachain-template/runtime/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachain-template/runtime/src/weights/extrinsic_weights.rs +++ b/parachain-template/runtime/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/common/src/lib.rs b/parachains/common/src/lib.rs index 61a511fb965..478e405e79d 100644 --- a/parachains/common/src/lib.rs +++ b/parachains/common/src/lib.rs @@ -92,7 +92,7 @@ mod constants { pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 6 second average block time. - pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); + pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); } /// Opaque types. These are used by the CLI to instantiate machinery that don't need to know diff --git a/parachains/pallets/parachain-info/Cargo.toml b/parachains/pallets/parachain-info/Cargo.toml index 3544ba4f795..0fa54dcc721 100644 --- a/parachains/pallets/parachain-info/Cargo.toml +++ b/parachains/pallets/parachain-info/Cargo.toml @@ -24,3 +24,4 @@ std = [ "frame-support/std", "frame-system/std", ] +try-runtime = ["frame-support/try-runtime"] diff --git a/parachains/runtimes/assets/statemine/Cargo.toml b/parachains/runtimes/assets/statemine/Cargo.toml index 78f540c2796..a6313d4d274 100644 --- a/parachains/runtimes/assets/statemine/Cargo.toml +++ b/parachains/runtimes/assets/statemine/Cargo.toml @@ -71,6 +71,7 @@ cumulus-primitives-utility = { path = "../../../../primitives/utility", default- pallet-collator-selection = { path = "../../../../pallets/collator-selection", default-features = false } parachain-info = { path = "../../../pallets/parachain-info", default-features = false } parachains-common = { path = "../../../common", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot", branch = "master", default-features = false, optional = true } [dev-dependencies] @@ -101,10 +102,32 @@ runtime-benchmarks = [ "cumulus-pallet-session-benchmarking/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "pallet-xcm-benchmarks", ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-asset-tx-payment/try-runtime", + "pallet-assets/try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-multisig/try-runtime", + "pallet-proxy/try-runtime", + "pallet-session/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-uniques/try-runtime", + "pallet-utility/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] std = [ "codec/std", diff --git a/parachains/runtimes/assets/statemine/src/lib.rs b/parachains/runtimes/assets/statemine/src/lib.rs index ebb7bd00d5d..ac03932a612 100644 --- a/parachains/runtimes/assets/statemine/src/lib.rs +++ b/parachains/runtimes/assets/statemine/src/lib.rs @@ -407,8 +407,8 @@ impl pallet_proxy::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -638,6 +638,10 @@ mod benches { [pallet_timestamp, Timestamp] [pallet_collator_selection, CollatorSelection] [cumulus_pallet_xcmp_queue, XcmpQueue] + // XCM + // NOTE: Make sure you point to the individual modules below. + [pallet_xcm_benchmarks::fungible, XcmBalances] + [pallet_xcm_benchmarks::generic, XcmGeneric] ); } @@ -773,8 +777,15 @@ impl_runtime_apis! { (weight, RuntimeBlockWeights::get().max_block) } - fn execute_block_no_check(block: Block) -> Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::statemine", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } @@ -789,6 +800,12 @@ impl_runtime_apis! { use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + // This is defined once again in dispatch_benchmark, because list_benchmarks! + // and add_benchmarks! are macros exported by define_benchmarks! macros and those types + // are referenced in that call. + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; + let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -799,7 +816,8 @@ impl_runtime_apis! { fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, BenchmarkError, + TrackedStorageKey}; use frame_system_benchmarking::Pallet as SystemBench; impl frame_system_benchmarking::Config for Runtime {} @@ -807,6 +825,95 @@ impl_runtime_apis! { use cumulus_pallet_session_benchmarking::Pallet as SessionBench; impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use xcm::latest::prelude::*; + use xcm_config::KsmLocation; + use pallet_xcm_benchmarks::asset_instance_from; + + impl pallet_xcm_benchmarks::Config for Runtime { + type XcmConfig = xcm_config::XcmConfig; + type AccountIdConverter = xcm_config::LocationToAccountId; + fn valid_destination() -> Result { + Ok(KsmLocation::get()) + } + fn worst_case_holding() -> MultiAssets { + // A mix of fungible, non-fungible, and concrete assets. + const HOLDING_FUNGIBLES: u32 = 100; + const HOLDING_NON_FUNGIBLES: u32 = 100; + let fungibles_amount: u128 = 100; + let mut assets = (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::>(); + + assets.push(MultiAsset{ + id: Concrete(KsmLocation::get()), + fun: Fungible(1_000_000 * UNITS), + }); + assets.into() + } + } + + parameter_types! { + pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some(( + KsmLocation::get(), + MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(KsmLocation::get()) }, + )); + pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None; + pub const CheckedAccount: Option = None; + + } + + impl pallet_xcm_benchmarks::fungible::Config for Runtime { + type TransactAsset = Balances; + + type CheckedAccount = CheckedAccount; + type TrustedTeleporter = TrustedTeleporter; + type TrustedReserve = TrustedReserve; + + fn get_multi_asset() -> MultiAsset { + MultiAsset { + id: Concrete(KsmLocation::get()), + fun: Fungible(1 * UNITS), + } + } + } + + impl pallet_xcm_benchmarks::generic::Config for Runtime { + type Call = Call; + + fn worst_case_response() -> (u64, Response) { + (0u64, Response::Version(Default::default())) + } + + fn transact_origin() -> Result { + Ok(KsmLocation::get()) + } + + fn subscribe_origin() -> Result { + Ok(KsmLocation::get()) + } + + fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> { + let origin = KsmLocation::get(); + let assets: MultiAssets = (Concrete(KsmLocation::get()), 1_000 * UNITS).into(); + let ticket = MultiLocation { parents: 0, interior: Here }; + Ok((origin, ticket, assets)) + } + } + + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), @@ -818,13 +925,14 @@ impl_runtime_apis! { hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), // System Events hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + //TODO: use from relay_well_known_keys::ACTIVE_CONFIG + hex_literal::hex!("06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(), ]; let mut batches = Vec::::new(); let params = (&config, &whitelist); add_benchmarks!(params, batches); - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) } } diff --git a/parachains/runtimes/assets/statemine/src/weights/block_weights.rs b/parachains/runtimes/assets/statemine/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachains/runtimes/assets/statemine/src/weights/block_weights.rs +++ b/parachains/runtimes/assets/statemine/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachains/runtimes/assets/statemine/src/weights/extrinsic_weights.rs b/parachains/runtimes/assets/statemine/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachains/runtimes/assets/statemine/src/weights/extrinsic_weights.rs +++ b/parachains/runtimes/assets/statemine/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/runtimes/assets/statemine/src/weights/frame_system.rs b/parachains/runtimes/assets/statemine/src/weights/frame_system.rs index 809da49b4ae..d67ab58fce5 100644 --- a/parachains/runtimes/assets/statemine/src/weights/frame_system.rs +++ b/parachains/runtimes/assets/statemine/src/weights/frame_system.rs @@ -54,7 +54,7 @@ impl frame_system::WeightInfo for WeightInfo { fn remark_with_event(b: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) @@ -68,7 +68,7 @@ impl frame_system::WeightInfo for WeightInfo { fn set_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(622_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(622_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -76,7 +76,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_storage(i: u32, ) -> Weight { Weight::from_ref_time(351_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(513_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(513_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -84,7 +84,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_prefix(p: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(1_054_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_054_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(p as RefTimeWeight))) } } diff --git a/parachains/runtimes/assets/statemine/src/weights/mod.rs b/parachains/runtimes/assets/statemine/src/weights/mod.rs index bfe3c7bba5f..080584f2cfa 100644 --- a/parachains/runtimes/assets/statemine/src/weights/mod.rs +++ b/parachains/runtimes/assets/statemine/src/weights/mod.rs @@ -13,6 +13,7 @@ pub mod pallet_uniques; pub mod pallet_utility; pub mod paritydb_weights; pub mod rocksdb_weights; +pub mod xcm; pub use block_weights::constants::BlockExecutionWeight; pub use extrinsic_weights::constants::ExtrinsicBaseWeight; diff --git a/parachains/runtimes/assets/statemine/src/weights/pallet_assets.rs b/parachains/runtimes/assets/statemine/src/weights/pallet_assets.rs index fa7cc632645..ba8da59d550 100644 --- a/parachains/runtimes/assets/statemine/src/weights/pallet_assets.rs +++ b/parachains/runtimes/assets/statemine/src/weights/pallet_assets.rs @@ -69,11 +69,11 @@ impl pallet_assets::WeightInfo for WeightInfo { fn destroy(c: u32, s: u32, a: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 46_000 - .saturating_add(Weight::from_ref_time(16_382_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(16_382_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) // Standard Error: 46_000 - .saturating_add(Weight::from_ref_time(19_187_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(19_187_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 465_000 - .saturating_add(Weight::from_ref_time(16_818_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(16_818_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(s as RefTimeWeight))) diff --git a/parachains/runtimes/assets/statemine/src/weights/pallet_collator_selection.rs b/parachains/runtimes/assets/statemine/src/weights/pallet_collator_selection.rs index aa51ad7e366..ecffa07fac8 100644 --- a/parachains/runtimes/assets/statemine/src/weights/pallet_collator_selection.rs +++ b/parachains/runtimes/assets/statemine/src/weights/pallet_collator_selection.rs @@ -52,7 +52,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn set_invulnerables(b: u32, ) -> Weight { Weight::from_ref_time(8_196_000 as RefTimeWeight) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(3_354_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_354_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(b as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -76,7 +76,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn register_as_candidate(c: u32, ) -> Weight { Weight::from_ref_time(55_660_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(103_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(103_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -86,7 +86,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn leave_intent(c: u32, ) -> Weight { Weight::from_ref_time(56_380_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(113_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(113_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -108,9 +108,9 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn new_session(r: u32, c: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 2_076_000 - .saturating_add(Weight::from_ref_time(10_780_000 as RefTimeWeight).scalar_saturating_mul(r as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(10_780_000 as RefTimeWeight).saturating_mul(r as RefTimeWeight)) // Standard Error: 2_076_000 - .saturating_add(Weight::from_ref_time(55_238_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(55_238_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(r as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) diff --git a/parachains/runtimes/assets/statemine/src/weights/pallet_multisig.rs b/parachains/runtimes/assets/statemine/src/weights/pallet_multisig.rs index b37819dfdcb..c490fd88dbe 100644 --- a/parachains/runtimes/assets/statemine/src/weights/pallet_multisig.rs +++ b/parachains/runtimes/assets/statemine/src/weights/pallet_multisig.rs @@ -50,7 +50,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(z: u32, ) -> Weight { Weight::from_ref_time(18_001_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) } // Storage: Multisig Multisigs (r:1 w:1) // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) @@ -59,9 +59,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(35_223_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -73,9 +73,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(39_275_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(92_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(92_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -85,9 +85,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(24_703_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(96_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(96_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -98,9 +98,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(38_375_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(100_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(100_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -112,9 +112,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_complete(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(46_964_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(143_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(143_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -124,7 +124,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_create(s: u32, ) -> Weight { Weight::from_ref_time(34_450_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -134,7 +134,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_approve(s: u32, ) -> Weight { Weight::from_ref_time(22_051_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -145,7 +145,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_complete(s: u32, ) -> Weight { Weight::from_ref_time(69_763_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(162_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(162_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -155,7 +155,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn cancel_as_multi(s: u32, ) -> Weight { Weight::from_ref_time(53_182_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(129_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(129_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/statemine/src/weights/pallet_proxy.rs b/parachains/runtimes/assets/statemine/src/weights/pallet_proxy.rs index 80b0e84de6f..ee440b25efc 100644 --- a/parachains/runtimes/assets/statemine/src/weights/pallet_proxy.rs +++ b/parachains/runtimes/assets/statemine/src/weights/pallet_proxy.rs @@ -51,7 +51,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { Weight::from_ref_time(18_075_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(92_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(92_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) } // Storage: Proxy Proxies (r:1 w:0) @@ -62,9 +62,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy_announced(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(35_722_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(180_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(180_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -75,9 +75,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(25_193_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(185_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(185_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(23_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(23_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -88,9 +88,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn reject_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(25_123_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(190_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(190_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(21_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(21_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -102,9 +102,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn announce(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(32_582_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(200_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(200_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(93_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(93_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -113,7 +113,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn add_proxy(p: u32, ) -> Weight { Weight::from_ref_time(28_173_000 as RefTimeWeight) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(112_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(112_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -122,7 +122,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxy(p: u32, ) -> Weight { Weight::from_ref_time(28_247_000 as RefTimeWeight) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -131,7 +131,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxies(p: u32, ) -> Weight { Weight::from_ref_time(23_821_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -141,7 +141,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn anonymous(p: u32, ) -> Weight { Weight::from_ref_time(31_472_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(21_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(21_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -150,7 +150,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn kill_anonymous(p: u32, ) -> Weight { Weight::from_ref_time(24_620_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/statemine/src/weights/pallet_uniques.rs b/parachains/runtimes/assets/statemine/src/weights/pallet_uniques.rs index ec0044fd371..64af724e634 100644 --- a/parachains/runtimes/assets/statemine/src/weights/pallet_uniques.rs +++ b/parachains/runtimes/assets/statemine/src/weights/pallet_uniques.rs @@ -79,11 +79,11 @@ impl pallet_uniques::WeightInfo for WeightInfo { fn destroy(n: u32, m: u32, a: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(10_592_000 as RefTimeWeight).scalar_saturating_mul(n as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(10_592_000 as RefTimeWeight).saturating_mul(n as RefTimeWeight)) // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(1_658_000 as RefTimeWeight).scalar_saturating_mul(m as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_658_000 as RefTimeWeight).saturating_mul(m as RefTimeWeight)) // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(1_593_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_593_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(n as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) @@ -124,7 +124,7 @@ impl pallet_uniques::WeightInfo for WeightInfo { fn redeposit(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(12_880_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(12_880_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) diff --git a/parachains/runtimes/assets/statemine/src/weights/pallet_utility.rs b/parachains/runtimes/assets/statemine/src/weights/pallet_utility.rs index 97ac89aee2e..fbe8faef7dd 100644 --- a/parachains/runtimes/assets/statemine/src/weights/pallet_utility.rs +++ b/parachains/runtimes/assets/statemine/src/weights/pallet_utility.rs @@ -50,7 +50,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { Weight::from_ref_time(22_923_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(3_526_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_526_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn as_derivative() -> Weight { Weight::from_ref_time(5_220_000 as RefTimeWeight) @@ -59,7 +59,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch_all(c: u32, ) -> Weight { Weight::from_ref_time(20_953_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_698_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_698_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn dispatch_as() -> Weight { Weight::from_ref_time(12_087_000 as RefTimeWeight) @@ -68,6 +68,6 @@ impl pallet_utility::WeightInfo for WeightInfo { fn force_batch(c: u32, ) -> Weight { Weight::from_ref_time(10_076_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_546_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_546_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } } diff --git a/parachains/runtimes/assets/statemine/src/weights/xcm/mod.rs b/parachains/runtimes/assets/statemine/src/weights/xcm/mod.rs new file mode 100644 index 00000000000..e52a0468098 --- /dev/null +++ b/parachains/runtimes/assets/statemine/src/weights/xcm/mod.rs @@ -0,0 +1,182 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. If not, see . + +mod pallet_xcm_benchmarks_fungible; +mod pallet_xcm_benchmarks_generic; + +use crate::Runtime; +use frame_support::weights::Weight; +use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; +use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; +use sp_std::prelude::*; +use xcm::{ + latest::{prelude::*, Weight as XCMWeight}, + DoubleEncoded, +}; + +trait WeighMultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight; +} + +const MAX_ASSETS: u32 = 100; + +impl WeighMultiAssets for MultiAssetFilter { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight { + let weight = match self { + Self::Definite(assets) => + weight.saturating_mul(assets.inner().into_iter().count() as u64), + Self::Wild(_) => weight.saturating_mul(MAX_ASSETS as u64), + }; + weight.ref_time() + } +} + +impl WeighMultiAssets for MultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight { + weight.saturating_mul(self.inner().into_iter().count() as u64).ref_time() + } +} + +pub struct StatemineXcmWeight(core::marker::PhantomData); +impl XcmWeightInfo for StatemineXcmWeight { + fn withdraw_asset(assets: &MultiAssets) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::withdraw_asset()) + } + // Currently there is no trusted reserve + fn reserve_asset_deposited(_assets: &MultiAssets) -> XCMWeight { + unimplemented!() + } + fn receive_teleported_asset(assets: &MultiAssets) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::receive_teleported_asset()) + } + fn query_response(_query_id: &u64, _response: &Response, _max_weight: &u64) -> XCMWeight { + XcmGeneric::::query_response().ref_time() + } + fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_asset()) + } + fn transfer_reserve_asset( + assets: &MultiAssets, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_reserve_asset()) + } + fn transact( + _origin_type: &OriginKind, + _require_weight_at_most: &u64, + _call: &DoubleEncoded, + ) -> XCMWeight { + XcmGeneric::::transact().ref_time() + } + fn hrmp_new_channel_open_request( + _sender: &u32, + _max_message_size: &u32, + _max_capacity: &u32, + ) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn hrmp_channel_accepted(_recipient: &u32) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn clear_origin() -> XCMWeight { + XcmGeneric::::clear_origin().ref_time() + } + fn descend_origin(_who: &InteriorMultiLocation) -> XCMWeight { + XcmGeneric::::descend_origin().ref_time() + } + fn report_error( + _query_id: &QueryId, + _dest: &MultiLocation, + _max_response_weight: &u64, + ) -> XCMWeight { + XcmGeneric::::report_error().ref_time() + } + + fn deposit_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, + _dest: &MultiLocation, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_asset()) + } + fn deposit_reserve_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_reserve_asset()) + } + fn exchange_asset(_give: &MultiAssetFilter, _receive: &MultiAssets) -> XCMWeight { + Weight::MAX.ref_time() + } + fn initiate_reserve_withdraw( + assets: &MultiAssetFilter, + _reserve: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmGeneric::::initiate_reserve_withdraw()) + } + fn initiate_teleport( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::initiate_teleport()) + } + fn query_holding( + _query_id: &u64, + _dest: &MultiLocation, + _assets: &MultiAssetFilter, + _max_response_weight: &u64, + ) -> XCMWeight { + XcmGeneric::::query_holding().ref_time() + } + fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> XCMWeight { + XcmGeneric::::buy_execution().ref_time() + } + fn refund_surplus() -> XCMWeight { + XcmGeneric::::refund_surplus().ref_time() + } + fn set_error_handler(_xcm: &Xcm) -> XCMWeight { + XcmGeneric::::set_error_handler().ref_time() + } + fn set_appendix(_xcm: &Xcm) -> XCMWeight { + XcmGeneric::::set_appendix().ref_time() + } + fn clear_error() -> XCMWeight { + XcmGeneric::::clear_error().ref_time() + } + fn claim_asset(_assets: &MultiAssets, _ticket: &MultiLocation) -> XCMWeight { + XcmGeneric::::claim_asset().ref_time() + } + fn trap(_code: &u64) -> XCMWeight { + XcmGeneric::::trap().ref_time() + } + fn subscribe_version(_query_id: &QueryId, _max_response_weight: &u64) -> XCMWeight { + XcmGeneric::::subscribe_version().ref_time() + } + fn unsubscribe_version() -> XCMWeight { + XcmGeneric::::unsubscribe_version().ref_time() + } +} diff --git a/parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs new file mode 100644 index 00000000000..9df4a3c5490 --- /dev/null +++ b/parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -0,0 +1,107 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. 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: 2022-08-17, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemine-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --pallet=pallet_xcm_benchmarks::fungible +// --chain=statemine-dev +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json +// --header=./file_header.txt +// --template=./templates/xcm-bench-template.hbs +// --output=./parachains/runtimes/assets/statemine/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::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// 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 { + Weight::from_ref_time(29_190_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: System Account (r:2 w:2) + pub(crate) fn transfer_asset() -> Weight { + Weight::from_ref_time(34_102_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + // Storage: System Account (r:2 w:2) + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn transfer_reserve_asset() -> Weight { + Weight::from_ref_time(49_386_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(8 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) + } + pub(crate) fn receive_teleported_asset() -> Weight { + Weight::from_ref_time(4_937_000 as RefTimeWeight) + } + // Storage: System Account (r:1 w:1) + pub(crate) fn deposit_asset() -> Weight { + Weight::from_ref_time(30_853_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: System Account (r:1 w:1) + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn deposit_reserve_asset() -> Weight { + Weight::from_ref_time(45_866_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(7 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) + } + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn initiate_teleport() -> Weight { + Weight::from_ref_time(23_964_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } +} diff --git a/parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_generic.rs new file mode 100644 index 00000000000..72237c90e96 --- /dev/null +++ b/parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -0,0 +1,137 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. If not, see . + + +//! Autogenerated weights for `pallet_xcm_benchmarks::generic` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-08-17, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemine-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --pallet=pallet_xcm_benchmarks::generic +// --chain=statemine-dev +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json +// --header=./file_header.txt +// --template=./templates/xcm-bench-template.hbs +// --output=./parachains/runtimes/assets/statemine/src/weights/xcm/pallet_xcm_benchmarks_generic.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// Weights for `pallet_xcm_benchmarks::generic`. +pub struct WeightInfo(PhantomData); +impl WeightInfo { + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn query_holding() -> Weight { + Weight::from_ref_time(694_466_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + pub(crate) fn buy_execution() -> Weight { + Weight::from_ref_time(7_095_000 as RefTimeWeight) + } + // Storage: PolkadotXcm Queries (r:1 w:0) + pub(crate) fn query_response() -> Weight { + Weight::from_ref_time(13_270_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + } + pub(crate) fn transact() -> Weight { + Weight::from_ref_time(16_375_000 as RefTimeWeight) + } + pub(crate) fn refund_surplus() -> Weight { + Weight::from_ref_time(7_319_000 as RefTimeWeight) + } + pub(crate) fn set_error_handler() -> Weight { + Weight::from_ref_time(3_515_000 as RefTimeWeight) + } + pub(crate) fn set_appendix() -> Weight { + Weight::from_ref_time(3_501_000 as RefTimeWeight) + } + pub(crate) fn clear_error() -> Weight { + Weight::from_ref_time(3_459_000 as RefTimeWeight) + } + pub(crate) fn descend_origin() -> Weight { + Weight::from_ref_time(4_319_000 as RefTimeWeight) + } + pub(crate) fn clear_origin() -> Weight { + Weight::from_ref_time(3_511_000 as RefTimeWeight) + } + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn report_error() -> Weight { + Weight::from_ref_time(13_284_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + // Storage: PolkadotXcm AssetTraps (r:1 w:1) + pub(crate) fn claim_asset() -> Weight { + Weight::from_ref_time(7_985_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + pub(crate) fn trap() -> Weight { + Weight::from_ref_time(3_515_000 as RefTimeWeight) + } + // Storage: PolkadotXcm VersionNotifyTargets (r:1 w:1) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn subscribe_version() -> Weight { + Weight::from_ref_time(16_657_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) + } + // Storage: PolkadotXcm VersionNotifyTargets (r:0 w:1) + pub(crate) fn unsubscribe_version() -> Weight { + Weight::from_ref_time(5_622_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn initiate_reserve_withdraw() -> Weight { + Weight::from_ref_time(878_786_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } +} diff --git a/parachains/runtimes/assets/statemine/src/xcm_config.rs b/parachains/runtimes/assets/statemine/src/xcm_config.rs index 4203f1a54f0..d8f59ffcb69 100644 --- a/parachains/runtimes/assets/statemine/src/xcm_config.rs +++ b/parachains/runtimes/assets/statemine/src/xcm_config.rs @@ -34,11 +34,11 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, - UsingComponents, + ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FungiblesAdapter, IsConcrete, + LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, + WeightInfoBounds, }; use xcm_executor::{traits::JustTry, XcmExecutor}; @@ -128,8 +128,6 @@ pub type XcmOriginToTransactDispatchOrigin = ( ); parameter_types! { - // One XCM operation is 1_000_000_000 weight - almost certainly a conservative estimate. - pub UnitWeightCost: u64 = 1_000_000_000; pub const MaxInstructions: u32 = 100; pub XcmAssetFeesReceiver: Option = Authorship::author(); } @@ -172,7 +170,8 @@ impl xcm_executor::Config for XcmConfig { type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of KSM type LocationInverter = LocationInverter; type Barrier = Barrier; - type Weigher = FixedWeightBounds; + type Weigher = + WeightInfoBounds, Call, MaxInstructions>; type Trader = ( UsingComponents>, cumulus_primitives_utility::TakeFirstAssetTrader< @@ -227,7 +226,9 @@ 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/parachains/runtimes/assets/statemint/Cargo.toml b/parachains/runtimes/assets/statemint/Cargo.toml index c1f469a4f97..1420852d9ec 100644 --- a/parachains/runtimes/assets/statemint/Cargo.toml +++ b/parachains/runtimes/assets/statemint/Cargo.toml @@ -71,6 +71,7 @@ cumulus-primitives-utility = { path = "../../../../primitives/utility", default- pallet-collator-selection = { path = "../../../../pallets/collator-selection", default-features = false } parachain-info = { path = "../../../pallets/parachain-info", default-features = false } parachains-common = { path = "../../../common", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot", branch = "master", default-features = false, optional = true } [dev-dependencies] hex-literal = "0.3.4" @@ -100,10 +101,32 @@ runtime-benchmarks = [ "cumulus-pallet-session-benchmarking/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "pallet-xcm-benchmarks", ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-asset-tx-payment/try-runtime", + "pallet-assets/try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-multisig/try-runtime", + "pallet-proxy/try-runtime", + "pallet-session/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-uniques/try-runtime", + "pallet-utility/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] std = [ "codec/std", diff --git a/parachains/runtimes/assets/statemint/src/lib.rs b/parachains/runtimes/assets/statemint/src/lib.rs index f9ceaba944c..67cb5a98330 100644 --- a/parachains/runtimes/assets/statemint/src/lib.rs +++ b/parachains/runtimes/assets/statemint/src/lib.rs @@ -437,8 +437,8 @@ impl pallet_proxy::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -667,6 +667,10 @@ mod benches { [pallet_timestamp, Timestamp] [pallet_collator_selection, CollatorSelection] [cumulus_pallet_xcmp_queue, XcmpQueue] + // XCM + // NOTE: Make sure you point to the individual modules below. + [pallet_xcm_benchmarks::fungible, XcmBalances] + [pallet_xcm_benchmarks::generic, XcmGeneric] ); } @@ -802,8 +806,15 @@ impl_runtime_apis! { (weight, RuntimeBlockWeights::get().max_block) } - fn execute_block_no_check(block: Block) -> Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::statemint", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } @@ -813,11 +824,18 @@ impl_runtime_apis! { Vec, Vec, ) { + use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + // This is defined once again in dispatch_benchmark, because list_benchmarks! + // and add_benchmarks! are macros exported by define_benchmarks! macros and those types + // are referenced in that call. + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; + let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -828,7 +846,7 @@ impl_runtime_apis! { fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey, BenchmarkError}; use frame_system_benchmarking::Pallet as SystemBench; impl frame_system_benchmarking::Config for Runtime {} @@ -836,6 +854,94 @@ impl_runtime_apis! { use cumulus_pallet_session_benchmarking::Pallet as SessionBench; impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use xcm::latest::prelude::*; + use xcm_config::DotLocation; + use pallet_xcm_benchmarks::asset_instance_from; + + impl pallet_xcm_benchmarks::Config for Runtime { + type XcmConfig = xcm_config::XcmConfig; + type AccountIdConverter = xcm_config::LocationToAccountId; + fn valid_destination() -> Result { + Ok(DotLocation::get()) + } + fn worst_case_holding() -> MultiAssets { + // A mix of fungible, non-fungible, and concrete assets. + const HOLDING_FUNGIBLES: u32 = 100; + const HOLDING_NON_FUNGIBLES: u32 = 100; + let fungibles_amount: u128 = 100; + let mut assets = (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::>(); + + assets.push(MultiAsset{ + id: Concrete(DotLocation::get()), + fun: Fungible(1_000_000 * UNITS), + }); + assets.into() + } + } + + parameter_types! { + pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some(( + DotLocation::get(), + MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(DotLocation::get()) }, + )); + pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None; + pub const CheckedAccount: Option = None; + } + + impl pallet_xcm_benchmarks::fungible::Config for Runtime { + type TransactAsset = Balances; + + type CheckedAccount = CheckedAccount; + type TrustedTeleporter = TrustedTeleporter; + type TrustedReserve = TrustedReserve; + + fn get_multi_asset() -> MultiAsset { + MultiAsset { + id: Concrete(DotLocation::get()), + fun: Fungible(1 * UNITS), + } + } + } + + impl pallet_xcm_benchmarks::generic::Config for Runtime { + type Call = Call; + + fn worst_case_response() -> (u64, Response) { + (0u64, Response::Version(Default::default())) + } + + fn transact_origin() -> Result { + Ok(DotLocation::get()) + } + + fn subscribe_origin() -> Result { + Ok(DotLocation::get()) + } + + fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> { + let origin = DotLocation::get(); + let assets: MultiAssets = (Concrete(DotLocation::get()), 1_000 * UNITS).into(); + let ticket = MultiLocation { parents: 0, interior: Here }; + Ok((origin, ticket, assets)) + } + } + + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), @@ -847,13 +953,14 @@ impl_runtime_apis! { hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), // System Events hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + //TODO: use from relay_well_known_keys::ACTIVE_CONFIG + hex_literal::hex!("06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(), ]; let mut batches = Vec::::new(); let params = (&config, &whitelist); add_benchmarks!(params, batches); - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) } } diff --git a/parachains/runtimes/assets/statemint/src/weights/block_weights.rs b/parachains/runtimes/assets/statemint/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachains/runtimes/assets/statemint/src/weights/block_weights.rs +++ b/parachains/runtimes/assets/statemint/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachains/runtimes/assets/statemint/src/weights/extrinsic_weights.rs b/parachains/runtimes/assets/statemint/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachains/runtimes/assets/statemint/src/weights/extrinsic_weights.rs +++ b/parachains/runtimes/assets/statemint/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/runtimes/assets/statemint/src/weights/frame_system.rs b/parachains/runtimes/assets/statemint/src/weights/frame_system.rs index 3d338ac8360..9b702467502 100644 --- a/parachains/runtimes/assets/statemint/src/weights/frame_system.rs +++ b/parachains/runtimes/assets/statemint/src/weights/frame_system.rs @@ -54,7 +54,7 @@ impl frame_system::WeightInfo for WeightInfo { fn remark_with_event(b: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) @@ -68,7 +68,7 @@ impl frame_system::WeightInfo for WeightInfo { fn set_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(626_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(626_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -76,7 +76,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(515_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(515_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -84,7 +84,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_prefix(p: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(1_052_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_052_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(p as RefTimeWeight))) } } diff --git a/parachains/runtimes/assets/statemint/src/weights/mod.rs b/parachains/runtimes/assets/statemint/src/weights/mod.rs index bfe3c7bba5f..080584f2cfa 100644 --- a/parachains/runtimes/assets/statemint/src/weights/mod.rs +++ b/parachains/runtimes/assets/statemint/src/weights/mod.rs @@ -13,6 +13,7 @@ pub mod pallet_uniques; pub mod pallet_utility; pub mod paritydb_weights; pub mod rocksdb_weights; +pub mod xcm; pub use block_weights::constants::BlockExecutionWeight; pub use extrinsic_weights::constants::ExtrinsicBaseWeight; diff --git a/parachains/runtimes/assets/statemint/src/weights/pallet_assets.rs b/parachains/runtimes/assets/statemint/src/weights/pallet_assets.rs index d3aaeb66309..8718fa64c9e 100644 --- a/parachains/runtimes/assets/statemint/src/weights/pallet_assets.rs +++ b/parachains/runtimes/assets/statemint/src/weights/pallet_assets.rs @@ -69,11 +69,11 @@ impl pallet_assets::WeightInfo for WeightInfo { fn destroy(c: u32, s: u32, a: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 45_000 - .saturating_add(Weight::from_ref_time(15_904_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(15_904_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) // Standard Error: 45_000 - .saturating_add(Weight::from_ref_time(18_803_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(18_803_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 450_000 - .saturating_add(Weight::from_ref_time(17_017_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(17_017_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(s as RefTimeWeight))) @@ -167,9 +167,9 @@ impl pallet_assets::WeightInfo for WeightInfo { fn set_metadata(n: u32, s: u32, ) -> Weight { Weight::from_ref_time(31_324_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(n as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(n as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -187,7 +187,7 @@ impl pallet_assets::WeightInfo for WeightInfo { fn force_set_metadata(_n: u32, s: u32, ) -> Weight { Weight::from_ref_time(18_756_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/statemint/src/weights/pallet_collator_selection.rs b/parachains/runtimes/assets/statemint/src/weights/pallet_collator_selection.rs index e1f319163c7..ba677a4521d 100644 --- a/parachains/runtimes/assets/statemint/src/weights/pallet_collator_selection.rs +++ b/parachains/runtimes/assets/statemint/src/weights/pallet_collator_selection.rs @@ -52,7 +52,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn set_invulnerables(b: u32, ) -> Weight { Weight::from_ref_time(8_587_000 as RefTimeWeight) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(3_304_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_304_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(b as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -76,7 +76,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn register_as_candidate(c: u32, ) -> Weight { Weight::from_ref_time(60_984_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(89_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(89_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -86,7 +86,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn leave_intent(c: u32, ) -> Weight { Weight::from_ref_time(49_046_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -108,9 +108,9 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn new_session(r: u32, c: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_992_000 - .saturating_add(Weight::from_ref_time(10_521_000 as RefTimeWeight).scalar_saturating_mul(r as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(10_521_000 as RefTimeWeight).saturating_mul(r as RefTimeWeight)) // Standard Error: 1_992_000 - .saturating_add(Weight::from_ref_time(53_162_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(53_162_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(r as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) diff --git a/parachains/runtimes/assets/statemint/src/weights/pallet_multisig.rs b/parachains/runtimes/assets/statemint/src/weights/pallet_multisig.rs index b2c6c147508..8bd84edb8dd 100644 --- a/parachains/runtimes/assets/statemint/src/weights/pallet_multisig.rs +++ b/parachains/runtimes/assets/statemint/src/weights/pallet_multisig.rs @@ -50,7 +50,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(z: u32, ) -> Weight { Weight::from_ref_time(17_175_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) } // Storage: Multisig Multisigs (r:1 w:1) // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) @@ -59,9 +59,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(35_937_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(97_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(97_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -73,9 +73,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(37_468_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(89_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(89_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -85,9 +85,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(25_557_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(83_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(83_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -98,9 +98,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(38_127_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(88_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(88_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -112,9 +112,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_complete(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(47_383_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(127_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(127_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -124,7 +124,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_create(s: u32, ) -> Weight { Weight::from_ref_time(33_472_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(102_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(102_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -134,7 +134,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_approve(s: u32, ) -> Weight { Weight::from_ref_time(21_612_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(119_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(119_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -145,7 +145,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_complete(s: u32, ) -> Weight { Weight::from_ref_time(68_168_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(157_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(157_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -155,7 +155,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn cancel_as_multi(s: u32, ) -> Weight { Weight::from_ref_time(52_748_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/statemint/src/weights/pallet_proxy.rs b/parachains/runtimes/assets/statemint/src/weights/pallet_proxy.rs index 3591374e04e..7def013522c 100644 --- a/parachains/runtimes/assets/statemint/src/weights/pallet_proxy.rs +++ b/parachains/runtimes/assets/statemint/src/weights/pallet_proxy.rs @@ -51,7 +51,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { Weight::from_ref_time(17_582_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(77_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(77_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) } // Storage: Proxy Proxies (r:1 w:0) @@ -62,9 +62,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy_announced(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(34_603_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(169_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(169_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(87_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(87_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -75,9 +75,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(24_496_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(179_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(179_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(25_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(25_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -88,9 +88,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn reject_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(24_237_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(181_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(181_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(29_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(29_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -102,9 +102,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn announce(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(32_065_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(166_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(166_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(91_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(91_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -113,7 +113,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn add_proxy(p: u32, ) -> Weight { Weight::from_ref_time(27_168_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -122,7 +122,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxy(p: u32, ) -> Weight { Weight::from_ref_time(27_233_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(121_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(121_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -131,7 +131,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxies(p: u32, ) -> Weight { Weight::from_ref_time(23_010_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(95_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(95_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -141,7 +141,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn anonymous(p: u32, ) -> Weight { Weight::from_ref_time(30_378_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(16_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(16_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -150,7 +150,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn kill_anonymous(p: u32, ) -> Weight { Weight::from_ref_time(23_977_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(76_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(76_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/statemint/src/weights/pallet_uniques.rs b/parachains/runtimes/assets/statemint/src/weights/pallet_uniques.rs index e25c16b6a34..3e59ddb6bf8 100644 --- a/parachains/runtimes/assets/statemint/src/weights/pallet_uniques.rs +++ b/parachains/runtimes/assets/statemint/src/weights/pallet_uniques.rs @@ -79,11 +79,11 @@ impl pallet_uniques::WeightInfo for WeightInfo { fn destroy(n: u32, m: u32, a: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(10_919_000 as RefTimeWeight).scalar_saturating_mul(n as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(10_919_000 as RefTimeWeight).saturating_mul(n as RefTimeWeight)) // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(1_679_000 as RefTimeWeight).scalar_saturating_mul(m as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_679_000 as RefTimeWeight).saturating_mul(m as RefTimeWeight)) // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(1_463_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_463_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(n as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) @@ -124,7 +124,7 @@ impl pallet_uniques::WeightInfo for WeightInfo { fn redeposit(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(12_745_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(12_745_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) diff --git a/parachains/runtimes/assets/statemint/src/weights/pallet_utility.rs b/parachains/runtimes/assets/statemint/src/weights/pallet_utility.rs index e462d30217a..b388ff4a518 100644 --- a/parachains/runtimes/assets/statemint/src/weights/pallet_utility.rs +++ b/parachains/runtimes/assets/statemint/src/weights/pallet_utility.rs @@ -50,7 +50,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { Weight::from_ref_time(30_959_000 as RefTimeWeight) // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(3_220_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_220_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn as_derivative() -> Weight { Weight::from_ref_time(4_732_000 as RefTimeWeight) @@ -59,7 +59,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch_all(c: u32, ) -> Weight { Weight::from_ref_time(16_465_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_364_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_364_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn dispatch_as() -> Weight { Weight::from_ref_time(11_903_000 as RefTimeWeight) @@ -68,6 +68,6 @@ impl pallet_utility::WeightInfo for WeightInfo { fn force_batch(c: u32, ) -> Weight { Weight::from_ref_time(22_621_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(3_147_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_147_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } } diff --git a/parachains/runtimes/assets/statemint/src/weights/xcm/mod.rs b/parachains/runtimes/assets/statemint/src/weights/xcm/mod.rs new file mode 100644 index 00000000000..ad9123676b8 --- /dev/null +++ b/parachains/runtimes/assets/statemint/src/weights/xcm/mod.rs @@ -0,0 +1,182 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. If not, see . + +mod pallet_xcm_benchmarks_fungible; +mod pallet_xcm_benchmarks_generic; + +use crate::Runtime; +use frame_support::weights::Weight; +use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; +use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; +use sp_std::prelude::*; +use xcm::{ + latest::{prelude::*, Weight as XCMWeight}, + DoubleEncoded, +}; + +trait WeighMultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight; +} + +const MAX_ASSETS: u32 = 100; + +impl WeighMultiAssets for MultiAssetFilter { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight { + let weight = match self { + Self::Definite(assets) => + weight.saturating_mul(assets.inner().into_iter().count() as u64), + Self::Wild(_) => weight.saturating_mul(MAX_ASSETS as u64), + }; + weight.ref_time() + } +} + +impl WeighMultiAssets for MultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight { + weight.saturating_mul(self.inner().into_iter().count() as u64).ref_time() + } +} + +pub struct StatemintXcmWeight(core::marker::PhantomData); +impl XcmWeightInfo for StatemintXcmWeight { + fn withdraw_asset(assets: &MultiAssets) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::withdraw_asset()) + } + // Currently there is no trusted reserve + fn reserve_asset_deposited(_assets: &MultiAssets) -> XCMWeight { + unimplemented!() + } + fn receive_teleported_asset(assets: &MultiAssets) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::receive_teleported_asset()) + } + fn query_response(_query_id: &u64, _response: &Response, _max_weight: &u64) -> XCMWeight { + XcmGeneric::::query_response().ref_time() + } + fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_asset()) + } + fn transfer_reserve_asset( + assets: &MultiAssets, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_reserve_asset()) + } + fn transact( + _origin_type: &OriginKind, + _require_weight_at_most: &u64, + _call: &DoubleEncoded, + ) -> XCMWeight { + XcmGeneric::::transact().ref_time() + } + fn hrmp_new_channel_open_request( + _sender: &u32, + _max_message_size: &u32, + _max_capacity: &u32, + ) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn hrmp_channel_accepted(_recipient: &u32) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn clear_origin() -> XCMWeight { + XcmGeneric::::clear_origin().ref_time() + } + fn descend_origin(_who: &InteriorMultiLocation) -> XCMWeight { + XcmGeneric::::descend_origin().ref_time() + } + fn report_error( + _query_id: &QueryId, + _dest: &MultiLocation, + _max_response_weight: &u64, + ) -> XCMWeight { + XcmGeneric::::report_error().ref_time() + } + + fn deposit_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, + _dest: &MultiLocation, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_asset()) + } + fn deposit_reserve_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_reserve_asset()) + } + fn exchange_asset(_give: &MultiAssetFilter, _receive: &MultiAssets) -> XCMWeight { + Weight::MAX.ref_time() + } + fn initiate_reserve_withdraw( + assets: &MultiAssetFilter, + _reserve: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmGeneric::::initiate_reserve_withdraw()) + } + fn initiate_teleport( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::initiate_teleport()) + } + fn query_holding( + _query_id: &u64, + _dest: &MultiLocation, + _assets: &MultiAssetFilter, + _max_response_weight: &u64, + ) -> XCMWeight { + XcmGeneric::::query_holding().ref_time() + } + fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> XCMWeight { + XcmGeneric::::buy_execution().ref_time() + } + fn refund_surplus() -> XCMWeight { + XcmGeneric::::refund_surplus().ref_time() + } + fn set_error_handler(_xcm: &Xcm) -> XCMWeight { + XcmGeneric::::set_error_handler().ref_time() + } + fn set_appendix(_xcm: &Xcm) -> XCMWeight { + XcmGeneric::::set_appendix().ref_time() + } + fn clear_error() -> XCMWeight { + XcmGeneric::::clear_error().ref_time() + } + fn claim_asset(_assets: &MultiAssets, _ticket: &MultiLocation) -> XCMWeight { + XcmGeneric::::claim_asset().ref_time() + } + fn trap(_code: &u64) -> XCMWeight { + XcmGeneric::::trap().ref_time() + } + fn subscribe_version(_query_id: &QueryId, _max_response_weight: &u64) -> XCMWeight { + XcmGeneric::::subscribe_version().ref_time() + } + fn unsubscribe_version() -> XCMWeight { + XcmGeneric::::unsubscribe_version().ref_time() + } +} diff --git a/parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs new file mode 100644 index 00000000000..8bcdcc3b039 --- /dev/null +++ b/parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -0,0 +1,108 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. 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: 2022-08-25, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemint-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --pallet=pallet_xcm_benchmarks::fungible +// --chain=statemint-dev +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json +// --header=./file_header.txt +// --template=./templates/xcm-bench-template.hbs +// --output=./parachains/runtimes/assets/statemint/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::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// 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 { + Weight::from_ref_time(34_002_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: System Account (r:2 w:2) + pub(crate) fn transfer_asset() -> Weight { + Weight::from_ref_time(38_285_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + // Storage: System Account (r:2 w:2) + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn transfer_reserve_asset() -> Weight { + Weight::from_ref_time(55_068_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(8 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) + } + pub(crate) fn receive_teleported_asset() -> Weight { + Weight::from_ref_time(7_796_000 as RefTimeWeight) + } + // Storage: System Account (r:1 w:1) + pub(crate) fn deposit_asset() -> Weight { + Weight::from_ref_time(35_092_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: System Account (r:1 w:1) + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn deposit_reserve_asset() -> Weight { + Weight::from_ref_time(50_590_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(7 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) + } + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn initiate_teleport() -> Weight { + Weight::from_ref_time(27_220_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } +} diff --git a/parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs new file mode 100644 index 00000000000..2c42c5619ba --- /dev/null +++ b/parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -0,0 +1,138 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. If not, see . + + +//! Autogenerated weights for `pallet_xcm_benchmarks::generic` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-08-25, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemint-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --pallet=pallet_xcm_benchmarks::generic +// --chain=statemint-dev +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json +// --header=./file_header.txt +// --template=./templates/xcm-bench-template.hbs +// --output=./parachains/runtimes/assets/statemint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// Weights for `pallet_xcm_benchmarks::generic`. +pub struct WeightInfo(PhantomData); +impl WeightInfo { + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn query_holding() -> Weight { + Weight::from_ref_time(682_639_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + pub(crate) fn buy_execution() -> Weight { + Weight::from_ref_time(9_272_000 as RefTimeWeight) + } + // Storage: PolkadotXcm Queries (r:1 w:0) + pub(crate) fn query_response() -> Weight { + Weight::from_ref_time(17_084_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + } + pub(crate) fn transact() -> Weight { + Weight::from_ref_time(20_265_000 as RefTimeWeight) + } + pub(crate) fn refund_surplus() -> Weight { + Weight::from_ref_time(9_422_000 as RefTimeWeight) + } + pub(crate) fn set_error_handler() -> Weight { + Weight::from_ref_time(5_545_000 as RefTimeWeight) + } + pub(crate) fn set_appendix() -> Weight { + Weight::from_ref_time(5_450_000 as RefTimeWeight) + } + pub(crate) fn clear_error() -> Weight { + Weight::from_ref_time(5_519_000 as RefTimeWeight) + } + pub(crate) fn descend_origin() -> Weight { + Weight::from_ref_time(6_398_000 as RefTimeWeight) + } + pub(crate) fn clear_origin() -> Weight { + Weight::from_ref_time(5_498_000 as RefTimeWeight) + } + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn report_error() -> Weight { + Weight::from_ref_time(15_784_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + // Storage: PolkadotXcm AssetTraps (r:1 w:1) + pub(crate) fn claim_asset() -> Weight { + Weight::from_ref_time(11_861_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + pub(crate) fn trap() -> Weight { + Weight::from_ref_time(5_462_000 as RefTimeWeight) + } + // Storage: PolkadotXcm VersionNotifyTargets (r:1 w:1) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn subscribe_version() -> Weight { + Weight::from_ref_time(18_997_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) + } + // Storage: PolkadotXcm VersionNotifyTargets (r:0 w:1) + pub(crate) fn unsubscribe_version() -> Weight { + Weight::from_ref_time(8_684_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn initiate_reserve_withdraw() -> Weight { + Weight::from_ref_time(883_121_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } +} diff --git a/parachains/runtimes/assets/statemint/src/xcm_config.rs b/parachains/runtimes/assets/statemint/src/xcm_config.rs index ca9aea57055..a8bf77b6d34 100644 --- a/parachains/runtimes/assets/statemint/src/xcm_config.rs +++ b/parachains/runtimes/assets/statemint/src/xcm_config.rs @@ -31,11 +31,11 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, - UsingComponents, + ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FungiblesAdapter, IsConcrete, + LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, + WeightInfoBounds, }; use xcm_executor::{traits::JustTry, XcmExecutor}; @@ -125,8 +125,6 @@ pub type XcmOriginToTransactDispatchOrigin = ( ); parameter_types! { - // One XCM operation is 1_000_000_000 weight - almost certainly a conservative estimate. - pub UnitWeightCost: u64 = 1_000_000_000; pub const MaxInstructions: u32 = 100; pub XcmAssetFeesReceiver: Option = Authorship::author(); } @@ -169,7 +167,8 @@ impl xcm_executor::Config for XcmConfig { type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of DOT type LocationInverter = LocationInverter; type Barrier = Barrier; - type Weigher = FixedWeightBounds; + type Weigher = + WeightInfoBounds, Call, MaxInstructions>; type Trader = UsingComponents>; type ResponseHandler = PolkadotXcm; @@ -203,7 +202,8 @@ 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/parachains/runtimes/assets/westmint/Cargo.toml b/parachains/runtimes/assets/westmint/Cargo.toml index 477e414d95b..c3fe0925523 100644 --- a/parachains/runtimes/assets/westmint/Cargo.toml +++ b/parachains/runtimes/assets/westmint/Cargo.toml @@ -71,6 +71,7 @@ cumulus-primitives-utility = { path = "../../../../primitives/utility", default- pallet-collator-selection = { path = "../../../../pallets/collator-selection", default-features = false } parachain-info = { path = "../../../pallets/parachain-info", default-features = false } parachains-common = { path = "../../../common", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot", branch = "master", default-features = false, optional = true } [dev-dependencies] hex-literal = "0.3.4" @@ -100,10 +101,32 @@ runtime-benchmarks = [ "cumulus-pallet-session-benchmarking/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", "cumulus-pallet-xcmp-queue/runtime-benchmarks", + "pallet-xcm-benchmarks", ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-asset-tx-payment/try-runtime", + "pallet-assets/try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-multisig/try-runtime", + "pallet-proxy/try-runtime", + "pallet-session/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-uniques/try-runtime", + "pallet-utility/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] std = [ "codec/std", diff --git a/parachains/runtimes/assets/westmint/src/lib.rs b/parachains/runtimes/assets/westmint/src/lib.rs index 52a562cfd00..9e882809fe6 100644 --- a/parachains/runtimes/assets/westmint/src/lib.rs +++ b/parachains/runtimes/assets/westmint/src/lib.rs @@ -402,8 +402,8 @@ impl pallet_proxy::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -628,6 +628,10 @@ mod benches { [pallet_timestamp, Timestamp] [pallet_collator_selection, CollatorSelection] [cumulus_pallet_xcmp_queue, XcmpQueue] + // XCM + // NOTE: Make sure you point to the individual modules below. + [pallet_xcm_benchmarks::fungible, XcmBalances] + [pallet_xcm_benchmarks::generic, XcmGeneric] ); } @@ -763,8 +767,15 @@ impl_runtime_apis! { (weight, RuntimeBlockWeights::get().max_block) } - fn execute_block_no_check(block: Block) -> Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::westmint", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } @@ -779,6 +790,12 @@ impl_runtime_apis! { use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; + // This is defined once again in dispatch_benchmark, because list_benchmarks! + // and add_benchmarks! are macros exported by define_benchmarks! macros and those types + // are referenced in that call. + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; + let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -789,7 +806,7 @@ impl_runtime_apis! { fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey, BenchmarkError}; use frame_system_benchmarking::Pallet as SystemBench; impl frame_system_benchmarking::Config for Runtime {} @@ -797,6 +814,95 @@ impl_runtime_apis! { use cumulus_pallet_session_benchmarking::Pallet as SessionBench; impl cumulus_pallet_session_benchmarking::Config for Runtime {} + use xcm::latest::prelude::*; + use xcm_config::WestendLocation; + use pallet_xcm_benchmarks::asset_instance_from; + + impl pallet_xcm_benchmarks::Config for Runtime { + type XcmConfig = xcm_config::XcmConfig; + type AccountIdConverter = xcm_config::LocationToAccountId; + fn valid_destination() -> Result { + Ok(WestendLocation::get()) + } + fn worst_case_holding() -> MultiAssets { + // A mix of fungible, non-fungible, and concrete assets. + const HOLDING_FUNGIBLES: u32 = 100; + const HOLDING_NON_FUNGIBLES: u32 = 100; + let fungibles_amount: u128 = 100; + let mut assets = (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::>(); + + assets.push(MultiAsset{ + id: Concrete(WestendLocation::get()), + fun: Fungible(1_000_000 * UNITS), + }); + assets.into() + } + } + + parameter_types! { + pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some(( + WestendLocation::get(), + MultiAsset { fun: Fungible(1 * UNITS), id: Concrete(WestendLocation::get()) }, + )); + pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None; + pub const CheckedAccount: Option = None; + + } + + impl pallet_xcm_benchmarks::fungible::Config for Runtime { + type TransactAsset = Balances; + + type CheckedAccount = CheckedAccount; + type TrustedTeleporter = TrustedTeleporter; + type TrustedReserve = TrustedReserve; + + fn get_multi_asset() -> MultiAsset { + MultiAsset { + id: Concrete(WestendLocation::get()), + fun: Fungible(1 * UNITS), + } + } + } + + impl pallet_xcm_benchmarks::generic::Config for Runtime { + type Call = Call; + + fn worst_case_response() -> (u64, Response) { + (0u64, Response::Version(Default::default())) + } + + fn transact_origin() -> Result { + Ok(WestendLocation::get()) + } + + fn subscribe_origin() -> Result { + Ok(WestendLocation::get()) + } + + fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> { + let origin = WestendLocation::get(); + let assets: MultiAssets = (Concrete(WestendLocation::get()), 1_000 * UNITS).into(); + let ticket = MultiLocation { parents: 0, interior: Here }; + Ok((origin, ticket, assets)) + } + } + + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; + type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; + let whitelist: Vec = vec![ // Block Number hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), @@ -808,13 +914,14 @@ impl_runtime_apis! { hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), // System Events hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + //TODO: use from relay_well_known_keys::ACTIVE_CONFIG + hex_literal::hex!("06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(), ]; let mut batches = Vec::::new(); let params = (&config, &whitelist); add_benchmarks!(params, batches); - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) } } diff --git a/parachains/runtimes/assets/westmint/src/weights/block_weights.rs b/parachains/runtimes/assets/westmint/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachains/runtimes/assets/westmint/src/weights/block_weights.rs +++ b/parachains/runtimes/assets/westmint/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachains/runtimes/assets/westmint/src/weights/extrinsic_weights.rs b/parachains/runtimes/assets/westmint/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachains/runtimes/assets/westmint/src/weights/extrinsic_weights.rs +++ b/parachains/runtimes/assets/westmint/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/runtimes/assets/westmint/src/weights/frame_system.rs b/parachains/runtimes/assets/westmint/src/weights/frame_system.rs index be46954f69c..b659f0a52f3 100644 --- a/parachains/runtimes/assets/westmint/src/weights/frame_system.rs +++ b/parachains/runtimes/assets/westmint/src/weights/frame_system.rs @@ -54,7 +54,7 @@ impl frame_system::WeightInfo for WeightInfo { fn remark_with_event(b: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) @@ -68,7 +68,7 @@ impl frame_system::WeightInfo for WeightInfo { fn set_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(616_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(616_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -76,7 +76,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(519_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(519_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -84,7 +84,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_prefix(p: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(1_067_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_067_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(p as RefTimeWeight))) } } diff --git a/parachains/runtimes/assets/westmint/src/weights/mod.rs b/parachains/runtimes/assets/westmint/src/weights/mod.rs index bfe3c7bba5f..080584f2cfa 100644 --- a/parachains/runtimes/assets/westmint/src/weights/mod.rs +++ b/parachains/runtimes/assets/westmint/src/weights/mod.rs @@ -13,6 +13,7 @@ pub mod pallet_uniques; pub mod pallet_utility; pub mod paritydb_weights; pub mod rocksdb_weights; +pub mod xcm; pub use block_weights::constants::BlockExecutionWeight; pub use extrinsic_weights::constants::ExtrinsicBaseWeight; diff --git a/parachains/runtimes/assets/westmint/src/weights/pallet_assets.rs b/parachains/runtimes/assets/westmint/src/weights/pallet_assets.rs index 14f311be36f..49edfdfd0e0 100644 --- a/parachains/runtimes/assets/westmint/src/weights/pallet_assets.rs +++ b/parachains/runtimes/assets/westmint/src/weights/pallet_assets.rs @@ -69,11 +69,11 @@ impl pallet_assets::WeightInfo for WeightInfo { fn destroy(c: u32, s: u32, a: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 46_000 - .saturating_add(Weight::from_ref_time(16_133_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(16_133_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) // Standard Error: 46_000 - .saturating_add(Weight::from_ref_time(18_915_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(18_915_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 464_000 - .saturating_add(Weight::from_ref_time(16_795_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(16_795_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(s as RefTimeWeight))) @@ -167,7 +167,7 @@ impl pallet_assets::WeightInfo for WeightInfo { fn set_metadata(_n: u32, s: u32, ) -> Weight { Weight::from_ref_time(31_757_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -185,7 +185,7 @@ impl pallet_assets::WeightInfo for WeightInfo { fn force_set_metadata(_n: u32, s: u32, ) -> Weight { Weight::from_ref_time(18_566_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/westmint/src/weights/pallet_collator_selection.rs b/parachains/runtimes/assets/westmint/src/weights/pallet_collator_selection.rs index 6bee9003f9f..240ec68e019 100644 --- a/parachains/runtimes/assets/westmint/src/weights/pallet_collator_selection.rs +++ b/parachains/runtimes/assets/westmint/src/weights/pallet_collator_selection.rs @@ -52,7 +52,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn set_invulnerables(b: u32, ) -> Weight { Weight::from_ref_time(6_669_000 as RefTimeWeight) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(3_218_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_218_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(b as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -76,7 +76,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn register_as_candidate(c: u32, ) -> Weight { Weight::from_ref_time(55_542_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(92_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(92_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -86,7 +86,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn leave_intent(c: u32, ) -> Weight { Weight::from_ref_time(52_080_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -108,9 +108,9 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn new_session(r: u32, c: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_895_000 - .saturating_add(Weight::from_ref_time(9_941_000 as RefTimeWeight).scalar_saturating_mul(r as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(9_941_000 as RefTimeWeight).saturating_mul(r as RefTimeWeight)) // Standard Error: 1_895_000 - .saturating_add(Weight::from_ref_time(50_628_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(50_628_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(r as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) diff --git a/parachains/runtimes/assets/westmint/src/weights/pallet_multisig.rs b/parachains/runtimes/assets/westmint/src/weights/pallet_multisig.rs index ab8bf52813d..3d8474e18e1 100644 --- a/parachains/runtimes/assets/westmint/src/weights/pallet_multisig.rs +++ b/parachains/runtimes/assets/westmint/src/weights/pallet_multisig.rs @@ -50,7 +50,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(z: u32, ) -> Weight { Weight::from_ref_time(17_854_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) } // Storage: Multisig Multisigs (r:1 w:1) // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) @@ -59,9 +59,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(36_613_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(96_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(96_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -73,9 +73,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(40_039_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(72_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(72_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -85,9 +85,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(26_059_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(82_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(82_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -98,9 +98,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(38_292_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(90_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(90_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -112,9 +112,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_complete(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(47_468_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(129_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(129_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -124,7 +124,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_create(s: u32, ) -> Weight { Weight::from_ref_time(33_492_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(110_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(110_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -134,7 +134,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_approve(s: u32, ) -> Weight { Weight::from_ref_time(22_147_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(113_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(113_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -145,7 +145,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_complete(s: u32, ) -> Weight { Weight::from_ref_time(66_106_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(161_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(161_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -155,7 +155,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn cancel_as_multi(s: u32, ) -> Weight { Weight::from_ref_time(52_566_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/westmint/src/weights/pallet_proxy.rs b/parachains/runtimes/assets/westmint/src/weights/pallet_proxy.rs index 4268eb2f1ba..1bd7ce2b45b 100644 --- a/parachains/runtimes/assets/westmint/src/weights/pallet_proxy.rs +++ b/parachains/runtimes/assets/westmint/src/weights/pallet_proxy.rs @@ -51,7 +51,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { Weight::from_ref_time(18_084_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(83_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(83_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) } // Storage: Proxy Proxies (r:1 w:0) @@ -62,9 +62,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy_announced(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(35_619_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(172_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(172_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(89_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(89_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -75,9 +75,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(24_774_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(190_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(190_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(33_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(33_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -88,9 +88,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn reject_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(25_855_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(160_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(160_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(15_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(15_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -102,9 +102,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn announce(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(32_874_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(172_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(172_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(97_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(97_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -113,7 +113,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn add_proxy(p: u32, ) -> Weight { Weight::from_ref_time(28_312_000 as RefTimeWeight) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(105_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(105_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -122,7 +122,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxy(p: u32, ) -> Weight { Weight::from_ref_time(28_197_000 as RefTimeWeight) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(121_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(121_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -131,7 +131,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxies(p: u32, ) -> Weight { Weight::from_ref_time(23_659_000 as RefTimeWeight) // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(106_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(106_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -141,7 +141,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn anonymous(p: u32, ) -> Weight { Weight::from_ref_time(31_575_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(35_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(35_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -150,7 +150,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn kill_anonymous(p: u32, ) -> Weight { Weight::from_ref_time(24_640_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(80_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(80_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } diff --git a/parachains/runtimes/assets/westmint/src/weights/pallet_uniques.rs b/parachains/runtimes/assets/westmint/src/weights/pallet_uniques.rs index 031dd20d1c1..365e23a8e98 100644 --- a/parachains/runtimes/assets/westmint/src/weights/pallet_uniques.rs +++ b/parachains/runtimes/assets/westmint/src/weights/pallet_uniques.rs @@ -79,11 +79,11 @@ impl pallet_uniques::WeightInfo for WeightInfo { fn destroy(n: u32, m: u32, a: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(10_956_000 as RefTimeWeight).scalar_saturating_mul(n as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(10_956_000 as RefTimeWeight).saturating_mul(n as RefTimeWeight)) // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(1_654_000 as RefTimeWeight).scalar_saturating_mul(m as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_654_000 as RefTimeWeight).saturating_mul(m as RefTimeWeight)) // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(1_572_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_572_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(n as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) @@ -124,7 +124,7 @@ impl pallet_uniques::WeightInfo for WeightInfo { fn redeposit(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(12_715_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(12_715_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) diff --git a/parachains/runtimes/assets/westmint/src/weights/pallet_utility.rs b/parachains/runtimes/assets/westmint/src/weights/pallet_utility.rs index 204fb572d9a..49970ae17e4 100644 --- a/parachains/runtimes/assets/westmint/src/weights/pallet_utility.rs +++ b/parachains/runtimes/assets/westmint/src/weights/pallet_utility.rs @@ -50,7 +50,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { Weight::from_ref_time(14_433_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_315_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_315_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn as_derivative() -> Weight { Weight::from_ref_time(5_234_000 as RefTimeWeight) @@ -59,7 +59,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch_all(c: u32, ) -> Weight { Weight::from_ref_time(16_023_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_466_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_466_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn dispatch_as() -> Weight { Weight::from_ref_time(12_588_000 as RefTimeWeight) @@ -68,6 +68,6 @@ impl pallet_utility::WeightInfo for WeightInfo { fn force_batch(c: u32, ) -> Weight { Weight::from_ref_time(16_094_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_280_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_280_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } } diff --git a/parachains/runtimes/assets/westmint/src/weights/xcm/mod.rs b/parachains/runtimes/assets/westmint/src/weights/xcm/mod.rs new file mode 100644 index 00000000000..52f643d8f5e --- /dev/null +++ b/parachains/runtimes/assets/westmint/src/weights/xcm/mod.rs @@ -0,0 +1,182 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. If not, see . + +mod pallet_xcm_benchmarks_fungible; +mod pallet_xcm_benchmarks_generic; + +use crate::Runtime; +use frame_support::weights::Weight; +use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight; +use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric; +use sp_std::prelude::*; +use xcm::{ + latest::{prelude::*, Weight as XCMWeight}, + DoubleEncoded, +}; + +trait WeighMultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight; +} + +const MAX_ASSETS: u32 = 100; + +impl WeighMultiAssets for MultiAssetFilter { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight { + let weight = match self { + Self::Definite(assets) => + weight.saturating_mul(assets.inner().into_iter().count() as u64), + Self::Wild(_) => weight.saturating_mul(MAX_ASSETS as u64), + }; + weight.ref_time() + } +} + +impl WeighMultiAssets for MultiAssets { + fn weigh_multi_assets(&self, weight: Weight) -> XCMWeight { + weight.saturating_mul(self.inner().into_iter().count() as u64).ref_time() + } +} + +pub struct WestmintXcmWeight(core::marker::PhantomData); +impl XcmWeightInfo for WestmintXcmWeight { + fn withdraw_asset(assets: &MultiAssets) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::withdraw_asset()) + } + // Currently there is no trusted reserve + fn reserve_asset_deposited(_assets: &MultiAssets) -> XCMWeight { + unimplemented!() + } + fn receive_teleported_asset(assets: &MultiAssets) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::receive_teleported_asset()) + } + fn query_response(_query_id: &u64, _response: &Response, _max_weight: &u64) -> XCMWeight { + XcmGeneric::::query_response().ref_time() + } + fn transfer_asset(assets: &MultiAssets, _dest: &MultiLocation) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_asset()) + } + fn transfer_reserve_asset( + assets: &MultiAssets, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::transfer_reserve_asset()) + } + fn transact( + _origin_type: &OriginKind, + _require_weight_at_most: &u64, + _call: &DoubleEncoded, + ) -> XCMWeight { + XcmGeneric::::transact().ref_time() + } + fn hrmp_new_channel_open_request( + _sender: &u32, + _max_message_size: &u32, + _max_capacity: &u32, + ) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn hrmp_channel_accepted(_recipient: &u32) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn hrmp_channel_closing(_initiator: &u32, _sender: &u32, _recipient: &u32) -> XCMWeight { + // XCM Executor does not currently support HRMP channel operations + Weight::MAX.ref_time() + } + fn clear_origin() -> XCMWeight { + XcmGeneric::::clear_origin().ref_time() + } + fn descend_origin(_who: &InteriorMultiLocation) -> XCMWeight { + XcmGeneric::::descend_origin().ref_time() + } + fn report_error( + _query_id: &QueryId, + _dest: &MultiLocation, + _max_response_weight: &u64, + ) -> XCMWeight { + XcmGeneric::::report_error().ref_time() + } + + fn deposit_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, + _dest: &MultiLocation, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_asset()) + } + fn deposit_reserve_asset( + assets: &MultiAssetFilter, + _max_assets: &u32, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::deposit_reserve_asset()) + } + fn exchange_asset(_give: &MultiAssetFilter, _receive: &MultiAssets) -> XCMWeight { + Weight::MAX.ref_time() + } + fn initiate_reserve_withdraw( + assets: &MultiAssetFilter, + _reserve: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmGeneric::::initiate_reserve_withdraw()) + } + fn initiate_teleport( + assets: &MultiAssetFilter, + _dest: &MultiLocation, + _xcm: &Xcm<()>, + ) -> XCMWeight { + assets.weigh_multi_assets(XcmFungibleWeight::::initiate_teleport()) + } + fn query_holding( + _query_id: &u64, + _dest: &MultiLocation, + _assets: &MultiAssetFilter, + _max_response_weight: &u64, + ) -> XCMWeight { + XcmGeneric::::query_holding().ref_time() + } + fn buy_execution(_fees: &MultiAsset, _weight_limit: &WeightLimit) -> XCMWeight { + XcmGeneric::::buy_execution().ref_time() + } + fn refund_surplus() -> XCMWeight { + XcmGeneric::::refund_surplus().ref_time() + } + fn set_error_handler(_xcm: &Xcm) -> XCMWeight { + XcmGeneric::::set_error_handler().ref_time() + } + fn set_appendix(_xcm: &Xcm) -> XCMWeight { + XcmGeneric::::set_appendix().ref_time() + } + fn clear_error() -> XCMWeight { + XcmGeneric::::clear_error().ref_time() + } + fn claim_asset(_assets: &MultiAssets, _ticket: &MultiLocation) -> XCMWeight { + XcmGeneric::::claim_asset().ref_time() + } + fn trap(_code: &u64) -> XCMWeight { + XcmGeneric::::trap().ref_time() + } + fn subscribe_version(_query_id: &QueryId, _max_response_weight: &u64) -> XCMWeight { + XcmGeneric::::subscribe_version().ref_time() + } + fn unsubscribe_version() -> XCMWeight { + XcmGeneric::::unsubscribe_version().ref_time() + } +} diff --git a/parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs new file mode 100644 index 00000000000..6cc7e3e48e6 --- /dev/null +++ b/parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -0,0 +1,107 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. 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: 2022-08-17, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westmint-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --pallet=pallet_xcm_benchmarks::fungible +// --chain=westmint-dev +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json +// --header=./file_header.txt +// --template=./templates/xcm-bench-template.hbs +// --output=./parachains/runtimes/assets/westmint/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::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// 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 { + Weight::from_ref_time(28_725_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: System Account (r:2 w:2) + pub(crate) fn transfer_asset() -> Weight { + Weight::from_ref_time(33_865_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + // Storage: System Account (r:2 w:2) + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn transfer_reserve_asset() -> Weight { + Weight::from_ref_time(48_839_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(8 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) + } + pub(crate) fn receive_teleported_asset() -> Weight { + Weight::from_ref_time(4_849_000 as RefTimeWeight) + } + // Storage: System Account (r:1 w:1) + pub(crate) fn deposit_asset() -> Weight { + Weight::from_ref_time(29_778_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: System Account (r:1 w:1) + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn deposit_reserve_asset() -> Weight { + Weight::from_ref_time(45_355_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(7 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) + } + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn initiate_teleport() -> Weight { + Weight::from_ref_time(23_451_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } +} diff --git a/parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs new file mode 100644 index 00000000000..1922a3ab4cf --- /dev/null +++ b/parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -0,0 +1,137 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. If not, see . + + +//! Autogenerated weights for `pallet_xcm_benchmarks::generic` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-08-17, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westmint-dev"), DB CACHE: 1024 + +// Executed Command: +// /home/benchbot/cargo_target_dir/production/polkadot-parachain +// benchmark +// pallet +// --steps=50 +// --repeat=20 +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --pallet=pallet_xcm_benchmarks::generic +// --chain=westmint-dev +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json +// --header=./file_header.txt +// --template=./templates/xcm-bench-template.hbs +// --output=./parachains/runtimes/assets/westmint/src/weights/xcm/pallet_xcm_benchmarks_generic.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// Weights for `pallet_xcm_benchmarks::generic`. +pub struct WeightInfo(PhantomData); +impl WeightInfo { + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn query_holding() -> Weight { + Weight::from_ref_time(676_316_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + pub(crate) fn buy_execution() -> Weight { + Weight::from_ref_time(7_030_000 as RefTimeWeight) + } + // Storage: PolkadotXcm Queries (r:1 w:0) + pub(crate) fn query_response() -> Weight { + Weight::from_ref_time(12_574_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + } + pub(crate) fn transact() -> Weight { + Weight::from_ref_time(15_764_000 as RefTimeWeight) + } + pub(crate) fn refund_surplus() -> Weight { + Weight::from_ref_time(7_200_000 as RefTimeWeight) + } + pub(crate) fn set_error_handler() -> Weight { + Weight::from_ref_time(3_310_000 as RefTimeWeight) + } + pub(crate) fn set_appendix() -> Weight { + Weight::from_ref_time(3_260_000 as RefTimeWeight) + } + pub(crate) fn clear_error() -> Weight { + Weight::from_ref_time(3_277_000 as RefTimeWeight) + } + pub(crate) fn descend_origin() -> Weight { + Weight::from_ref_time(3_913_000 as RefTimeWeight) + } + pub(crate) fn clear_origin() -> Weight { + Weight::from_ref_time(3_354_000 as RefTimeWeight) + } + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn report_error() -> Weight { + Weight::from_ref_time(13_028_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } + // Storage: PolkadotXcm AssetTraps (r:1 w:1) + pub(crate) fn claim_asset() -> Weight { + Weight::from_ref_time(7_739_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + pub(crate) fn trap() -> Weight { + Weight::from_ref_time(3_351_000 as RefTimeWeight) + } + // Storage: PolkadotXcm VersionNotifyTargets (r:1 w:1) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn subscribe_version() -> Weight { + Weight::from_ref_time(16_051_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) + } + // Storage: PolkadotXcm VersionNotifyTargets (r:0 w:1) + pub(crate) fn unsubscribe_version() -> Weight { + Weight::from_ref_time(5_477_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) + } + // Storage: ParachainInfo ParachainId (r:1 w:0) + // Storage: PolkadotXcm SupportedVersion (r:1 w:0) + // Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) + // Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) + // Storage: ParachainSystem HostConfiguration (r:1 w:0) + // Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) + pub(crate) fn initiate_reserve_withdraw() -> Weight { + Weight::from_ref_time(874_435_000 as RefTimeWeight) + .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) + .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) + } +} diff --git a/parachains/runtimes/assets/westmint/src/xcm_config.rs b/parachains/runtimes/assets/westmint/src/xcm_config.rs index 16d5b84b070..94a6ba6528a 100644 --- a/parachains/runtimes/assets/westmint/src/xcm_config.rs +++ b/parachains/runtimes/assets/westmint/src/xcm_config.rs @@ -34,11 +34,11 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, - FungiblesAdapter, IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, - RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, - SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, - UsingComponents, + ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FungiblesAdapter, IsConcrete, + LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, + WeightInfoBounds, }; use xcm_executor::{traits::JustTry, XcmExecutor}; @@ -129,8 +129,6 @@ pub type XcmOriginToTransactDispatchOrigin = ( ); parameter_types! { - // One XCM operation is 1_000_000_000 weight - almost certainly a conservative estimate. - pub UnitWeightCost: u64 = 1_000_000_000; pub const MaxInstructions: u32 = 100; pub XcmAssetFeesReceiver: Option = Authorship::author(); } @@ -169,7 +167,8 @@ impl xcm_executor::Config for XcmConfig { type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of WND type LocationInverter = LocationInverter; type Barrier = Barrier; - type Weigher = FixedWeightBounds; + type Weigher = + WeightInfoBounds, Call, MaxInstructions>; type Trader = ( UsingComponents>, cumulus_primitives_utility::TakeFirstAssetTrader< @@ -220,7 +219,8 @@ 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/parachains/runtimes/collectives/collectives-polkadot/Cargo.toml b/parachains/runtimes/collectives/collectives-polkadot/Cargo.toml index f8d7453c965..3bef7d21fe3 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/Cargo.toml +++ b/parachains/runtimes/collectives/collectives-polkadot/Cargo.toml @@ -100,8 +100,29 @@ runtime-benchmarks = [ "cumulus-pallet-xcmp-queue/runtime-benchmarks", ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-alliance/try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collective/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-multisig/try-runtime", + "pallet-proxy/try-runtime", + "pallet-session/try-runtime", + "pallet-sudo/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-utility/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] std = [ "codec/std", diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/impls.rs b/parachains/runtimes/collectives/collectives-polkadot/src/impls.rs index 4f821802172..941d2703348 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/impls.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/impls.rs @@ -20,7 +20,7 @@ use frame_support::{ weights::Weight, }; use pallet_alliance::{ProposalIndex, ProposalProvider}; -use sp_std::{boxed::Box, marker::PhantomData}; +use sp_std::{marker::PhantomData, prelude::*}; use xcm::latest::{Fungibility, Junction, NetworkId, Parent}; type AccountIdOf = ::AccountId; @@ -134,4 +134,12 @@ where fn proposal_of(proposal_hash: HashOf) -> Option> { pallet_collective::Pallet::::proposal_of(proposal_hash) } + + fn proposals() -> Vec> { + pallet_collective::Pallet::::proposals().into_inner() + } + + fn proposals_count() -> u32 { + pallet_collective::Proposals::::decode_len().unwrap_or(0) as u32 + } } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/lib.rs b/parachains/runtimes/collectives/collectives-polkadot/src/lib.rs index bc256d3a5f7..4343e36718b 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/lib.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/lib.rs @@ -338,8 +338,8 @@ impl pallet_proxy::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -697,8 +697,15 @@ impl_runtime_apis! { (weight, RuntimeBlockWeights::get().max_block) } - fn execute_block_no_check(block: Block) -> Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::collectives-polkadot", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/block_weights.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/block_weights.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/extrinsic_weights.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/extrinsic_weights.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/frame_system.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/frame_system.rs index 2611ff4c722..cbb817875e4 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/frame_system.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/frame_system.rs @@ -54,7 +54,7 @@ impl frame_system::WeightInfo for WeightInfo { fn remark_with_event(b: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) @@ -68,7 +68,7 @@ impl frame_system::WeightInfo for WeightInfo { fn set_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(624_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(624_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -76,7 +76,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(530_000 as RefTimeWeight).scalar_saturating_mul(i as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(530_000 as RefTimeWeight).saturating_mul(i as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(i as RefTimeWeight))) } // Storage: Skipped Metadata (r:0 w:0) @@ -84,7 +84,7 @@ impl frame_system::WeightInfo for WeightInfo { fn kill_prefix(p: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_059_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_059_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(p as RefTimeWeight))) } } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_alliance.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_alliance.rs index ecbda4eb2f6..c31d53eec27 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_alliance.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_alliance.rs @@ -58,7 +58,7 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn propose_proposed(_b: u32, _x: u32, _y: u32, p: u32, ) -> Weight { Weight::from_ref_time(53_023_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(132_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(132_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(4 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) } @@ -69,9 +69,9 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn vote(x: u32, y: u32, ) -> Weight { Weight::from_ref_time(33_003_000 as RefTimeWeight) // Standard Error: 106_000 - .saturating_add(Weight::from_ref_time(312_000 as RefTimeWeight).scalar_saturating_mul(x as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(312_000 as RefTimeWeight).saturating_mul(x as RefTimeWeight)) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(82_000 as RefTimeWeight).scalar_saturating_mul(y as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(82_000 as RefTimeWeight).saturating_mul(y as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -83,7 +83,7 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn veto(p: u32, ) -> Weight { Weight::from_ref_time(27_289_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(131_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(131_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -98,11 +98,11 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn close_early_disapproved(x: u32, y: u32, p: u32, ) -> Weight { Weight::from_ref_time(31_884_000 as RefTimeWeight) // Standard Error: 72_000 - .saturating_add(Weight::from_ref_time(358_000 as RefTimeWeight).scalar_saturating_mul(x as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(358_000 as RefTimeWeight).saturating_mul(x as RefTimeWeight)) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).scalar_saturating_mul(y as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).saturating_mul(y as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(4 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -118,13 +118,13 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn close_early_approved(b: u32, x: u32, y: u32, p: u32, ) -> Weight { Weight::from_ref_time(43_205_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) // Standard Error: 73_000 - .saturating_add(Weight::from_ref_time(123_000 as RefTimeWeight).scalar_saturating_mul(x as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(123_000 as RefTimeWeight).saturating_mul(x as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(91_000 as RefTimeWeight).scalar_saturating_mul(y as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(91_000 as RefTimeWeight).saturating_mul(y as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(114_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(114_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -141,11 +141,11 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn close_disapproved(x: u32, y: u32, p: u32, ) -> Weight { Weight::from_ref_time(49_769_000 as RefTimeWeight) // Standard Error: 69_000 - .saturating_add(Weight::from_ref_time(352_000 as RefTimeWeight).scalar_saturating_mul(x as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(352_000 as RefTimeWeight).saturating_mul(x as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(81_000 as RefTimeWeight).scalar_saturating_mul(y as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(81_000 as RefTimeWeight).saturating_mul(y as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(100_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(100_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(6 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) } @@ -162,11 +162,11 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn close_approved(b: u32, _x: u32, y: u32, p: u32, ) -> Weight { Weight::from_ref_time(40_901_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(79_000 as RefTimeWeight).scalar_saturating_mul(y as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(79_000 as RefTimeWeight).saturating_mul(y as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(102_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(102_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -178,9 +178,9 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn init_members(_x: u32, y: u32, z: u32, ) -> Weight { Weight::from_ref_time(39_647_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(123_000 as RefTimeWeight).scalar_saturating_mul(y as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(123_000 as RefTimeWeight).saturating_mul(y as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(116_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(116_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(4 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(4 as RefTimeWeight)) } @@ -257,9 +257,9 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn add_unscrupulous_items(n: u32, l: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_300_000 as RefTimeWeight).scalar_saturating_mul(n as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_300_000 as RefTimeWeight).saturating_mul(n as RefTimeWeight)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(125_000 as RefTimeWeight).scalar_saturating_mul(l as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(125_000 as RefTimeWeight).saturating_mul(l as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -270,9 +270,9 @@ impl pallet_alliance::WeightInfo for WeightInfo { fn remove_unscrupulous_items(n: u32, l: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 197_000 - .saturating_add(Weight::from_ref_time(34_156_000 as RefTimeWeight).scalar_saturating_mul(n as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(34_156_000 as RefTimeWeight).saturating_mul(n as RefTimeWeight)) // Standard Error: 87_000 - .saturating_add(Weight::from_ref_time(7_042_000 as RefTimeWeight).scalar_saturating_mul(l as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(7_042_000 as RefTimeWeight).saturating_mul(l as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_collator_selection.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_collator_selection.rs index 251d664e393..0b11b4e86ad 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_collator_selection.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_collator_selection.rs @@ -52,7 +52,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn set_invulnerables(b: u32, ) -> Weight { Weight::from_ref_time(7_128_000 as RefTimeWeight) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(3_105_000 as RefTimeWeight).scalar_saturating_mul(b as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_105_000 as RefTimeWeight).saturating_mul(b as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((1 as RefTimeWeight).saturating_mul(b as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -76,7 +76,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn register_as_candidate(c: u32, ) -> Weight { Weight::from_ref_time(56_086_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(93_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(93_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(5 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -86,7 +86,7 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn leave_intent(c: u32, ) -> Weight { Weight::from_ref_time(58_436_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(102_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(102_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -108,9 +108,9 @@ impl pallet_collator_selection::WeightInfo for WeightIn fn new_session(r: u32, c: u32, ) -> Weight { Weight::from_ref_time(0 as RefTimeWeight) // Standard Error: 1_911_000 - .saturating_add(Weight::from_ref_time(9_907_000 as RefTimeWeight).scalar_saturating_mul(r as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(9_907_000 as RefTimeWeight).saturating_mul(r as RefTimeWeight)) // Standard Error: 1_911_000 - .saturating_add(Weight::from_ref_time(50_916_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(50_916_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads((2 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(r as RefTimeWeight))) .saturating_add(T::DbWeight::get().writes((1 as RefTimeWeight).saturating_mul(c as RefTimeWeight))) diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_multisig.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_multisig.rs index 9ab03863a00..2da4037684b 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_multisig.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_multisig.rs @@ -50,7 +50,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_threshold_1(z: u32, ) -> Weight { Weight::from_ref_time(17_905_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) } // Storage: Multisig Multisigs (r:1 w:1) // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) @@ -59,9 +59,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(34_787_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(105_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(105_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -73,9 +73,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_create_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(38_845_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(75_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(75_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -85,9 +85,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(25_600_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(76_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(76_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -98,9 +98,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_approve_store(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(36_944_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(95_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(95_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -112,9 +112,9 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn as_multi_complete(s: u32, z: u32, ) -> Weight { Weight::from_ref_time(46_014_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(126_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(126_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).saturating_mul(z as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -124,7 +124,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_create(s: u32, ) -> Weight { Weight::from_ref_time(31_616_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(117_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -134,7 +134,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_approve(s: u32, ) -> Weight { Weight::from_ref_time(20_862_000 as RefTimeWeight) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(109_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -145,7 +145,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn approve_as_multi_complete(s: u32, ) -> Weight { Weight::from_ref_time(64_311_000 as RefTimeWeight) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(164_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(164_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight)) } @@ -155,7 +155,7 @@ impl pallet_multisig::WeightInfo for WeightInfo { fn cancel_as_multi(s: u32, ) -> Weight { Weight::from_ref_time(51_181_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(110_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(110_000 as RefTimeWeight).saturating_mul(s as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_proxy.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_proxy.rs index 79afbf6a128..534a8d1a0a6 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_proxy.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_proxy.rs @@ -51,7 +51,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy(p: u32, ) -> Weight { Weight::from_ref_time(16_628_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(90_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(90_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) } // Storage: Proxy Proxies (r:1 w:0) @@ -62,9 +62,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn proxy_announced(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(33_846_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(175_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(175_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(88_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(88_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -75,9 +75,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(23_633_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(184_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(184_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(29_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(29_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -88,9 +88,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn reject_announcement(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(24_121_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(177_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(177_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(15_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(15_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -102,9 +102,9 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn announce(a: u32, p: u32, ) -> Weight { Weight::from_ref_time(31_509_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(172_000 as RefTimeWeight).scalar_saturating_mul(a as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(172_000 as RefTimeWeight).saturating_mul(a as RefTimeWeight)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(86_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(86_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight)) } @@ -113,7 +113,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn add_proxy(p: u32, ) -> Weight { Weight::from_ref_time(26_168_000 as RefTimeWeight) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(127_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(127_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -122,7 +122,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxy(p: u32, ) -> Weight { Weight::from_ref_time(26_306_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(131_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(131_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -131,7 +131,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn remove_proxies(p: u32, ) -> Weight { Weight::from_ref_time(22_287_000 as RefTimeWeight) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(85_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -141,7 +141,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn anonymous(p: u32, ) -> Weight { Weight::from_ref_time(29_260_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(38_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(38_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } @@ -150,7 +150,7 @@ impl pallet_proxy::WeightInfo for WeightInfo { fn kill_anonymous(p: u32, ) -> Weight { Weight::from_ref_time(23_012_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(97_000 as RefTimeWeight).scalar_saturating_mul(p as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(97_000 as RefTimeWeight).saturating_mul(p as RefTimeWeight)) .saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight)) .saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight)) } diff --git a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_utility.rs b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_utility.rs index 5e57bdda111..1c5457a67b2 100644 --- a/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_utility.rs +++ b/parachains/runtimes/collectives/collectives-polkadot/src/weights/pallet_utility.rs @@ -50,7 +50,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { Weight::from_ref_time(13_398_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_159_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_159_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn as_derivative() -> Weight { Weight::from_ref_time(4_668_000 as RefTimeWeight) @@ -59,7 +59,7 @@ impl pallet_utility::WeightInfo for WeightInfo { fn batch_all(c: u32, ) -> Weight { Weight::from_ref_time(10_742_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_375_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_375_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } fn dispatch_as() -> Weight { Weight::from_ref_time(11_022_000 as RefTimeWeight) @@ -68,6 +68,6 @@ impl pallet_utility::WeightInfo for WeightInfo { fn force_batch(c: u32, ) -> Weight { Weight::from_ref_time(14_280_000 as RefTimeWeight) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_150_000 as RefTimeWeight).scalar_saturating_mul(c as RefTimeWeight)) + .saturating_add(Weight::from_ref_time(3_150_000 as RefTimeWeight).saturating_mul(c as RefTimeWeight)) } } diff --git a/parachains/runtimes/contracts/contracts-rococo/Cargo.toml b/parachains/runtimes/contracts/contracts-rococo/Cargo.toml index 513d31f3314..379156f4260 100644 --- a/parachains/runtimes/contracts/contracts-rococo/Cargo.toml +++ b/parachains/runtimes/contracts/contracts-rococo/Cargo.toml @@ -162,6 +162,26 @@ runtime-benchmarks = [ ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-contracts/try-runtime", + "pallet-multisig/try-runtime", + "pallet-randomness-collective-flip/try-runtime", + "pallet-session/try-runtime", + "pallet-sudo/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-utility/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] diff --git a/parachains/runtimes/contracts/contracts-rococo/src/lib.rs b/parachains/runtimes/contracts/contracts-rococo/src/lib.rs index b3740451807..464272ef9ff 100644 --- a/parachains/runtimes/contracts/contracts-rococo/src/lib.rs +++ b/parachains/runtimes/contracts/contracts-rococo/src/lib.rs @@ -243,8 +243,8 @@ impl pallet_utility::Config for Runtime { } parameter_types! { - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -569,8 +569,15 @@ impl pallet_contracts_rpc_runtime_api::ContractsApi Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::contracts", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } diff --git a/parachains/runtimes/contracts/contracts-rococo/src/weights/block_weights.rs b/parachains/runtimes/contracts/contracts-rococo/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachains/runtimes/contracts/contracts-rococo/src/weights/block_weights.rs +++ b/parachains/runtimes/contracts/contracts-rococo/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachains/runtimes/contracts/contracts-rococo/src/weights/extrinsic_weights.rs b/parachains/runtimes/contracts/contracts-rococo/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachains/runtimes/contracts/contracts-rococo/src/weights/extrinsic_weights.rs +++ b/parachains/runtimes/contracts/contracts-rococo/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/runtimes/starters/seedling/src/lib.rs b/parachains/runtimes/starters/seedling/src/lib.rs index b0499882ec6..c1c26a32ed6 100644 --- a/parachains/runtimes/starters/seedling/src/lib.rs +++ b/parachains/runtimes/starters/seedling/src/lib.rs @@ -83,7 +83,7 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for .5 seconds of compute with a 12 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); parameter_types! { pub const BlockHashCount: BlockNumber = 250; diff --git a/parachains/runtimes/starters/shell/src/lib.rs b/parachains/runtimes/starters/shell/src/lib.rs index 7e82fa37e76..31a95e20d95 100644 --- a/parachains/runtimes/starters/shell/src/lib.rs +++ b/parachains/runtimes/starters/shell/src/lib.rs @@ -90,7 +90,7 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for .5 seconds of compute with a 12 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -160,7 +160,7 @@ impl frame_system::Config for Runtime { parameter_types! { // We do anything the parent chain tells us in this runtime. - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(2); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(2); } impl cumulus_pallet_parachain_system::Config for Runtime { diff --git a/parachains/runtimes/testing/penpal/Cargo.toml b/parachains/runtimes/testing/penpal/Cargo.toml index 168de417004..0725eb477e0 100644 --- a/parachains/runtimes/testing/penpal/Cargo.toml +++ b/parachains/runtimes/testing/penpal/Cargo.toml @@ -147,6 +147,24 @@ runtime-benchmarks = [ ] try-runtime = [ + "cumulus-pallet-aura-ext/try-runtime", + "cumulus-pallet-dmp-queue/try-runtime", + "cumulus-pallet-parachain-system/try-runtime", + "cumulus-pallet-xcm/try-runtime", + "cumulus-pallet-xcmp-queue/try-runtime", "frame-executive/try-runtime", + "frame-system/try-runtime", "frame-try-runtime", + "pallet-aura/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-collator-selection/try-runtime", + "pallet-session/try-runtime", + "pallet-sudo/try-runtime", + "pallet-timestamp/try-runtime", + "pallet-transaction-payment/try-runtime", + "pallet-assets/try-runtime", + "pallet-asset-tx-payment/try-runtime", + "pallet-xcm/try-runtime", + "parachain-info/try-runtime", ] diff --git a/parachains/runtimes/testing/penpal/src/lib.rs b/parachains/runtimes/testing/penpal/src/lib.rs index f98583a9d1d..4789e1240c4 100644 --- a/parachains/runtimes/testing/penpal/src/lib.rs +++ b/parachains/runtimes/testing/penpal/src/lib.rs @@ -227,7 +227,7 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(5); const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 of a second of compute with a 12 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); /// The version information used to identify this runtime when compiled natively. #[cfg(feature = "std")] @@ -406,8 +406,8 @@ impl pallet_assets::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { @@ -694,13 +694,20 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade() -> (Weight, Weight) { - log::info!("try-runtime::on_runtime_upgrade parachain-template."); + log::info!("try-runtime::on_runtime_upgrade penpal."); let weight = Executive::try_runtime_upgrade().unwrap(); (weight, RuntimeBlockWeights::get().max_block) } - fn execute_block_no_check(block: Block) -> Weight { - Executive::execute_block_no_check(block) + fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + log::info!( + target: "runtime::penpal", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + block.header.number, + block.header.hash(), + state_root_check, + select, + ); + Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") } } diff --git a/parachains/runtimes/testing/penpal/src/weights/block_weights.rs b/parachains/runtimes/testing/penpal/src/weights/block_weights.rs index c171a1fdd71..7d4a931bd12 100644 --- a/parachains/runtimes/testing/penpal/src/weights/block_weights.rs +++ b/parachains/runtimes/testing/penpal/src/weights/block_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. - pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(5_000_000); + pub const BlockExecutionWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(5_000_000); } #[cfg(test)] @@ -38,9 +38,12 @@ pub mod constants { let w = super::constants::BlockExecutionWeight::get(); // At least 100 µs. - assert!(w >= 100 * constants::WEIGHT_PER_MICROS, "Weight should be at least 100 µs."); + assert!( + w >= 100u64 * constants::WEIGHT_PER_MICROS, + "Weight should be at least 100 µs." + ); // At most 50 ms. - assert!(w <= 50 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); + assert!(w <= 50u64 * constants::WEIGHT_PER_MILLIS, "Weight should be at most 50 ms."); } } } diff --git a/parachains/runtimes/testing/penpal/src/weights/extrinsic_weights.rs b/parachains/runtimes/testing/penpal/src/weights/extrinsic_weights.rs index 6e162888356..6c6b4a497d8 100644 --- a/parachains/runtimes/testing/penpal/src/weights/extrinsic_weights.rs +++ b/parachains/runtimes/testing/penpal/src/weights/extrinsic_weights.rs @@ -23,7 +23,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. - pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.scalar_saturating_mul(125_000); + pub const ExtrinsicBaseWeight: Weight = constants::WEIGHT_PER_NANOS.saturating_mul(125_000); } #[cfg(test)] @@ -38,7 +38,7 @@ pub mod constants { let w = super::constants::ExtrinsicBaseWeight::get(); // At least 10 µs. - assert!(w >= 10 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); + assert!(w >= 10u64 * constants::WEIGHT_PER_MICROS, "Weight should be at least 10 µs."); // At most 1 ms. assert!(w <= constants::WEIGHT_PER_MILLIS, "Weight should be at most 1 ms."); } diff --git a/parachains/runtimes/testing/rococo-parachain/src/lib.rs b/parachains/runtimes/testing/rococo-parachain/src/lib.rs index f0729485f51..3515e320308 100644 --- a/parachains/runtimes/testing/rococo-parachain/src/lib.rs +++ b/parachains/runtimes/testing/rococo-parachain/src/lib.rs @@ -132,7 +132,7 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for .5 seconds of compute with a 12 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -254,8 +254,8 @@ impl pallet_sudo::Config for Runtime { } parameter_types! { - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.scalar_div(4); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); } impl cumulus_pallet_parachain_system::Config for Runtime { diff --git a/scripts/benchmarks-ci.sh b/scripts/benchmarks-ci.sh index ff87c643a09..6ac63e9ab34 100755 --- a/scripts/benchmarks-ci.sh +++ b/scripts/benchmarks-ci.sh @@ -22,6 +22,8 @@ if [[ $runtimeName == "statemint" ]] || [[ $runtimeName == "statemine" ]] || [[ pallet_uniques cumulus_pallet_xcmp_queue frame_system + pallet_xcm_benchmarks::generic + pallet_xcm_benchmarks::fungible ) elif [[ $runtimeName == "collectives-polkadot" ]]; then pallets=( @@ -44,6 +46,11 @@ fi for pallet in ${pallets[@]} do + # a little hack for xcm benchmarks + output_file="${pallet//::/_}" + if [[ "$pallet" == *"xcm"* ]]; then + output_file="xcm/$output_file" + fi $artifactsDir/polkadot-parachain benchmark pallet \ --chain=$benchmarkRuntimeName \ --execution=wasm \ @@ -53,7 +60,6 @@ do --steps=$steps \ --repeat=$repeat \ --json \ - --header=./file_header.txt \ - --output=$benchmarkOutput >> $artifactsDir/${pallet}_benchmark.json - + --header=./file_header.txt \ + --output="${benchmarkOutput}/${output_file}.rs" >> $artifactsDir/${pallet}_benchmark.json done diff --git a/templates/xcm-bench-template.hbs b/templates/xcm-bench-template.hbs new file mode 100644 index 00000000000..f7faa6e8f26 --- /dev/null +++ b/templates/xcm-bench-template.hbs @@ -0,0 +1,68 @@ +// Copyright 2022 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus 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. + +// Cumulus 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 Cumulus. 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}}` +//! HOSTNAME: `{{hostname}}`, CPU: `{{cpuname}}` +//! 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::{RefTimeWeight, Weight}}; +use sp_std::marker::PhantomData; + +/// Weights for `{{pallet}}`. +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 { + Weight::from_ref_time({{underscore benchmark.base_weight}} as RefTimeWeight) + {{#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(Weight::from_ref_time({{underscore cw.slope}}).saturating_mul({{cw.name}} as RefTimeWeight)) + {{/each}} + {{#if (ne benchmark.base_reads "0")}} + .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as RefTimeWeight)) + {{/if}} + {{#each benchmark.component_reads as |cr|}} + .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as RefTimeWeight).saturating_mul({{cr.name}} as RefTimeWeight))) + {{/each}} + {{#if (ne benchmark.base_writes "0")}} + .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as RefTimeWeight)) + {{/if}} + {{#each benchmark.component_writes as |cw|}} + .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as RefTimeWeight).saturating_mul({{cw.name}} as RefTimeWeight))) + {{/each}} + } + {{/each}} +} diff --git a/test/runtime/src/lib.rs b/test/runtime/src/lib.rs index 7feb25aa26a..225b874f363 100644 --- a/test/runtime/src/lib.rs +++ b/test/runtime/src/lib.rs @@ -138,7 +138,7 @@ const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// by Operational extrinsics. const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for .5 seconds of compute with a 12 second average block time. -const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.scalar_div(2); +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); parameter_types! { pub const BlockHashCount: BlockNumber = 250; @@ -348,7 +348,7 @@ pub struct TestOnRuntimeUpgrade; impl OnRuntimeUpgrade for TestOnRuntimeUpgrade { fn on_runtime_upgrade() -> frame_support::weights::Weight { assert_eq!(sp_io::storage::get(TEST_RUNTIME_UPGRADE_KEY), Some(vec![1, 2, 3, 4].into())); - Weight::one() + Weight::from_ref_time(1) } }