diff --git a/Cargo.lock b/Cargo.lock index 3918fd8ae846..d244c8681082 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1997,7 +1997,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", ] @@ -2015,7 +2015,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -2034,13 +2034,15 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "Inflector", "chrono", "frame-benchmarking", "frame-support", "handlebars", + "linked-hash-map", + "log", "parity-scale-codec", "sc-cli", "sc-client-db", @@ -2058,7 +2060,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -2071,7 +2073,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -2086,7 +2088,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "14.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "serde", @@ -2097,7 +2099,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "bitflags", "frame-metadata", @@ -2123,7 +2125,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2135,7 +2137,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2147,7 +2149,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro2", "quote", @@ -2157,7 +2159,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-metadata", "frame-support", @@ -2178,7 +2180,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -2188,7 +2190,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2205,7 +2207,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -2219,7 +2221,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sp-api", @@ -2228,7 +2230,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "parity-scale-codec", @@ -4059,9 +4061,9 @@ dependencies = [ [[package]] name = "linked-hash-map" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" +checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" [[package]] name = "linked_hash_set" @@ -4702,7 +4704,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -4717,7 +4719,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -4731,7 +4733,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4754,7 +4756,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4807,7 +4809,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4885,7 +4887,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4901,7 +4903,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4916,7 +4918,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4937,7 +4939,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4954,7 +4956,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4968,7 +4970,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -4990,7 +4992,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5005,7 +5007,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5024,7 +5026,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5040,7 +5042,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5055,7 +5057,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -5072,7 +5074,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5088,7 +5090,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5106,7 +5108,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5121,7 +5123,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5134,7 +5136,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5150,7 +5152,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5172,7 +5174,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5187,7 +5189,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "enumflags2", "frame-support", @@ -5201,7 +5203,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5216,7 +5218,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5236,7 +5238,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5252,7 +5254,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5265,7 +5267,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5289,7 +5291,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5300,7 +5302,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "log", "sp-arithmetic", @@ -5309,7 +5311,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5322,7 +5324,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5340,7 +5342,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5355,7 +5357,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-support", "frame-system", @@ -5371,7 +5373,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5388,7 +5390,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5399,7 +5401,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5415,7 +5417,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-benchmarking", "frame-support", @@ -5430,7 +5432,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7922,7 +7924,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "env_logger 0.8.4", "hex", @@ -8221,7 +8223,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "log", "sp-core", @@ -8232,7 +8234,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "derive_more", @@ -8261,7 +8263,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8284,7 +8286,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8300,7 +8302,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8320,7 +8322,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8331,7 +8333,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "chrono", "fdlimit", @@ -8369,7 +8371,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "fnv", @@ -8403,7 +8405,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "blake2-rfc", "hash-db", @@ -8432,7 +8434,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "futures 0.3.15", @@ -8457,7 +8459,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "derive_more", @@ -8504,7 +8506,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "futures 0.3.15", @@ -8528,7 +8530,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8541,7 +8543,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "assert_matches", "async-trait", @@ -8577,7 +8579,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "futures 0.3.15", @@ -8606,7 +8608,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "sc-client-api", "sp-authorship", @@ -8617,7 +8619,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "lazy_static", @@ -8646,7 +8648,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "parity-scale-codec", @@ -8663,7 +8665,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "log", "parity-scale-codec", @@ -8678,7 +8680,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8698,7 +8700,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "derive_more", @@ -8739,7 +8741,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "finality-grandpa", @@ -8763,7 +8765,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "futures 0.3.15", @@ -8784,7 +8786,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8802,7 +8804,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "derive_more", @@ -8822,7 +8824,7 @@ dependencies = [ [[package]] name = "sc-light" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "hash-db", "lazy_static", @@ -8841,7 +8843,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-std", "async-trait", @@ -8895,7 +8897,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8912,7 +8914,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "bytes 0.5.6", "fnv", @@ -8940,7 +8942,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "libp2p", @@ -8953,7 +8955,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8962,7 +8964,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "hash-db", @@ -8997,7 +8999,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "futures 0.3.15", @@ -9022,7 +9024,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -9040,7 +9042,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "directories", @@ -9108,7 +9110,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "log", "parity-scale-codec", @@ -9123,7 +9125,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -9143,7 +9145,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "chrono", "futures 0.3.15", @@ -9163,7 +9165,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "ansi_term 0.12.1", "atty", @@ -9200,7 +9202,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9211,7 +9213,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "futures 0.3.15", @@ -9240,7 +9242,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "derive_more", "futures 0.3.15", @@ -9682,7 +9684,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "hash-db", "log", @@ -9699,7 +9701,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9711,7 +9713,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "serde", @@ -9723,7 +9725,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "integer-sqrt", "num-traits", @@ -9737,7 +9739,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sp-api", @@ -9749,7 +9751,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "parity-scale-codec", @@ -9761,7 +9763,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sp-api", @@ -9773,7 +9775,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "log", @@ -9791,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "futures 0.3.15", @@ -9817,7 +9819,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "merlin", @@ -9839,7 +9841,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9849,7 +9851,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9861,7 +9863,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "base58", "blake2-rfc", @@ -9905,7 +9907,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9914,7 +9916,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro2", "quote", @@ -9924,7 +9926,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "environmental", "parity-scale-codec", @@ -9935,7 +9937,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "finality-grandpa", "log", @@ -9952,7 +9954,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9966,7 +9968,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "hash-db", @@ -9991,7 +9993,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "lazy_static", "sp-core", @@ -10002,7 +10004,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "derive_more", @@ -10019,7 +10021,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "ruzstd", "zstd", @@ -10028,7 +10030,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "serde", @@ -10041,7 +10043,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -10052,7 +10054,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "sp-api", "sp-core", @@ -10062,7 +10064,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "backtrace", ] @@ -10070,7 +10072,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "rustc-hash", "serde", @@ -10081,7 +10083,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "either", "hash256-std-hasher", @@ -10102,7 +10104,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10119,7 +10121,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -10131,7 +10133,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "serde", "serde_json", @@ -10140,7 +10142,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sp-api", @@ -10153,7 +10155,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -10163,7 +10165,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "hash-db", "log", @@ -10186,12 +10188,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" [[package]] name = "sp-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10204,7 +10206,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "log", "sp-core", @@ -10217,7 +10219,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -10234,7 +10236,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "erased-serde", "log", @@ -10252,7 +10254,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "sp-api", "sp-runtime", @@ -10261,7 +10263,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "log", @@ -10276,7 +10278,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "hash-db", "memory-db", @@ -10290,7 +10292,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "futures-core", @@ -10302,7 +10304,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10317,7 +10319,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -10329,7 +10331,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10514,7 +10516,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "chrono", "console_error_panic_hook", @@ -10540,7 +10542,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "platforms", ] @@ -10548,7 +10550,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10571,7 +10573,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-std", "derive_more", @@ -10585,7 +10587,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "async-trait", "futures 0.1.29", @@ -10614,7 +10616,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10624,7 +10626,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10634,7 +10636,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "ansi_term 0.12.1", "atty", @@ -10796,7 +10798,7 @@ dependencies = [ [[package]] name = "test-runner" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-system", "futures 0.3.15", @@ -11435,7 +11437,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#4d28ebeb8b027ca0227fe7779c5beb70a7b56467" +source = "git+https://github.com/paritytech/substrate?branch=master#c1811602d725a9421a067f0bacfc3ceafc44ae18" dependencies = [ "frame-try-runtime", "log", diff --git a/bridges/bin/rialto/runtime/src/lib.rs b/bridges/bin/rialto/runtime/src/lib.rs index 1dd5a10b4530..0a2ae64fe033 100644 --- a/bridges/bin/rialto/runtime/src/lib.rs +++ b/bridges/bin/rialto/runtime/src/lib.rs @@ -40,16 +40,20 @@ pub mod rialto_poa; use crate::millau_messages::{ToMillauMessagePayload, WithMillauMessageBridge}; -use bridge_runtime_common::messages::{source::estimate_message_dispatch_and_delivery_fee, MessageBridge}; +use bridge_runtime_common::messages::{ + source::estimate_message_dispatch_and_delivery_fee, MessageBridge, +}; use codec::Decode; -use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList}; +use pallet_grandpa::{ + fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList, +}; use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; use sp_api::impl_runtime_apis; use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -use sp_runtime::traits::{Block as BlockT, IdentityLookup, NumberFor, OpaqueKeys}; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, + traits::{Block as BlockT, IdentityLookup, NumberFor, OpaqueKeys}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, MultiSignature, MultiSigner, }; @@ -146,10 +150,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { /// The version information used to identify this runtime when compiled natively. #[cfg(feature = "std")] pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } } parameter_types! { @@ -278,10 +279,15 @@ impl bp_currency_exchange::DepositInto for DepositInto { type Recipient = AccountId; type Amount = Balance; - fn deposit_into(recipient: Self::Recipient, amount: Self::Amount) -> bp_currency_exchange::Result<()> { + fn deposit_into( + recipient: Self::Recipient, + amount: Self::Amount, + ) -> bp_currency_exchange::Result<()> { // let balances module make all checks for us (it won't allow depositing lower than existential // deposit, balance overflow, ...) - let deposited = as Currency>::deposit_creating(&recipient, amount); + let deposited = as Currency>::deposit_creating( + &recipient, amount, + ); // I'm dropping deposited here explicitly to illustrate the fact that it'll update `TotalIssuance` // on drop @@ -302,7 +308,7 @@ impl bp_currency_exchange::DepositInto for DepositInto { ); Ok(()) - } + }, _ if deposited_amount == 0 => { log::error!( target: "runtime", @@ -312,7 +318,7 @@ impl bp_currency_exchange::DepositInto for DepositInto { ); Err(bp_currency_exchange::Error::DepositFailed) - } + }, _ => { log::error!( target: "runtime", @@ -324,7 +330,7 @@ impl bp_currency_exchange::DepositInto for DepositInto { // we can't return DepositFailed error here, because storage changes were made Err(bp_currency_exchange::Error::DepositPartiallyFailed) - } + }, } } } @@ -333,9 +339,12 @@ impl pallet_grandpa::Config for Runtime { type Event = Event; type Call = Call; type KeyOwnerProofSystem = (); - type KeyOwnerProof = >::Proof; - type KeyOwnerIdentification = - >::IdentificationTuple; + type KeyOwnerProof = + >::Proof; + type KeyOwnerIdentification = >::IdentificationTuple; type HandleEquivocation = (); // TODO: update me (https://github.com/paritytech/parity-bridges-common/issues/78) type WeightInfo = (); @@ -485,12 +494,13 @@ impl pallet_bridge_messages::Config for Runtime { type TargetHeaderChain = crate::millau_messages::Millau; type LaneMessageVerifier = crate::millau_messages::ToMillauMessageVerifier; - type MessageDeliveryAndDispatchPayment = pallet_bridge_messages::instant_payments::InstantCurrencyPayments< - Runtime, - pallet_balances::Pallet, - GetDeliveryConfirmationTransactionFee, - RootAccountForPayments, - >; + type MessageDeliveryAndDispatchPayment = + pallet_bridge_messages::instant_payments::InstantCurrencyPayments< + Runtime, + pallet_balances::Pallet, + GetDeliveryConfirmationTransactionFee, + RootAccountForPayments, + >; type OnDeliveryConfirmed = (); type SourceHeaderChain = crate::millau_messages::Millau; @@ -550,8 +560,13 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = - frame_executive::Executive, Runtime, AllPallets>; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPallets, +>; impl_runtime_apis! { impl sp_api::Core for Runtime { @@ -802,10 +817,36 @@ impl_runtime_apis! { #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList}; + use frame_support::traits::StorageInfoTrait; + + list_benchmark!( + list, + extra, + pallet_bridge_currency_exchange, + BridgeCurrencyExchangeBench:: + ); + list_benchmark!( + list, + extra, + pallet_bridge_messages, + MessagesBench:: + ); + list_benchmark!(list, extra, pallet_bridge_grandpa, BridgeMillauGrandpa); + + let storage_info = AllPalletsWithSystem::storage_info(); + + return (list, storage_info) + } + fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig, ) -> Result< - (Vec, Vec), + Vec, sp_runtime::RuntimeString, > { use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; @@ -1051,8 +1092,7 @@ impl_runtime_apis! { add_benchmark!(params, batches, pallet_bridge_grandpa, BridgeMillauGrandpa); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - let storage_info = AllPalletsWithSystem::storage_info(); - Ok((batches, storage_info)) + Ok(batches) } } } @@ -1088,7 +1128,8 @@ mod tests { use bridge_runtime_common::messages; fn run_deposit_into_test(test: impl Fn(AccountId) -> Balance) { - let mut ext: sp_io::TestExternalities = SystemConfig::default().build_storage::().unwrap().into(); + let mut ext: sp_io::TestExternalities = + SystemConfig::default().build_storage::().unwrap().into(); ext.execute_with(|| { // initially issuance is zero assert_eq!( @@ -1100,7 +1141,10 @@ mod tests { let account: AccountId = [1u8; 32].into(); let initial_amount = ExistentialDeposit::get(); let deposited = - as Currency>::deposit_creating(&account, initial_amount); + as Currency>::deposit_creating( + &account, + initial_amount, + ); drop(deposited); assert_eq!( as Currency>::total_issuance(), @@ -1140,15 +1184,18 @@ mod tests { bp_rialto::max_extrinsic_size(), bp_rialto::max_extrinsic_weight(), max_incoming_message_proof_size, - messages::target::maximal_incoming_message_dispatch_weight(bp_rialto::max_extrinsic_weight()), + messages::target::maximal_incoming_message_dispatch_weight( + bp_rialto::max_extrinsic_weight(), + ), ); - let max_incoming_inbound_lane_data_proof_size = bp_messages::InboundLaneData::<()>::encoded_size_hint( - bp_rialto::MAXIMAL_ENCODED_ACCOUNT_ID_SIZE, - bp_millau::MAX_UNREWARDED_RELAYER_ENTRIES_AT_INBOUND_LANE as _, - bp_millau::MAX_UNCONFIRMED_MESSAGES_AT_INBOUND_LANE as _, - ) - .unwrap_or(u32::MAX); + let max_incoming_inbound_lane_data_proof_size = + bp_messages::InboundLaneData::<()>::encoded_size_hint( + bp_rialto::MAXIMAL_ENCODED_ACCOUNT_ID_SIZE, + bp_millau::MAX_UNREWARDED_RELAYER_ENTRIES_AT_INBOUND_LANE as _, + bp_millau::MAX_UNCONFIRMED_MESSAGES_AT_INBOUND_LANE as _, + ) + .unwrap_or(u32::MAX); pallet_bridge_messages::ensure_able_to_receive_confirmation::( bp_rialto::max_extrinsic_size(), bp_rialto::max_extrinsic_weight(), @@ -1162,7 +1209,9 @@ mod tests { fn deposit_into_existing_account_works() { run_deposit_into_test(|existing_account| { let initial_amount = - as Currency>::free_balance(&existing_account); + as Currency>::free_balance( + &existing_account, + ); let additional_amount = 10_000; >::DepositInto::deposit_into( existing_account.clone(), @@ -1170,7 +1219,9 @@ mod tests { ) .unwrap(); assert_eq!( - as Currency>::free_balance(&existing_account), + as Currency>::free_balance( + &existing_account + ), initial_amount + additional_amount, ); additional_amount @@ -1189,7 +1240,9 @@ mod tests { ) .unwrap(); assert_eq!( - as Currency>::free_balance(&new_account), + as Currency>::free_balance( + &new_account + ), initial_amount + additional_amount, ); additional_amount diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 721be94fe3cd..c856f149fa54 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -21,89 +21,87 @@ #![recursion_limit = "256"] use pallet_transaction_payment::CurrencyAdapter; -use sp_std::prelude::*; -use sp_std::collections::btree_map::BTreeMap; -use sp_core::u32_trait::{_1, _2, _3, _5}; -use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CommittedCandidateReceipt, - CoreState, GroupRotationInfo, Hash, Id as ParaId, Moment, Nonce, OccupiedCoreAssumption, - PersistedValidationData, Signature, ValidationCode, ValidationCodeHash, ValidatorId, - ValidatorIndex, InboundDownwardMessage, InboundHrmpMessage, SessionInfo, + CoreState, GroupRotationInfo, Hash, Id as ParaId, InboundDownwardMessage, InboundHrmpMessage, + Moment, Nonce, OccupiedCoreAssumption, PersistedValidationData, SessionInfo, Signature, + ValidationCode, ValidationCodeHash, ValidatorId, ValidatorIndex, }; use runtime_common::{ - claims, paras_registrar, xcm_sender, slots, auctions, crowdloan, - SlowAdjustingFeeUpdate, CurrencyToVote, impls::DealWithFees, - BlockHashCount, RocksDbWeight, BlockWeights, BlockLength, - OffchainSolutionWeightLimit, OffchainSolutionLengthLimit, - ToAuthor, + auctions, claims, crowdloan, impls::DealWithFees, paras_registrar, slots, xcm_sender, + BlockHashCount, BlockLength, BlockWeights, CurrencyToVote, OffchainSolutionLengthLimit, + OffchainSolutionWeightLimit, RocksDbWeight, SlowAdjustingFeeUpdate, ToAuthor, +}; +use sp_core::u32_trait::{_1, _2, _3, _5}; +use sp_std::{collections::btree_map::BTreeMap, prelude::*}; + +use runtime_parachains::{ + configuration as parachains_configuration, dmp as parachains_dmp, hrmp as parachains_hrmp, + inclusion as parachains_inclusion, initializer as parachains_initializer, + origin as parachains_origin, paras as parachains_paras, + paras_inherent as parachains_paras_inherent, reward_points as parachains_reward_points, + runtime_api_impl::v1 as parachains_runtime_api_impl, scheduler as parachains_scheduler, + session_info as parachains_session_info, shared as parachains_shared, ump as parachains_ump, }; -use runtime_parachains::origin as parachains_origin; -use runtime_parachains::configuration as parachains_configuration; -use runtime_parachains::shared as parachains_shared; -use runtime_parachains::inclusion as parachains_inclusion; -use runtime_parachains::paras_inherent as parachains_paras_inherent; -use runtime_parachains::initializer as parachains_initializer; -use runtime_parachains::session_info as parachains_session_info; -use runtime_parachains::paras as parachains_paras; -use runtime_parachains::dmp as parachains_dmp; -use runtime_parachains::ump as parachains_ump; -use runtime_parachains::hrmp as parachains_hrmp; -use runtime_parachains::scheduler as parachains_scheduler; -use runtime_parachains::reward_points as parachains_reward_points; -use runtime_parachains::runtime_api_impl::v1 as parachains_runtime_api_impl; - -use xcm::v0::{MultiLocation::{self, Null, X1}, NetworkId, BodyId, Xcm, Junction::Parachain}; -use xcm::v0::MultiAsset::{self, AllConcreteFungible}; -use xcm_builder::{ - AccountId32Aliases, ChildParachainConvertsVia, SovereignSignedViaLocation, CurrencyAdapter as XcmCurrencyAdapter, - ChildParachainAsNative, SignedAccountId32AsNative, ChildSystemParachainAsSuperuser, LocationInverter, - IsConcrete, FixedWeightBounds, TakeWeightCredit, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, - IsChildSystemParachain, UsingComponents, BackingToPlurality, SignedToAccountId32, +use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; +use beefy_primitives::crypto::AuthorityId as BeefyId; +use frame_support::{ + construct_runtime, parameter_types, + traits::{All, Filter, InstanceFilter, KeyOwnerProofSystem, LockIdentifier, OnRuntimeUpgrade}, + weights::Weight, + PalletId, RuntimeDebug, }; -use xcm_executor::XcmExecutor; +use frame_system::{EnsureOneOf, EnsureRoot}; +use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId}; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; +use pallet_mmr_primitives as mmr; +use pallet_session::historical as session_historical; +use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; use sp_arithmetic::Perquintill; +use sp_core::OpaqueMetadata; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, ApplyExtrinsicResult, KeyTypeId, Percent, - Permill, Perbill, - transaction_validity::{TransactionValidity, TransactionSource, TransactionPriority}, + create_runtime_str, generic, impl_opaque_keys, traits::{ - BlakeTwo256, Block as BlockT, OpaqueKeys, ConvertInto, AccountIdLookup, - Extrinsic as ExtrinsicT, SaturatedConversion, Verify, + AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, Extrinsic as ExtrinsicT, + OpaqueKeys, SaturatedConversion, Verify, }, + transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, KeyTypeId, Perbill, Percent, Permill, }; -use sp_version::RuntimeVersion; -use pallet_grandpa::{AuthorityId as GrandpaId, fg_primitives}; +use sp_staking::SessionIndex; #[cfg(any(feature = "std", test))] use sp_version::NativeVersion; -use sp_core::OpaqueMetadata; -use sp_staking::SessionIndex; -use frame_support::{ - parameter_types, construct_runtime, RuntimeDebug, PalletId, - traits::{KeyOwnerProofSystem, LockIdentifier, Filter, InstanceFilter, All, OnRuntimeUpgrade}, - weights::Weight, -}; -use frame_system::{EnsureRoot, EnsureOneOf}; -use pallet_im_online::sr25519::AuthorityId as ImOnlineId; -use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; -use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; -use pallet_session::historical as session_historical; +use sp_version::RuntimeVersion; use static_assertions::const_assert; -use beefy_primitives::crypto::AuthorityId as BeefyId; -use pallet_mmr_primitives as mmr; +use xcm::v0::{ + BodyId, + Junction::Parachain, + MultiAsset::{self, AllConcreteFungible}, + MultiLocation::{self, Null, X1}, + NetworkId, Xcm, +}; +use xcm_builder::{ + AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, + BackingToPlurality, ChildParachainAsNative, ChildParachainConvertsVia, + ChildSystemParachainAsSuperuser, CurrencyAdapter as XcmCurrencyAdapter, FixedWeightBounds, + IsChildSystemParachain, IsConcrete, LocationInverter, SignedAccountId32AsNative, + SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, +}; +use xcm_executor::XcmExecutor; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_election_provider_multi_phase::Call as EPMCall; #[cfg(feature = "std")] pub use pallet_staking::StakerStatus; +pub use pallet_timestamp::Call as TimestampCall; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; -pub use pallet_timestamp::Call as TimestampCall; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_election_provider_multi_phase::Call as EPMCall; /// Constant values used within the runtime. pub mod constants; -use constants::{time::*, currency::*, fee::*}; +use constants::{currency::*, fee::*, time::*}; // Weights used in the runtime. mod weights; @@ -133,32 +131,27 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { pub const BABE_GENESIS_EPOCH_CONFIG: babe_primitives::BabeEpochConfiguration = babe_primitives::BabeEpochConfiguration { c: PRIMARY_PROBABILITY, - allowed_slots: babe_primitives::AllowedSlots::PrimaryAndSecondaryVRFSlots + allowed_slots: babe_primitives::AllowedSlots::PrimaryAndSecondaryVRFSlots, }; /// Native version. #[cfg(any(feature = "std", test))] pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } } /// Don't allow swaps until parathread story is more mature. pub struct BaseFilter; impl Filter for BaseFilter { fn filter(c: &Call) -> bool { - !matches!(c, - Call::Registrar(paras_registrar::Call::swap(..)) - ) + !matches!(c, Call::Registrar(paras_registrar::Call::swap(..))) } } type MoreThanHalfCouncil = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective> + pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>, >; parameter_types! { @@ -201,7 +194,7 @@ parameter_types! { type ScheduleOrigin = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>, >; impl pallet_scheduler::Config for Runtime { @@ -420,8 +413,8 @@ fn era_payout( period_fraction: Perquintill, auctioned_slots: u64, ) -> (Balance, Balance) { - use sp_arithmetic::traits::Saturating; use pallet_staking_reward_fn::compute_inflation; + use sp_arithmetic::traits::Saturating; let min_annual_inflation = Perquintill::from_rational(25u64, 1000u64); let delta_annual_inflation = max_annual_inflation.saturating_sub(min_annual_inflation); @@ -431,13 +424,13 @@ fn era_payout( // Therefore the ideal amount at stake (as a percentage of total issuance) is 75% less the amount that we expect // to be taken up with auctions. - let ideal_stake = Perquintill::from_percent(75) - .saturating_sub(auction_proportion); + let ideal_stake = Perquintill::from_percent(75).saturating_sub(auction_proportion); let stake = Perquintill::from_rational(total_staked, non_gilt_issuance); let falloff = Perquintill::from_percent(5); let adjustment = compute_inflation(stake, ideal_stake, falloff); - let staking_inflation = min_annual_inflation.saturating_add(delta_annual_inflation * adjustment); + let staking_inflation = + min_annual_inflation.saturating_add(delta_annual_inflation * adjustment); let max_payout = period_fraction * max_annual_inflation * non_gilt_issuance; let staking_payout = (period_fraction * staking_inflation) * non_gilt_issuance; @@ -488,18 +481,19 @@ parameter_types! { type SlashCancelOrigin = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>, >; impl pallet_staking::Config for Runtime { - const MAX_NOMINATIONS: u32 = ::LIMIT as u32; + const MAX_NOMINATIONS: u32 = + ::LIMIT as u32; type Currency = Balances; type UnixTime = Timestamp; type CurrencyToVote = CurrencyToVote; type ElectionProvider = ElectionProviderMultiPhase; type GenesisElectionProvider = frame_election_provider_support::onchain::OnChainSequentialPhragmen< - pallet_election_provider_multi_phase::OnChainConfig + pallet_election_provider_multi_phase::OnChainConfig, >; type RewardRemainder = Treasury; type Event = Event; @@ -540,16 +534,21 @@ impl pallet_democracy::Config for Runtime { type VotingPeriod = VotingPeriod; type MinimumDeposit = MinimumDeposit; /// A straight majority of the council can decide what their next motion is. - type ExternalOrigin = pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>; + type ExternalOrigin = + pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>; /// A majority can have the next scheduled referendum be a straight majority-carries vote. - type ExternalMajorityOrigin = pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>; + type ExternalMajorityOrigin = + pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>; /// A unanimous council can have the next scheduled referendum be a straight default-carries /// (NTB) vote. - type ExternalDefaultOrigin = pallet_collective::EnsureProportionAtLeast<_1, _1, AccountId, CouncilCollective>; + type ExternalDefaultOrigin = + pallet_collective::EnsureProportionAtLeast<_1, _1, AccountId, CouncilCollective>; /// Two thirds of the technical committee can have an `ExternalMajority/ExternalDefault` vote /// be tabled immediately and with a shorter voting/enactment period. - type FastTrackOrigin = pallet_collective::EnsureProportionAtLeast<_2, _3, AccountId, TechnicalCollective>; - type InstantOrigin = pallet_collective::EnsureProportionAtLeast<_1, _1, AccountId, TechnicalCollective>; + type FastTrackOrigin = + pallet_collective::EnsureProportionAtLeast<_2, _3, AccountId, TechnicalCollective>; + type InstantOrigin = + pallet_collective::EnsureProportionAtLeast<_1, _1, AccountId, TechnicalCollective>; type InstantAllowed = InstantAllowed; type FastTrackVotingPeriod = FastTrackVotingPeriod; // To cancel a proposal which has been passed, 2/3 of the council must agree to it. @@ -686,7 +685,7 @@ parameter_types! { type ApproveOrigin = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_3, _5, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_3, _5, AccountId, CouncilCollective>, >; impl pallet_treasury::Config for Runtime { @@ -767,15 +766,19 @@ impl pallet_grandpa::Config for Runtime { type KeyOwnerProofSystem = Historical; - type HandleEquivocation = - pallet_grandpa::EquivocationHandler; + type HandleEquivocation = pallet_grandpa::EquivocationHandler< + Self::KeyOwnerIdentification, + Offences, + ReportLongevity, + >; type WeightInfo = (); } /// Submits transaction with the node's public and signature type. Adheres to the signed extension /// format of the chain. -impl frame_system::offchain::CreateSignedTransaction for Runtime where +impl frame_system::offchain::CreateSignedTransaction for Runtime +where Call: From, { fn create_transaction>( @@ -786,10 +789,8 @@ impl frame_system::offchain::CreateSignedTransaction for R ) -> Option<(Call, ::SignaturePayload)> { use sp_runtime::traits::StaticLookup; // take the biggest period possible. - let period = BlockHashCount::get() - .checked_next_power_of_two() - .map(|c| c / 2) - .unwrap_or(2) as u64; + let period = + BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64; let current_block = System::block_number() .saturated_into::() @@ -801,17 +802,20 @@ impl frame_system::offchain::CreateSignedTransaction for R frame_system::CheckSpecVersion::::new(), frame_system::CheckTxVersion::::new(), frame_system::CheckGenesis::::new(), - frame_system::CheckMortality::::from(generic::Era::mortal(period, current_block)), + frame_system::CheckMortality::::from(generic::Era::mortal( + period, + current_block, + )), frame_system::CheckNonce::::from(nonce), frame_system::CheckWeight::::new(), pallet_transaction_payment::ChargeTransactionPayment::::from(tip), ); - let raw_payload = SignedPayload::new(call, extra).map_err(|e| { - log::warn!("Unable to create signed payload: {:?}", e); - }).ok()?; - let signature = raw_payload.using_encoded(|payload| { - C::sign(payload, public) - })?; + let raw_payload = SignedPayload::new(call, extra) + .map_err(|e| { + log::warn!("Unable to create signed payload: {:?}", e); + }) + .ok()?; + let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?; let (call, extra, _) = raw_payload.deconstruct(); let address = ::Lookup::unlookup(account); Some((call, (address, signature, extra))) @@ -823,7 +827,8 @@ impl frame_system::offchain::SigningTypes for Runtime { type Signature = Signature; } -impl frame_system::offchain::SendTransactionTypes for Runtime where +impl frame_system::offchain::SendTransactionTypes for Runtime +where Call: From, { type Extrinsic = UncheckedExtrinsic; @@ -838,7 +843,8 @@ impl claims::Config for Runtime { type Event = Event; type VestingSchedule = Vesting; type Prefix = Prefix; - type MoveClaimOrigin = pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>; + type MoveClaimOrigin = + pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>; type WeightInfo = weights::runtime_common_claims::WeightInfo; } @@ -931,7 +937,8 @@ impl pallet_society::Config for Runtime { type MembershipChanged = (); type RotationPeriod = RotationPeriod; type MaxLockDuration = MaxLockDuration; - type FounderSetOrigin = pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>; + type FounderSetOrigin = + pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>; type SuspensionJudgementOrigin = pallet_society::EnsureFounder; type ChallengePeriod = ChallengePeriod; type MaxCandidateIntake = MaxCandidateIntake; @@ -962,7 +969,9 @@ parameter_types! { } /// The type used to represent the kinds of proxying allowed. -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen)] +#[derive( + Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen, +)] pub enum ProxyType { Any, NonTransfer, @@ -971,12 +980,17 @@ pub enum ProxyType { IdentityJudgement, CancelProxy, } -impl Default for ProxyType { fn default() -> Self { Self::Any } } +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} impl InstanceFilter for ProxyType { fn filter(&self, c: &Call) -> bool { match self { ProxyType::Any => true, - ProxyType::NonTransfer => matches!(c, + ProxyType::NonTransfer => matches!( + c, Call::System(..) | Call::Babe(..) | Call::Timestamp(..) | @@ -1022,31 +1036,24 @@ impl InstanceFilter for ProxyType { Call::Registrar(paras_registrar::Call::reserve(..)) | Call::Crowdloan(..) | Call::Slots(..) | - Call::Auctions(..) - // Specifically omitting the entire XCM Pallet + Call::Auctions(..) // Specifically omitting the entire XCM Pallet ), - ProxyType::Governance => matches!(c, + ProxyType::Governance => matches!( + c, Call::Democracy(..) | - Call::Council(..) | - Call::TechnicalCommittee(..) | - Call::PhragmenElection(..) | - Call::Treasury(..) | - Call::Bounties(..) | - Call::Tips(..) | - Call::Utility(..) + Call::Council(..) | Call::TechnicalCommittee(..) | + Call::PhragmenElection(..) | + Call::Treasury(..) | Call::Bounties(..) | + Call::Tips(..) | Call::Utility(..) ), - ProxyType::Staking => matches!(c, - Call::Staking(..) | - Call::Session(..) | - Call::Utility(..) - ), - ProxyType::IdentityJudgement => matches!(c, - Call::Identity(pallet_identity::Call::provide_judgement(..)) | - Call::Utility(..) + ProxyType::Staking => + matches!(c, Call::Staking(..) | Call::Session(..) | Call::Utility(..)), + ProxyType::IdentityJudgement => matches!( + c, + Call::Identity(pallet_identity::Call::provide_judgement(..)) | Call::Utility(..) ), - ProxyType::CancelProxy => matches!(c, - Call::Proxy(pallet_proxy::Call::reject_announcement(..)) - ) + ProxyType::CancelProxy => + matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement(..))), } } fn is_superset(&self, o: &Self) -> bool { @@ -1180,7 +1187,7 @@ parameter_types! { type AuctionInitiate = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_2, _3, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_2, _3, AccountId, CouncilCollective>, >; impl auctions::Config for Runtime { @@ -1221,19 +1228,18 @@ pub type SovereignAccountOf = ( /// view of XCM-only concepts like `MultiLocation` and `MultiAsset`. /// /// Ours is only aware of the Balances pallet, which is mapped to `KsmLocation`. -pub type LocalAssetTransactor = - XcmCurrencyAdapter< - // Use this currency: - Balances, - // Use this currency when it is a fungible asset matching the given location or name: - IsConcrete, - // We can convert the MultiLocations with our converter above: - SovereignAccountOf, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We track our teleports in/out to keep total issuance correct. - CheckAccount, - >; +pub type LocalAssetTransactor = XcmCurrencyAdapter< + // Use this currency: + Balances, + // Use this currency when it is a fungible asset matching the given location or name: + IsConcrete, + // We can convert the MultiLocations with our converter above: + SovereignAccountOf, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, + // We track our teleports in/out to keep total issuance correct. + CheckAccount, +>; /// The means that we convert an the XCM message origin location into a local dispatch origin. type LocalOriginConverter = ( @@ -1263,9 +1269,7 @@ parameter_types! { pub const KusamaForStatemint: (MultiAsset, MultiLocation) = (AllConcreteFungible { id: Null }, X1(Parachain(1000))); } -pub type TrustedTeleporters = ( - xcm_builder::Case, -); +pub type TrustedTeleporters = (xcm_builder::Case,); /// The barriers one of which must be passed for an XCM message to be executed. pub type Barrier = ( @@ -1302,17 +1306,25 @@ parameter_types! { pub type LocalOriginToLocation = ( // We allow an origin from the Collective pallet to be used in XCM as a corresponding Plurality of the // `Unit` body. - BackingToPlurality, CouncilBodyId>, + BackingToPlurality< + Origin, + pallet_collective::Origin, + CouncilBodyId, + >, // And a usual Signed origin to be used in XCM as a corresponding AccountId32 SignedToAccountId32, ); pub struct OnlyWithdrawTeleportForAccounts; -impl frame_support::traits::Contains<(MultiLocation, Xcm)> for OnlyWithdrawTeleportForAccounts { +impl frame_support::traits::Contains<(MultiLocation, Xcm)> + for OnlyWithdrawTeleportForAccounts +{ fn contains((ref origin, ref msg): &(MultiLocation, Xcm)) -> bool { use xcm::v0::{ - Xcm::WithdrawAsset, Order::{BuyExecution, InitiateTeleport, DepositAsset}, - MultiAsset::{All, ConcreteFungible}, Junction::{AccountId32, Plurality}, + Junction::{AccountId32, Plurality}, + MultiAsset::{All, ConcreteFungible}, + Order::{BuyExecution, DepositAsset, InitiateTeleport}, + Xcm::WithdrawAsset, }; match origin { // Root and council are are allowed to execute anything. @@ -1347,7 +1359,7 @@ impl frame_support::traits::Contains<(MultiLocation, Xcm)> for OnlyWithdra ) ) ) - } + }, // Nobody else is allowed to execute anything. _ => false, } @@ -1384,8 +1396,8 @@ impl pallet_gilt::Config for Runtime { type Currency = Balances; type CurrencyBalance = Balance; type AdminOrigin = MoreThanHalfCouncil; - type Deficit = (); // Mint - type Surplus = (); // Burn + type Deficit = (); // Mint + type Surplus = (); // Burn type IgnoredIssuance = IgnoredIssuance; type QueueCount = QueueCount; type MaxQueueLen = MaxQueueLen; @@ -1535,9 +1547,9 @@ pub struct MigratePalletVersionToStorageVersion; impl OnRuntimeUpgrade for MigratePalletVersionToStorageVersion { fn on_runtime_upgrade() -> frame_support::weights::Weight { - frame_support::migrations::migrate_from_pallet_version_to_storage_version::( - &RocksDbWeight::get() - ) + frame_support::migrations::migrate_from_pallet_version_to_storage_version::< + AllPalletsWithSystem, + >(&RocksDbWeight::get()) } } @@ -1842,17 +1854,66 @@ sp_api::impl_runtime_apis! { #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList}; + use frame_support::traits::StorageInfoTrait; + + use pallet_session_benchmarking::Pallet as SessionBench; + use pallet_offences_benchmarking::Pallet as OffencesBench; + use frame_system_benchmarking::Pallet as SystemBench; + + let mut list = Vec::::new(); + + // Polkadot + // NOTE: Make sure to prefix these `runtime_common::` so that path resolves correctly + // in the generated file. + list_benchmark!(list, extra, runtime_common::auctions, Auctions); + list_benchmark!(list, extra, runtime_common::crowdloan, Crowdloan); + list_benchmark!(list, extra, runtime_common::claims, Claims); + list_benchmark!(list, extra, runtime_common::slots, Slots); + list_benchmark!(list, extra, runtime_common::paras_registrar, Registrar); + // Substrate + list_benchmark!(list, extra, pallet_balances, Balances); + list_benchmark!(list, extra, pallet_bounties, Bounties); + list_benchmark!(list, extra, pallet_collective, Council); + list_benchmark!(list, extra, pallet_democracy, Democracy); + list_benchmark!(list, extra, pallet_elections_phragmen, PhragmenElection); + list_benchmark!(list, extra, pallet_election_provider_multi_phase, ElectionProviderMultiPhase); + list_benchmark!(list, extra, pallet_gilt, Gilt); + list_benchmark!(list, extra, pallet_identity, Identity); + list_benchmark!(list, extra, pallet_im_online, ImOnline); + list_benchmark!(list, extra, pallet_indices, Indices); + list_benchmark!(list, extra, pallet_membership, TechnicalMembership); + list_benchmark!(list, extra, pallet_multisig, Multisig); + list_benchmark!(list, extra, pallet_offences, OffencesBench::); + list_benchmark!(list, extra, pallet_proxy, Proxy); + list_benchmark!(list, extra, pallet_scheduler, Scheduler); + list_benchmark!(list, extra, pallet_session, SessionBench::); + list_benchmark!(list, extra, pallet_staking, Staking); + list_benchmark!(list, extra, frame_system, SystemBench::); + list_benchmark!(list, extra, pallet_timestamp, Timestamp); + list_benchmark!(list, extra, pallet_tips, Tips); + list_benchmark!(list, extra, pallet_treasury, Treasury); + list_benchmark!(list, extra, pallet_utility, Utility); + list_benchmark!(list, extra, pallet_vesting, Vesting); + + let storage_info = AllPalletsWithSystem::storage_info(); + + return (list, storage_info) + } + fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result< - (Vec, Vec), + Vec, sp_runtime::RuntimeString, > { use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - use frame_support::traits::StorageInfoTrait; - // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency issues. - // To get around that, we separated the Session benchmarks into its own crate, which is why - // we need these two lines below. + // Trying to add benchmarks directly to some pallets caused cyclic dependency issues. + // To get around that, we separated the benchmarks into its own crate. use pallet_session_benchmarking::Pallet as SessionBench; use pallet_offences_benchmarking::Pallet as OffencesBench; use frame_system_benchmarking::Pallet as SystemBench; @@ -1912,8 +1973,7 @@ sp_api::impl_runtime_apis! { add_benchmark!(params, batches, pallet_vesting, Vesting); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - let storage_info = AllPalletsWithSystem::storage_info(); - Ok((batches, storage_info)) + Ok(batches) } } } diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 22773c5d3644..2a87f82c040e 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -22,63 +22,65 @@ use pallet_transaction_payment::CurrencyAdapter; use runtime_common::{ - claims, SlowAdjustingFeeUpdate, CurrencyToVote, - impls::DealWithFees, - BlockHashCount, RocksDbWeight, BlockWeights, BlockLength, - OffchainSolutionWeightLimit, OffchainSolutionLengthLimit, - ParachainSessionKeyPlaceholder, AssignmentSessionKeyPlaceholder, + claims, impls::DealWithFees, AssignmentSessionKeyPlaceholder, BlockHashCount, BlockLength, + BlockWeights, CurrencyToVote, OffchainSolutionLengthLimit, OffchainSolutionWeightLimit, + ParachainSessionKeyPlaceholder, RocksDbWeight, SlowAdjustingFeeUpdate, }; -use sp_std::prelude::*; -use sp_std::collections::btree_map::BTreeMap; -use sp_core::u32_trait::{_1, _2, _3, _4, _5}; -use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; +use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; +use beefy_primitives::crypto::AuthorityId as BeefyId; +use frame_support::{ + construct_runtime, parameter_types, + traits::{Filter, KeyOwnerProofSystem, LockIdentifier, OnRuntimeUpgrade}, + weights::Weight, + PalletId, RuntimeDebug, +}; +use frame_system::{EnsureOneOf, EnsureRoot}; +use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId}; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; +use pallet_mmr_primitives as mmr; +use pallet_session::historical as session_historical; +use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CommittedCandidateReceipt, - CoreState, GroupRotationInfo, Hash, Id, Moment, Nonce, OccupiedCoreAssumption, - PersistedValidationData, Signature, ValidationCode, ValidationCodeHash, ValidatorId, - ValidatorIndex, InboundDownwardMessage, InboundHrmpMessage, SessionInfo, + CoreState, GroupRotationInfo, Hash, Id, InboundDownwardMessage, InboundHrmpMessage, Moment, + Nonce, OccupiedCoreAssumption, PersistedValidationData, SessionInfo, Signature, ValidationCode, + ValidationCodeHash, ValidatorId, ValidatorIndex, +}; +use sp_core::{ + u32_trait::{_1, _2, _3, _4, _5}, + OpaqueMetadata, }; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, ApplyExtrinsicResult, - KeyTypeId, Percent, Permill, Perbill, curve::PiecewiseLinear, - transaction_validity::{TransactionValidity, TransactionSource, TransactionPriority}, + create_runtime_str, + curve::PiecewiseLinear, + generic, impl_opaque_keys, traits::{ - BlakeTwo256, Block as BlockT, OpaqueKeys, ConvertInto, AccountIdLookup, - Extrinsic as ExtrinsicT, SaturatedConversion, Verify, + AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, Extrinsic as ExtrinsicT, + OpaqueKeys, SaturatedConversion, Verify, }, + transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, KeyTypeId, Perbill, Percent, Permill, }; -use sp_version::RuntimeVersion; -use pallet_grandpa::{AuthorityId as GrandpaId, fg_primitives}; +use sp_staking::SessionIndex; +use sp_std::{collections::btree_map::BTreeMap, prelude::*}; #[cfg(any(feature = "std", test))] use sp_version::NativeVersion; -use sp_core::OpaqueMetadata; -use sp_staking::SessionIndex; -use frame_support::{ - parameter_types, construct_runtime, RuntimeDebug, PalletId, - traits::{KeyOwnerProofSystem, LockIdentifier, Filter, OnRuntimeUpgrade}, - weights::Weight, -}; -use frame_system::{EnsureRoot, EnsureOneOf}; -use pallet_im_online::sr25519::AuthorityId as ImOnlineId; -use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; -use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; -use pallet_session::historical as session_historical; +use sp_version::RuntimeVersion; use static_assertions::const_assert; -use beefy_primitives::crypto::AuthorityId as BeefyId; -use pallet_mmr_primitives as mmr; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_election_provider_multi_phase::Call as EPMCall; #[cfg(feature = "std")] pub use pallet_staking::StakerStatus; +pub use pallet_timestamp::Call as TimestampCall; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; -pub use pallet_timestamp::Call as TimestampCall; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_election_provider_multi_phase::Call as EPMCall; /// Constant values used within the runtime. pub mod constants; -use constants::{time::*, currency::*, fee::*}; +use constants::{currency::*, fee::*, time::*}; use frame_support::traits::InstanceFilter; // Weights used in the runtime. @@ -107,16 +109,13 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { pub const BABE_GENESIS_EPOCH_CONFIG: babe_primitives::BabeEpochConfiguration = babe_primitives::BabeEpochConfiguration { c: PRIMARY_PROBABILITY, - allowed_slots: babe_primitives::AllowedSlots::PrimaryAndSecondaryVRFSlots + allowed_slots: babe_primitives::AllowedSlots::PrimaryAndSecondaryVRFSlots, }; /// Native version. #[cfg(any(feature = "std", test))] pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } } pub struct BaseFilter; @@ -124,16 +123,32 @@ impl Filter for BaseFilter { fn filter(call: &Call) -> bool { match call { // These modules are all allowed to be called by transactions: - Call::Democracy(_) | Call::Council(_) | Call::TechnicalCommittee(_) | - Call::TechnicalMembership(_) | Call::Treasury(_) | Call::PhragmenElection(_) | - Call::System(_) | Call::Scheduler(_) | Call::Indices(_) | - Call::Babe(_) | Call::Timestamp(_) | Call::Balances(_) | - Call::Authorship(_) | Call::Staking(_) | - Call::Session(_) | Call::Grandpa(_) | Call::ImOnline(_) | - Call::Utility(_) | Call::Claims(_) | Call::Vesting(_) | - Call::Identity(_) | Call::Proxy(_) | Call::Multisig(_) | - Call::Bounties(_) | Call::Tips(_) | Call::ElectionProviderMultiPhase(_) - => true, + Call::Democracy(_) | + Call::Council(_) | + Call::TechnicalCommittee(_) | + Call::TechnicalMembership(_) | + Call::Treasury(_) | + Call::PhragmenElection(_) | + Call::System(_) | + Call::Scheduler(_) | + Call::Indices(_) | + Call::Babe(_) | + Call::Timestamp(_) | + Call::Balances(_) | + Call::Authorship(_) | + Call::Staking(_) | + Call::Session(_) | + Call::Grandpa(_) | + Call::ImOnline(_) | + Call::Utility(_) | + Call::Claims(_) | + Call::Vesting(_) | + Call::Identity(_) | + Call::Proxy(_) | + Call::Multisig(_) | + Call::Bounties(_) | + Call::Tips(_) | + Call::ElectionProviderMultiPhase(_) => true, } } } @@ -141,7 +156,7 @@ impl Filter for BaseFilter { type MoreThanHalfCouncil = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective> + pallet_collective::EnsureProportionMoreThan<_1, _2, AccountId, CouncilCollective>, >; parameter_types! { @@ -184,7 +199,7 @@ parameter_types! { type ScheduleOrigin = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_1, _2, AccountId, CouncilCollective>, >; impl pallet_scheduler::Config for Runtime { @@ -421,11 +436,12 @@ parameter_types! { type SlashCancelOrigin = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_3, _4, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_3, _4, AccountId, CouncilCollective>, >; impl pallet_staking::Config for Runtime { - const MAX_NOMINATIONS: u32 = ::LIMIT as u32; + const MAX_NOMINATIONS: u32 = + ::LIMIT as u32; type Currency = Balances; type UnixTime = Timestamp; type CurrencyToVote = CurrencyToVote; @@ -445,7 +461,7 @@ impl pallet_staking::Config for Runtime { type ElectionProvider = ElectionProviderMultiPhase; type GenesisElectionProvider = frame_election_provider_support::onchain::OnChainSequentialPhragmen< - pallet_election_provider_multi_phase::OnChainConfig + pallet_election_provider_multi_phase::OnChainConfig, >; type WeightInfo = weights::pallet_staking::WeightInfo; } @@ -498,41 +514,48 @@ impl pallet_democracy::Config for Runtime { type VotingPeriod = VotingPeriod; type MinimumDeposit = MinimumDeposit; /// A straight majority of the council can decide what their next motion is. - type ExternalOrigin = frame_system::EnsureOneOf, frame_system::EnsureRoot, >; /// A 60% super-majority can have the next scheduled referendum be a straight majority-carries vote. - type ExternalMajorityOrigin = frame_system::EnsureOneOf, frame_system::EnsureRoot, >; /// A unanimous council can have the next scheduled referendum be a straight default-carries /// (NTB) vote. - type ExternalDefaultOrigin = frame_system::EnsureOneOf, frame_system::EnsureRoot, >; /// Two thirds of the technical committee can have an `ExternalMajority/ExternalDefault` vote /// be tabled immediately and with a shorter voting/enactment period. - type FastTrackOrigin = frame_system::EnsureOneOf, frame_system::EnsureRoot, >; - type InstantOrigin = frame_system::EnsureOneOf, frame_system::EnsureRoot, >; type InstantAllowed = InstantAllowed; type FastTrackVotingPeriod = FastTrackVotingPeriod; // To cancel a proposal which has been passed, 2/3 of the council must agree to it. - type CancellationOrigin = EnsureOneOf, EnsureRoot, >; // To cancel a proposal before it has been passed, the technical committee must be unanimous or // Root must agree. - type CancelProposalOrigin = EnsureOneOf, EnsureRoot, >; @@ -657,7 +680,7 @@ parameter_types! { type ApproveOrigin = EnsureOneOf< AccountId, EnsureRoot, - pallet_collective::EnsureProportionAtLeast<_3, _5, AccountId, CouncilCollective> + pallet_collective::EnsureProportionAtLeast<_3, _5, AccountId, CouncilCollective>, >; impl pallet_treasury::Config for Runtime { @@ -729,7 +752,7 @@ impl pallet_grandpa::Config for Runtime { type Call = Call; type KeyOwnerProof = - >::Proof; + >::Proof; type KeyOwnerIdentification = ; + type HandleEquivocation = pallet_grandpa::EquivocationHandler< + Self::KeyOwnerIdentification, + Offences, + ReportLongevity, + >; type WeightInfo = (); } /// Submits a transaction with the node's public and signature type. Adheres to the signed extension /// format of the chain. -impl frame_system::offchain::CreateSignedTransaction for Runtime where +impl frame_system::offchain::CreateSignedTransaction for Runtime +where Call: From, { fn create_transaction>( @@ -757,10 +784,8 @@ impl frame_system::offchain::CreateSignedTransaction for R ) -> Option<(Call, ::SignaturePayload)> { use sp_runtime::traits::StaticLookup; // take the biggest period possible. - let period = BlockHashCount::get() - .checked_next_power_of_two() - .map(|c| c / 2) - .unwrap_or(2) as u64; + let period = + BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64; let current_block = System::block_number() .saturated_into::() @@ -772,18 +797,21 @@ impl frame_system::offchain::CreateSignedTransaction for R frame_system::CheckSpecVersion::::new(), frame_system::CheckTxVersion::::new(), frame_system::CheckGenesis::::new(), - frame_system::CheckMortality::::from(generic::Era::mortal(period, current_block)), + frame_system::CheckMortality::::from(generic::Era::mortal( + period, + current_block, + )), frame_system::CheckNonce::::from(nonce), frame_system::CheckWeight::::new(), pallet_transaction_payment::ChargeTransactionPayment::::from(tip), claims::PrevalidateAttests::::new(), ); - let raw_payload = SignedPayload::new(call, extra).map_err(|e| { - log::warn!("Unable to create signed payload: {:?}", e); - }).ok()?; - let signature = raw_payload.using_encoded(|payload| { - C::sign(payload, public) - })?; + let raw_payload = SignedPayload::new(call, extra) + .map_err(|e| { + log::warn!("Unable to create signed payload: {:?}", e); + }) + .ok()?; + let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?; let (call, extra, _) = raw_payload.deconstruct(); let address = ::Lookup::unlookup(account); Some((call, (address, signature, extra))) @@ -795,7 +823,10 @@ impl frame_system::offchain::SigningTypes for Runtime { type Signature = Signature; } -impl frame_system::offchain::SendTransactionTypes for Runtime where Call: From { +impl frame_system::offchain::SendTransactionTypes for Runtime +where + Call: From, +{ type Extrinsic = UncheckedExtrinsic; type OverarchingCall = Call; } @@ -815,7 +846,8 @@ impl claims::Config for Runtime { type VestingSchedule = Vesting; type Prefix = Prefix; /// At least 3/4 of the council must agree to a claim move before it can happen. - type MoveClaimOrigin = pallet_collective::EnsureProportionAtLeast<_3, _4, AccountId, CouncilCollective>; + type MoveClaimOrigin = + pallet_collective::EnsureProportionAtLeast<_3, _4, AccountId, CouncilCollective>; type WeightInfo = weights::runtime_common_claims::WeightInfo; } @@ -867,7 +899,9 @@ parameter_types! { } /// The type used to represent the kinds of proxying allowed. -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen)] +#[derive( + Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen, +)] pub enum ProxyType { Any = 0, NonTransfer = 1, @@ -900,19 +934,26 @@ mod proxy_type_tests { (OldProxyType::Governance, ProxyType::Governance), (OldProxyType::Staking, ProxyType::Staking), (OldProxyType::IdentityJudgement, ProxyType::IdentityJudgement), - ].into_iter() { + ] + .into_iter() + { assert_eq!(i.encode(), j.encode()); } assert!(ProxyType::decode(&mut &OldProxyType::SudoBalances.encode()[..]).is_err()); } } -impl Default for ProxyType { fn default() -> Self { Self::Any } } +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} impl InstanceFilter for ProxyType { fn filter(&self, c: &Call) -> bool { match self { ProxyType::Any => true, - ProxyType::NonTransfer => matches!(c, + ProxyType::NonTransfer => matches!( + c, Call::System(..) | Call::Scheduler(..) | Call::Babe(..) | @@ -944,28 +985,22 @@ impl InstanceFilter for ProxyType { Call::Proxy(..) | Call::Multisig(..) ), - ProxyType::Governance => matches!(c, + ProxyType::Governance => matches!( + c, Call::Democracy(..) | - Call::Council(..) | - Call::TechnicalCommittee(..) | - Call::PhragmenElection(..) | - Call::Treasury(..) | - Call::Bounties(..) | - Call::Tips(..) | - Call::Utility(..) + Call::Council(..) | Call::TechnicalCommittee(..) | + Call::PhragmenElection(..) | + Call::Treasury(..) | Call::Bounties(..) | + Call::Tips(..) | Call::Utility(..) ), - ProxyType::Staking => matches!(c, - Call::Staking(..) | - Call::Session(..) | - Call::Utility(..) + ProxyType::Staking => + matches!(c, Call::Staking(..) | Call::Session(..) | Call::Utility(..)), + ProxyType::IdentityJudgement => matches!( + c, + Call::Identity(pallet_identity::Call::provide_judgement(..)) | Call::Utility(..) ), - ProxyType::IdentityJudgement => matches!(c, - Call::Identity(pallet_identity::Call::provide_judgement(..)) | - Call::Utility(..) - ), - ProxyType::CancelProxy => matches!(c, - Call::Proxy(pallet_proxy::Call::reject_announcement(..)) - ) + ProxyType::CancelProxy => + matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement(..))), } } fn is_superset(&self, o: &Self) -> bool { @@ -1098,9 +1133,9 @@ pub struct MigratePalletVersionToStorageVersion; impl OnRuntimeUpgrade for MigratePalletVersionToStorageVersion { fn on_runtime_upgrade() -> frame_support::weights::Weight { - frame_support::migrations::migrate_from_pallet_version_to_storage_version::( - &RocksDbWeight::get() - ) + frame_support::migrations::migrate_from_pallet_version_to_storage_version::< + AllPalletsWithSystem, + >(&RocksDbWeight::get()) } } @@ -1396,17 +1431,61 @@ sp_api::impl_runtime_apis! { #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList}; + use frame_support::traits::StorageInfoTrait; + + use pallet_session_benchmarking::Pallet as SessionBench; + use pallet_offences_benchmarking::Pallet as OffencesBench; + use frame_system_benchmarking::Pallet as SystemBench; + + let mut list = Vec::::new(); + + // Polkadot + // NOTE: Make sure to prefix these `runtime_common::` so that path resolves correctly + // in the generated file. + list_benchmark!(list, extra, runtime_common::claims, Claims); + // Substrate + list_benchmark!(list, extra, pallet_balances, Balances); + list_benchmark!(list, extra, pallet_bounties, Bounties); + list_benchmark!(list, extra, pallet_collective, Council); + list_benchmark!(list, extra, pallet_democracy, Democracy); + list_benchmark!(list, extra, pallet_elections_phragmen, PhragmenElection); + list_benchmark!(list, extra, pallet_election_provider_multi_phase, ElectionProviderMultiPhase); + list_benchmark!(list, extra, pallet_identity, Identity); + list_benchmark!(list, extra, pallet_im_online, ImOnline); + list_benchmark!(list, extra, pallet_indices, Indices); + list_benchmark!(list, extra, pallet_membership, TechnicalMembership); + list_benchmark!(list, extra, pallet_multisig, Multisig); + list_benchmark!(list, extra, pallet_offences, OffencesBench::); + list_benchmark!(list, extra, pallet_proxy, Proxy); + list_benchmark!(list, extra, pallet_scheduler, Scheduler); + list_benchmark!(list, extra, pallet_session, SessionBench::); + list_benchmark!(list, extra, pallet_staking, Staking); + list_benchmark!(list, extra, frame_system, SystemBench::); + list_benchmark!(list, extra, pallet_timestamp, Timestamp); + list_benchmark!(list, extra, pallet_tips, Tips); + list_benchmark!(list, extra, pallet_treasury, Treasury); + list_benchmark!(list, extra, pallet_utility, Utility); + list_benchmark!(list, extra, pallet_vesting, Vesting); + + let storage_info = AllPalletsWithSystem::storage_info(); + + return (list, storage_info) + } + fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result< - (Vec, Vec), + Vec, sp_runtime::RuntimeString, > { use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - use frame_support::traits::StorageInfoTrait; - // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency issues. - // To get around that, we separated the Session benchmarks into its own crate, which is why - // we need these two lines below. + // Trying to add benchmarks directly to some pallets caused cyclic dependency issues. + // To get around that, we separated the benchmarks into its own crate. use pallet_session_benchmarking::Pallet as SessionBench; use pallet_offences_benchmarking::Pallet as OffencesBench; use frame_system_benchmarking::Pallet as SystemBench; @@ -1461,8 +1540,7 @@ sp_api::impl_runtime_apis! { add_benchmark!(params, batches, pallet_vesting, Vesting); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - let storage_info = AllPalletsWithSystem::storage_info(); - Ok((batches, storage_info)) + Ok(batches) } } } @@ -1470,12 +1548,11 @@ sp_api::impl_runtime_apis! { #[cfg(test)] mod test_fees { use super::*; - use frame_support::weights::WeightToFeePolynomial; - use sp_runtime::FixedPointNumber; - use frame_support::weights::GetDispatchInfo; - use parity_scale_codec::Encode; + use frame_support::weights::{GetDispatchInfo, WeightToFeePolynomial}; use pallet_transaction_payment::Multiplier; + use parity_scale_codec::Encode; use separator::Separatable; + use sp_runtime::FixedPointNumber; #[test] fn payout_weight_portion() { @@ -1512,7 +1589,10 @@ mod test_fees { #[ignore] fn transfer_cost_min_multiplier() { let min_multiplier = runtime_common::MinimumMultiplier::get(); - let call = >::transfer_keep_alive(Default::default(), Default::default()); + let call = >::transfer_keep_alive( + Default::default(), + Default::default(), + ); let info = call.get_dispatch_info(); // convert to outer call. let call = Call::Balances(call); @@ -1566,8 +1646,7 @@ mod test_fees { let cost_dollars = cost / DOLLARS; println!( "can support {} voters in a single block for council elections; total bond {}", - voters, - cost_dollars, + voters, cost_dollars, ); assert!(cost_dollars > 150_000); // DOLLAR ~ new DOT ~ 10e10 } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index 82fe6e70900b..524205d8b131 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -21,87 +21,86 @@ #![recursion_limit = "256"] use pallet_transaction_payment::CurrencyAdapter; -use sp_std::prelude::*; -use sp_std::collections::btree_map::BTreeMap; -use parity_scale_codec::{Encode, Decode, MaxEncodedLen}; +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use primitives::v1::{ AccountId, AccountIndex, Balance, BlockNumber, CandidateEvent, CommittedCandidateReceipt, - CoreState, GroupRotationInfo, Hash, Id as ParaId, Moment, Nonce, OccupiedCoreAssumption, - PersistedValidationData, Signature, ValidationCode, ValidationCodeHash, ValidatorId, - ValidatorIndex, InboundDownwardMessage, InboundHrmpMessage, SessionInfo, + CoreState, GroupRotationInfo, Hash, Id as ParaId, InboundDownwardMessage, InboundHrmpMessage, + Moment, Nonce, OccupiedCoreAssumption, PersistedValidationData, SessionInfo, Signature, + ValidationCode, ValidationCodeHash, ValidatorId, ValidatorIndex, }; use runtime_common::{ - paras_sudo_wrapper, paras_registrar, xcm_sender, slots, crowdloan, auctions, - SlowAdjustingFeeUpdate, CurrencyToVote, - impls::ToAuthor, - BlockHashCount, BlockWeights, BlockLength, RocksDbWeight, - OffchainSolutionWeightLimit, OffchainSolutionLengthLimit, + auctions, crowdloan, impls::ToAuthor, paras_registrar, paras_sudo_wrapper, slots, xcm_sender, + BlockHashCount, BlockLength, BlockWeights, CurrencyToVote, OffchainSolutionLengthLimit, + OffchainSolutionWeightLimit, RocksDbWeight, SlowAdjustingFeeUpdate, +}; +use sp_std::{collections::btree_map::BTreeMap, prelude::*}; + +use runtime_parachains::{ + configuration as parachains_configuration, dmp as parachains_dmp, hrmp as parachains_hrmp, + inclusion as parachains_inclusion, initializer as parachains_initializer, + origin as parachains_origin, paras as parachains_paras, + paras_inherent as parachains_paras_inherent, reward_points as parachains_reward_points, + runtime_api_impl::v1 as parachains_runtime_api_impl, scheduler as parachains_scheduler, + session_info as parachains_session_info, shared as parachains_shared, ump as parachains_ump, }; -use runtime_parachains::origin as parachains_origin; -use runtime_parachains::configuration as parachains_configuration; -use runtime_parachains::shared as parachains_shared; -use runtime_parachains::inclusion as parachains_inclusion; -use runtime_parachains::paras_inherent as parachains_paras_inherent; -use runtime_parachains::initializer as parachains_initializer; -use runtime_parachains::session_info as parachains_session_info; -use runtime_parachains::paras as parachains_paras; -use runtime_parachains::dmp as parachains_dmp; -use runtime_parachains::ump as parachains_ump; -use runtime_parachains::hrmp as parachains_hrmp; -use runtime_parachains::scheduler as parachains_scheduler; -use runtime_parachains::reward_points as parachains_reward_points; -use runtime_parachains::runtime_api_impl::v1 as parachains_runtime_api_impl; - -use xcm::v0::{MultiLocation::{self, Null, X1}, NetworkId, Xcm, Junction::Parachain}; -use xcm::v0::MultiAsset::{self, AllConcreteFungible}; -use xcm_executor::XcmExecutor; +use xcm::v0::{ + Junction::Parachain, + MultiAsset::{self, AllConcreteFungible}, + MultiLocation::{self, Null, X1}, + NetworkId, Xcm, +}; use xcm_builder::{ - AccountId32Aliases, ChildParachainConvertsVia, SovereignSignedViaLocation, CurrencyAdapter as XcmCurrencyAdapter, - ChildParachainAsNative, SignedAccountId32AsNative, ChildSystemParachainAsSuperuser, LocationInverter, IsConcrete, - FixedWeightBounds, TakeWeightCredit, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, - IsChildSystemParachain, UsingComponents, SignedToAccountId32, + AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, + ChildParachainAsNative, ChildParachainConvertsVia, ChildSystemParachainAsSuperuser, + CurrencyAdapter as XcmCurrencyAdapter, FixedWeightBounds, IsChildSystemParachain, IsConcrete, + LocationInverter, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, + TakeWeightCredit, UsingComponents, }; +use xcm_executor::XcmExecutor; +use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; +use beefy_primitives::crypto::AuthorityId as BeefyId; +use frame_support::{ + construct_runtime, parameter_types, + traits::{All, Filter, InstanceFilter, KeyOwnerProofSystem, OnRuntimeUpgrade}, + weights::Weight, + PalletId, RuntimeDebug, +}; +use frame_system::EnsureRoot; +use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId}; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; +use pallet_mmr_primitives as mmr; +use pallet_session::historical as session_historical; +use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; +use sp_core::OpaqueMetadata; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - ApplyExtrinsicResult, KeyTypeId, Perbill, curve::PiecewiseLinear, - transaction_validity::{TransactionValidity, TransactionSource, TransactionPriority}, + create_runtime_str, + curve::PiecewiseLinear, + generic, impl_opaque_keys, traits::{ - BlakeTwo256, Block as BlockT, OpaqueKeys, ConvertInto, AccountIdLookup, - Extrinsic as ExtrinsicT, SaturatedConversion, Verify, + AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, Extrinsic as ExtrinsicT, + OpaqueKeys, SaturatedConversion, Verify, }, + transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, KeyTypeId, Perbill, }; -use sp_version::RuntimeVersion; -use pallet_grandpa::{AuthorityId as GrandpaId, fg_primitives}; +use sp_staking::SessionIndex; #[cfg(any(feature = "std", test))] use sp_version::NativeVersion; -use sp_core::OpaqueMetadata; -use sp_staking::SessionIndex; -use frame_support::{ - parameter_types, construct_runtime, RuntimeDebug, PalletId, - traits::{KeyOwnerProofSystem, Filter, InstanceFilter, All, OnRuntimeUpgrade}, - weights::Weight, -}; -use pallet_im_online::sr25519::AuthorityId as ImOnlineId; -use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; -use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; -use pallet_session::historical as session_historical; -use frame_system::{EnsureRoot}; -use beefy_primitives::crypto::AuthorityId as BeefyId; -use pallet_mmr_primitives as mmr; +use sp_version::RuntimeVersion; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_election_provider_multi_phase::Call as EPMCall; #[cfg(feature = "std")] pub use pallet_staking::StakerStatus; +pub use pallet_timestamp::Call as TimestampCall; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; -pub use pallet_timestamp::Call as TimestampCall; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_election_provider_multi_phase::Call as EPMCall; /// Constant values used within the runtime. pub mod constants; -use constants::{time::*, currency::*, fee::*}; +use constants::{currency::*, fee::*, time::*}; // Weights used in the runtime mod weights; @@ -131,16 +130,13 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { pub const BABE_GENESIS_EPOCH_CONFIG: babe_primitives::BabeEpochConfiguration = babe_primitives::BabeEpochConfiguration { c: PRIMARY_PROBABILITY, - allowed_slots: babe_primitives::AllowedSlots::PrimaryAndSecondaryVRFSlots + allowed_slots: babe_primitives::AllowedSlots::PrimaryAndSecondaryVRFSlots, }; /// Native version. #[cfg(any(feature = "std", test))] pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } } /// Allow everything. @@ -417,7 +413,8 @@ parameter_types! { } impl pallet_staking::Config for Runtime { - const MAX_NOMINATIONS: u32 = ::LIMIT as u32; + const MAX_NOMINATIONS: u32 = + ::LIMIT as u32; type Currency = Balances; type UnixTime = Timestamp; type CurrencyToVote = CurrencyToVote; @@ -437,7 +434,7 @@ impl pallet_staking::Config for Runtime { type ElectionProvider = ElectionProviderMultiPhase; type GenesisElectionProvider = frame_election_provider_support::onchain::OnChainSequentialPhragmen< - pallet_election_provider_multi_phase::OnChainConfig + pallet_election_provider_multi_phase::OnChainConfig, >; type WeightInfo = weights::pallet_staking::WeightInfo; } @@ -491,15 +488,19 @@ impl pallet_grandpa::Config for Runtime { GrandpaId, )>>::IdentificationTuple; - type HandleEquivocation = - pallet_grandpa::EquivocationHandler; + type HandleEquivocation = pallet_grandpa::EquivocationHandler< + Self::KeyOwnerIdentification, + Offences, + ReportLongevity, + >; type WeightInfo = (); } /// Submits a transaction with the node's public and signature type. Adheres to the signed extension /// format of the chain. -impl frame_system::offchain::CreateSignedTransaction for Runtime where +impl frame_system::offchain::CreateSignedTransaction for Runtime +where Call: From, { fn create_transaction>( @@ -510,10 +511,8 @@ impl frame_system::offchain::CreateSignedTransaction for R ) -> Option<(Call, ::SignaturePayload)> { use sp_runtime::traits::StaticLookup; // take the biggest period possible. - let period = BlockHashCount::get() - .checked_next_power_of_two() - .map(|c| c / 2) - .unwrap_or(2) as u64; + let period = + BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64; let current_block = System::block_number() .saturated_into::() @@ -525,17 +524,20 @@ impl frame_system::offchain::CreateSignedTransaction for R frame_system::CheckSpecVersion::::new(), frame_system::CheckTxVersion::::new(), frame_system::CheckGenesis::::new(), - frame_system::CheckMortality::::from(generic::Era::mortal(period, current_block)), + frame_system::CheckMortality::::from(generic::Era::mortal( + period, + current_block, + )), frame_system::CheckNonce::::from(nonce), frame_system::CheckWeight::::new(), pallet_transaction_payment::ChargeTransactionPayment::::from(tip), ); - let raw_payload = SignedPayload::new(call, extra).map_err(|e| { - log::warn!("Unable to create signed payload: {:?}", e); - }).ok()?; - let signature = raw_payload.using_encoded(|payload| { - C::sign(payload, public) - })?; + let raw_payload = SignedPayload::new(call, extra) + .map_err(|e| { + log::warn!("Unable to create signed payload: {:?}", e); + }) + .ok()?; + let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?; let (call, extra, _) = raw_payload.deconstruct(); let address = ::Lookup::unlookup(account); Some((call, (address, signature, extra))) @@ -547,7 +549,8 @@ impl frame_system::offchain::SigningTypes for Runtime { type Signature = Signature; } -impl frame_system::offchain::SendTransactionTypes for Runtime where +impl frame_system::offchain::SendTransactionTypes for Runtime +where Call: From, { type OverarchingCall = Call; @@ -649,7 +652,9 @@ parameter_types! { } /// The type used to represent the kinds of proxying allowed. -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen)] +#[derive( + Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen, +)] pub enum ProxyType { Any, NonTransfer, @@ -658,12 +663,17 @@ pub enum ProxyType { IdentityJudgement, CancelProxy, } -impl Default for ProxyType { fn default() -> Self { Self::Any } } +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} impl InstanceFilter for ProxyType { fn filter(&self, c: &Call) -> bool { match self { ProxyType::Any => true, - ProxyType::NonTransfer => matches!(c, + ProxyType::NonTransfer => matches!( + c, Call::System(..) | Call::Babe(..) | Call::Timestamp(..) | @@ -699,26 +709,22 @@ impl InstanceFilter for ProxyType { Call::Registrar(paras_registrar::Call::reserve(..)) | Call::Crowdloan(..) | Call::Slots(..) | - Call::Auctions(..) - // Specifically omitting the entire XCM Pallet - ), - ProxyType::Staking => matches!(c, - Call::Staking(..) | - Call::Session(..) | - Call::Utility(..) + Call::Auctions(..) // Specifically omitting the entire XCM Pallet ), + ProxyType::Staking => + matches!(c, Call::Staking(..) | Call::Session(..) | Call::Utility(..)), ProxyType::SudoBalances => match c { - Call::Sudo(pallet_sudo::Call::sudo(ref x)) => matches!(x.as_ref(), &Call::Balances(..)), + Call::Sudo(pallet_sudo::Call::sudo(ref x)) => + matches!(x.as_ref(), &Call::Balances(..)), Call::Utility(..) => true, _ => false, }, - ProxyType::IdentityJudgement => matches!(c, - Call::Identity(pallet_identity::Call::provide_judgement(..)) | - Call::Utility(..) + ProxyType::IdentityJudgement => matches!( + c, + Call::Identity(pallet_identity::Call::provide_judgement(..)) | Call::Utility(..) ), - ProxyType::CancelProxy => matches!(c, - Call::Proxy(pallet_proxy::Call::reject_announcement(..)) - ) + ProxyType::CancelProxy => + matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement(..))), } } fn is_superset(&self, o: &Self) -> bool { @@ -869,24 +875,21 @@ parameter_types! { pub CheckAccount: AccountId = XcmPallet::check_account(); } -pub type LocationConverter = ( - ChildParachainConvertsVia, - AccountId32Aliases, -); - -pub type LocalAssetTransactor = - XcmCurrencyAdapter< - // Use this currency: - Balances, - // Use this currency when it is a fungible asset matching the given location or name: - IsConcrete, - // We can convert the MultiLocations with our converter above: - LocationConverter, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // It's a native asset so we keep track of the teleports to maintain total issuance. - CheckAccount, - >; +pub type LocationConverter = + (ChildParachainConvertsVia, AccountId32Aliases); + +pub type LocalAssetTransactor = XcmCurrencyAdapter< + // Use this currency: + Balances, + // Use this currency when it is a fungible asset matching the given location or name: + IsConcrete, + // We can convert the MultiLocations with our converter above: + LocationConverter, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, + // It's a native asset so we keep track of the teleports to maintain total issuance. + CheckAccount, +>; type LocalOriginConverter = ( SovereignSignedViaLocation, @@ -910,9 +913,7 @@ parameter_types! { pub const WestendForWestmint: (MultiAsset, MultiLocation) = (AllConcreteFungible { id: Null }, X1(Parachain(1000))); } -pub type TrustedTeleporters = ( - xcm_builder::Case, -); +pub type TrustedTeleporters = (xcm_builder::Case,); /// The barriers one of which must be passed for an XCM message to be executed. pub type Barrier = ( @@ -947,11 +948,15 @@ pub type LocalOriginToLocation = ( ); pub struct OnlyWithdrawTeleportForAccounts; -impl frame_support::traits::Contains<(MultiLocation, Xcm)> for OnlyWithdrawTeleportForAccounts { +impl frame_support::traits::Contains<(MultiLocation, Xcm)> + for OnlyWithdrawTeleportForAccounts +{ fn contains((ref origin, ref msg): &(MultiLocation, Xcm)) -> bool { use xcm::v0::{ - Xcm::WithdrawAsset, Order::{BuyExecution, InitiateTeleport, DepositAsset}, - MultiAsset::{All, ConcreteFungible}, Junction::AccountId32, + Junction::AccountId32, + MultiAsset::{All, ConcreteFungible}, + Order::{BuyExecution, DepositAsset, InitiateTeleport}, + Xcm::WithdrawAsset, }; match origin { // Root is allowed to execute anything. @@ -986,7 +991,7 @@ impl frame_support::traits::Contains<(MultiLocation, Xcm)> for OnlyWithdra ) ) ) - } + }, // Nobody else is allowed to execute anything. _ => false, } @@ -1126,9 +1131,9 @@ pub struct MigratePalletVersionToStorageVersion; impl OnRuntimeUpgrade for MigratePalletVersionToStorageVersion { fn on_runtime_upgrade() -> frame_support::weights::Weight { - frame_support::migrations::migrate_from_pallet_version_to_storage_version::( - &RocksDbWeight::get() - ) + frame_support::migrations::migrate_from_pallet_version_to_storage_version::< + AllPalletsWithSystem, + >(&RocksDbWeight::get()) } } @@ -1433,17 +1438,57 @@ sp_api::impl_runtime_apis! { #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList}; + use frame_support::traits::StorageInfoTrait; + + use pallet_session_benchmarking::Pallet as SessionBench; + use pallet_offences_benchmarking::Pallet as OffencesBench; + use frame_system_benchmarking::Pallet as SystemBench; + + let mut list = Vec::::new(); + + // Polkadot + // NOTE: Make sure to prefix these `runtime_common::` so that path resolves correctly + // in the generated file. + list_benchmark!(list, extra, runtime_common::auctions, Auctions); + list_benchmark!(list, extra, runtime_common::crowdloan, Crowdloan); + list_benchmark!(list, extra, runtime_common::paras_registrar, Registrar); + list_benchmark!(list, extra, runtime_common::slots, Slots); + // Substrate + list_benchmark!(list, extra, pallet_balances, Balances); + list_benchmark!(list, extra, pallet_election_provider_multi_phase, ElectionProviderMultiPhase); + list_benchmark!(list, extra, pallet_identity, Identity); + list_benchmark!(list, extra, pallet_im_online, ImOnline); + list_benchmark!(list, extra, pallet_indices, Indices); + list_benchmark!(list, extra, pallet_multisig, Multisig); + list_benchmark!(list, extra, pallet_offences, OffencesBench::); + list_benchmark!(list, extra, pallet_proxy, Proxy); + list_benchmark!(list, extra, pallet_scheduler, Scheduler); + list_benchmark!(list, extra, pallet_session, SessionBench::); + list_benchmark!(list, extra, pallet_staking, Staking); + list_benchmark!(list, extra, frame_system, SystemBench::); + list_benchmark!(list, extra, pallet_timestamp, Timestamp); + list_benchmark!(list, extra, pallet_utility, Utility); + list_benchmark!(list, extra, pallet_vesting, Vesting); + + let storage_info = AllPalletsWithSystem::storage_info(); + + return (list, storage_info) + } + fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig, ) -> Result< - (Vec, Vec), + Vec, sp_runtime::RuntimeString, > { use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - use frame_support::traits::StorageInfoTrait; - // Trying to add benchmarks directly to the Session Pallet caused cyclic dependency issues. - // To get around that, we separated the Session benchmarks into its own crate, which is why - // we need these two lines below. + // Trying to add benchmarks directly to some pallets caused cyclic dependency issues. + // To get around that, we separated the benchmarks into its own crate. use pallet_session_benchmarking::Pallet as SessionBench; use pallet_offences_benchmarking::Pallet as OffencesBench; use frame_system_benchmarking::Pallet as SystemBench; @@ -1495,8 +1540,7 @@ sp_api::impl_runtime_apis! { add_benchmark!(params, batches, pallet_vesting, Vesting); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - let storage_info = AllPalletsWithSystem::storage_info(); - Ok((batches, storage_info)) + Ok(batches) } } }