diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 25475aec90..50e7650163 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -423,7 +423,7 @@ dependencies = [
[[package]]
name = "beefy-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"beefy-primitives",
"fnv",
@@ -457,7 +457,7 @@ dependencies = [
[[package]]
name = "beefy-gadget-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"beefy-gadget",
"beefy-primitives",
@@ -477,7 +477,7 @@ dependencies = [
[[package]]
name = "beefy-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"beefy-primitives",
"sp-api",
@@ -486,7 +486,7 @@ dependencies = [
[[package]]
name = "beefy-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -1958,7 +1958,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
]
@@ -1976,7 +1976,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -1998,7 +1998,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"Inflector",
"chrono",
@@ -2049,7 +2049,7 @@ dependencies = [
[[package]]
name = "frame-election-provider-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -2060,7 +2060,7 @@ dependencies = [
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-election-provider-solution-type",
"frame-support",
@@ -2076,7 +2076,7 @@ dependencies = [
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -2104,7 +2104,7 @@ dependencies = [
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"bitflags",
"frame-metadata",
@@ -2134,7 +2134,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"Inflector",
"frame-support-procedural-tools",
@@ -2146,7 +2146,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
@@ -2158,7 +2158,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro2",
"quote",
@@ -2168,7 +2168,7 @@ dependencies = [
[[package]]
name = "frame-support-test"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-support-test-pallet",
@@ -2191,7 +2191,7 @@ dependencies = [
[[package]]
name = "frame-support-test-pallet"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -2202,7 +2202,7 @@ dependencies = [
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"log",
@@ -2219,7 +2219,7 @@ dependencies = [
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -2234,7 +2234,7 @@ dependencies = [
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -2243,7 +2243,7 @@ dependencies = [
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"sp-api",
@@ -2425,7 +2425,7 @@ dependencies = [
[[package]]
name = "generate-bags"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"chrono",
"frame-election-provider-support",
@@ -4797,7 +4797,7 @@ checksum = "20448fd678ec04e6ea15bbe0476874af65e98a01515d667aa49f1434dc44ebf4"
[[package]]
name = "pallet-assets"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4811,7 +4811,7 @@ dependencies = [
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -4827,7 +4827,7 @@ dependencies = [
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -4842,7 +4842,7 @@ dependencies = [
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4866,7 +4866,7 @@ dependencies = [
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -4886,7 +4886,7 @@ dependencies = [
[[package]]
name = "pallet-bags-list-remote-tests"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-election-provider-support",
"frame-support",
@@ -4905,7 +4905,7 @@ dependencies = [
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4920,7 +4920,7 @@ dependencies = [
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"beefy-primitives",
"frame-support",
@@ -4936,7 +4936,7 @@ dependencies = [
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"beefy-merkle-tree",
"beefy-primitives",
@@ -4959,7 +4959,7 @@ dependencies = [
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4977,7 +4977,7 @@ dependencies = [
[[package]]
name = "pallet-child-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4996,7 +4996,7 @@ dependencies = [
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5013,7 +5013,7 @@ dependencies = [
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5029,7 +5029,7 @@ dependencies = [
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5052,7 +5052,7 @@ dependencies = [
[[package]]
name = "pallet-election-provider-support-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5065,7 +5065,7 @@ dependencies = [
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5083,7 +5083,7 @@ dependencies = [
[[package]]
name = "pallet-gilt"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5098,7 +5098,7 @@ dependencies = [
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5121,7 +5121,7 @@ dependencies = [
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -5137,7 +5137,7 @@ dependencies = [
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5157,7 +5157,7 @@ dependencies = [
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5174,7 +5174,7 @@ dependencies = [
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5191,7 +5191,7 @@ dependencies = [
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"ckb-merkle-mountain-range",
"frame-benchmarking",
@@ -5209,7 +5209,7 @@ dependencies = [
[[package]]
name = "pallet-mmr-rpc"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -5224,7 +5224,7 @@ dependencies = [
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5239,7 +5239,7 @@ dependencies = [
[[package]]
name = "pallet-nomination-pools"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -5256,7 +5256,7 @@ dependencies = [
[[package]]
name = "pallet-nomination-pools-benchmarking"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5275,7 +5275,7 @@ dependencies = [
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -5292,7 +5292,7 @@ dependencies = [
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5315,7 +5315,7 @@ dependencies = [
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5331,7 +5331,7 @@ dependencies = [
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5346,7 +5346,7 @@ dependencies = [
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5361,7 +5361,7 @@ dependencies = [
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5377,7 +5377,7 @@ dependencies = [
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -5398,7 +5398,7 @@ dependencies = [
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5414,7 +5414,7 @@ dependencies = [
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -5428,7 +5428,7 @@ dependencies = [
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5451,7 +5451,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -5462,7 +5462,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"sp-arithmetic",
@@ -5471,7 +5471,7 @@ dependencies = [
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -5485,7 +5485,7 @@ dependencies = [
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5503,7 +5503,7 @@ dependencies = [
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5522,7 +5522,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-support",
"frame-system",
@@ -5538,7 +5538,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"jsonrpsee",
"pallet-transaction-payment-rpc-runtime-api",
@@ -5553,7 +5553,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -5564,7 +5564,7 @@ dependencies = [
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5581,7 +5581,7 @@ dependencies = [
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5597,7 +5597,7 @@ dependencies = [
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6083,6 +6083,7 @@ dependencies = [
"sc-sysinfo",
"sc-tracing",
"sp-core",
+ "sp-keyring",
"sp-trie",
"substrate-build-script-utils",
"thiserror",
@@ -8054,7 +8055,7 @@ dependencies = [
[[package]]
name = "remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"env_logger 0.9.0",
"jsonrpsee",
@@ -8402,7 +8403,7 @@ dependencies = [
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"sp-core",
@@ -8413,7 +8414,7 @@ dependencies = [
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures",
@@ -8440,7 +8441,7 @@ dependencies = [
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"futures-timer",
@@ -8463,7 +8464,7 @@ dependencies = [
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -8479,7 +8480,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"impl-trait-for-tuples",
"memmap2 0.5.0",
@@ -8496,7 +8497,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -8507,7 +8508,7 @@ dependencies = [
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"chrono",
"clap",
@@ -8546,7 +8547,7 @@ dependencies = [
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"fnv",
"futures",
@@ -8574,7 +8575,7 @@ dependencies = [
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"hash-db",
"kvdb",
@@ -8599,7 +8600,7 @@ dependencies = [
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures",
@@ -8623,7 +8624,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"fork-tree",
@@ -8666,7 +8667,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"jsonrpsee",
@@ -8688,7 +8689,7 @@ dependencies = [
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -8701,7 +8702,7 @@ dependencies = [
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures",
@@ -8726,7 +8727,7 @@ dependencies = [
[[package]]
name = "sc-consensus-uncles"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"sc-client-api",
"sp-authorship",
@@ -8737,7 +8738,7 @@ dependencies = [
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"lazy_static",
"lru 0.7.7",
@@ -8764,7 +8765,7 @@ dependencies = [
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -8781,7 +8782,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"parity-scale-codec",
@@ -8796,7 +8797,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -8816,7 +8817,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"ahash",
"async-trait",
@@ -8857,7 +8858,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"finality-grandpa",
"futures",
@@ -8878,7 +8879,7 @@ dependencies = [
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"ansi_term",
"futures",
@@ -8895,7 +8896,7 @@ dependencies = [
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"hex",
@@ -8910,7 +8911,7 @@ dependencies = [
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"asynchronous-codec",
@@ -8959,7 +8960,7 @@ dependencies = [
[[package]]
name = "sc-network-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"bitflags",
"futures",
@@ -8977,7 +8978,7 @@ dependencies = [
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"ahash",
"futures",
@@ -8994,7 +8995,7 @@ dependencies = [
[[package]]
name = "sc-network-light"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"libp2p",
@@ -9014,7 +9015,7 @@ dependencies = [
[[package]]
name = "sc-network-sync"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"fork-tree",
"futures",
@@ -9041,7 +9042,7 @@ dependencies = [
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"bytes",
"fnv",
@@ -9069,7 +9070,7 @@ dependencies = [
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"libp2p",
@@ -9082,7 +9083,7 @@ dependencies = [
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -9091,7 +9092,7 @@ dependencies = [
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"hash-db",
@@ -9121,7 +9122,7 @@ dependencies = [
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"jsonrpsee",
@@ -9144,7 +9145,7 @@ dependencies = [
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"jsonrpsee",
@@ -9157,7 +9158,7 @@ dependencies = [
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"directories",
@@ -9224,7 +9225,7 @@ dependencies = [
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"parity-scale-codec",
@@ -9238,7 +9239,7 @@ dependencies = [
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -9257,7 +9258,7 @@ dependencies = [
[[package]]
name = "sc-sysinfo"
version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"libc",
@@ -9276,7 +9277,7 @@ dependencies = [
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"chrono",
"futures",
@@ -9294,7 +9295,7 @@ dependencies = [
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"ansi_term",
"atty",
@@ -9325,7 +9326,7 @@ dependencies = [
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -9336,7 +9337,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"futures-timer",
@@ -9363,7 +9364,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"log",
@@ -9376,7 +9377,7 @@ dependencies = [
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"futures-timer",
@@ -9861,7 +9862,7 @@ dependencies = [
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"hash-db",
"log",
@@ -9878,7 +9879,7 @@ dependencies = [
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"blake2",
"proc-macro-crate",
@@ -9890,7 +9891,7 @@ dependencies = [
[[package]]
name = "sp-application-crypto"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -9903,7 +9904,7 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -9918,7 +9919,7 @@ dependencies = [
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -9931,7 +9932,7 @@ dependencies = [
[[package]]
name = "sp-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -9943,7 +9944,7 @@ dependencies = [
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -9955,7 +9956,7 @@ dependencies = [
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"log",
@@ -9973,7 +9974,7 @@ dependencies = [
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures",
@@ -9992,7 +9993,7 @@ dependencies = [
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"merlin",
@@ -10015,7 +10016,7 @@ dependencies = [
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10029,7 +10030,7 @@ dependencies = [
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10042,7 +10043,7 @@ dependencies = [
[[package]]
name = "sp-core"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"base58",
"bitflags",
@@ -10088,7 +10089,7 @@ dependencies = [
[[package]]
name = "sp-core-hashing"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"blake2",
"byteorder",
@@ -10102,7 +10103,7 @@ dependencies = [
[[package]]
name = "sp-core-hashing-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro2",
"quote",
@@ -10113,7 +10114,7 @@ dependencies = [
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"kvdb",
"parking_lot 0.12.0",
@@ -10122,7 +10123,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro2",
"quote",
@@ -10132,7 +10133,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -10143,7 +10144,7 @@ dependencies = [
[[package]]
name = "sp-finality-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"finality-grandpa",
"log",
@@ -10161,7 +10162,7 @@ dependencies = [
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -10175,7 +10176,7 @@ dependencies = [
[[package]]
name = "sp-io"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"hash-db",
@@ -10200,7 +10201,7 @@ dependencies = [
[[package]]
name = "sp-keyring"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"lazy_static",
"sp-core",
@@ -10211,7 +10212,7 @@ dependencies = [
[[package]]
name = "sp-keystore"
version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures",
@@ -10228,7 +10229,7 @@ dependencies = [
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"thiserror",
"zstd",
@@ -10237,7 +10238,7 @@ dependencies = [
[[package]]
name = "sp-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"parity-scale-codec",
@@ -10252,7 +10253,7 @@ dependencies = [
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10266,7 +10267,7 @@ dependencies = [
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"sp-api",
"sp-core",
@@ -10276,7 +10277,7 @@ dependencies = [
[[package]]
name = "sp-panic-handler"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"backtrace",
"lazy_static",
@@ -10286,7 +10287,7 @@ dependencies = [
[[package]]
name = "sp-rpc"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"rustc-hash",
"serde",
@@ -10296,7 +10297,7 @@ dependencies = [
[[package]]
name = "sp-runtime"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"either",
"hash256-std-hasher",
@@ -10318,7 +10319,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -10335,7 +10336,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"Inflector",
"proc-macro-crate",
@@ -10347,7 +10348,7 @@ dependencies = [
[[package]]
name = "sp-sandbox"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"parity-scale-codec",
@@ -10361,7 +10362,7 @@ dependencies = [
[[package]]
name = "sp-serializer"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"serde",
"serde_json",
@@ -10370,7 +10371,7 @@ dependencies = [
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10384,7 +10385,7 @@ dependencies = [
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10395,7 +10396,7 @@ dependencies = [
[[package]]
name = "sp-state-machine"
version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"hash-db",
"log",
@@ -10417,12 +10418,12 @@ dependencies = [
[[package]]
name = "sp-std"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
[[package]]
name = "sp-storage"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -10435,7 +10436,7 @@ dependencies = [
[[package]]
name = "sp-tasks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"log",
"sp-core",
@@ -10448,7 +10449,7 @@ dependencies = [
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures-timer",
@@ -10464,7 +10465,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -10476,7 +10477,7 @@ dependencies = [
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"sp-api",
"sp-runtime",
@@ -10485,7 +10486,7 @@ dependencies = [
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"log",
@@ -10501,7 +10502,7 @@ dependencies = [
[[package]]
name = "sp-trie"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"hash-db",
"memory-db",
@@ -10517,7 +10518,7 @@ dependencies = [
[[package]]
name = "sp-version"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -10534,7 +10535,7 @@ dependencies = [
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -10545,7 +10546,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"impl-trait-for-tuples",
"log",
@@ -10741,7 +10742,7 @@ dependencies = [
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"platforms",
]
@@ -10749,7 +10750,7 @@ dependencies = [
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"frame-system-rpc-runtime-api",
"futures",
@@ -10770,7 +10771,7 @@ dependencies = [
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures-util",
"hyper",
@@ -10783,7 +10784,7 @@ dependencies = [
[[package]]
name = "substrate-state-trie-migration-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"jsonrpsee",
"log",
@@ -10804,7 +10805,7 @@ dependencies = [
[[package]]
name = "substrate-test-client"
version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"async-trait",
"futures",
@@ -10830,7 +10831,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"futures",
"substrate-test-utils-derive",
@@ -10840,7 +10841,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -10851,7 +10852,7 @@ dependencies = [
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"ansi_term",
"build-helper",
@@ -11389,11 +11390,11 @@ dependencies = [
[[package]]
name = "tracing-core"
-version = "0.1.26"
+version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f"
+checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7"
dependencies = [
- "lazy_static",
+ "once_cell",
"valuable",
]
@@ -11435,10 +11436,8 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
dependencies = [
- "ahash",
"lazy_static",
"log",
- "lru 0.7.7",
"tracing-core",
]
@@ -11567,7 +11566,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#367dab0d4bd7fd7b6c222dd15c753169c057dd42"
+source = "git+https://github.com/paritytech/substrate?branch=master#ced41695aafa648ebdb01305e563fa7ca89756bc"
dependencies = [
"clap",
"jsonrpsee",
diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml
index 24df95126f..68c297f7ee 100644
--- a/polkadot/cli/Cargo.toml
+++ b/polkadot/cli/Cargo.toml
@@ -26,6 +26,7 @@ polkadot-node-core-pvf = { path = "../node/core/pvf", optional = true }
polkadot-performance-test = { path = "../node/test/performance-test", optional = true }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "master", optional = true }
try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "master", optional = true }
sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master", optional = true }
diff --git a/polkadot/cli/src/command.rs b/polkadot/cli/src/command.rs
index 19c046e7c2..dfa4c05c21 100644
--- a/polkadot/cli/src/command.rs
+++ b/polkadot/cli/src/command.rs
@@ -15,12 +15,16 @@
// along with Polkadot. If not, see .
use crate::cli::{Cli, Subcommand};
-use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
+use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory, SUBSTRATE_REFERENCE_HARDWARE};
use futures::future::TryFutureExt;
use log::info;
+use polkadot_client::benchmarking::{
+ benchmark_inherent_data, ExistentialDepositProvider, RemarkBuilder, TransferKeepAliveBuilder,
+};
use sc_cli::{Role, RuntimeVersion, SubstrateCli};
use service::{self, HeaderBackend, IdentifyVariant};
use sp_core::crypto::Ss58AddressFormatRegistry;
+use sp_keyring::Sr25519Keyring;
use std::net::ToSocketAddrs;
pub use crate::{error::Error, service::BlockId};
@@ -508,22 +512,42 @@ pub fn run() -> Result<()> {
unwrap_client!(client, cmd.run(client.clone()).map_err(Error::SubstrateCli))
}),
- BenchmarkCmd::Overhead(cmd) => {
+ // These commands are very similar and can be handled in nearly the same way.
+ BenchmarkCmd::Extrinsic(_) | BenchmarkCmd::Overhead(_) => {
ensure_dev(chain_spec).map_err(Error::Other)?;
runner.sync_run(|mut config| {
- use polkadot_client::benchmark_inherent_data;
let (client, _, _, _) = service::new_chain_ops(&mut config, None)?;
- let wrapped = client.clone();
-
let header = client.header(BlockId::Number(0_u32.into())).unwrap().unwrap();
let inherent_data = benchmark_inherent_data(header)
.map_err(|e| format!("generating inherent data: {:?}", e))?;
+ let remark_builder = RemarkBuilder::new(client.clone());
- unwrap_client!(
- client,
- cmd.run(config, client.clone(), inherent_data, wrapped)
- .map_err(Error::SubstrateCli)
- )
+ match cmd {
+ BenchmarkCmd::Extrinsic(cmd) => {
+ let tka_builder = TransferKeepAliveBuilder::new(
+ client.clone(),
+ Sr25519Keyring::Alice.to_account_id(),
+ client.existential_deposit(),
+ );
+
+ let ext_factory = ExtrinsicFactory(vec![
+ Box::new(remark_builder),
+ Box::new(tka_builder),
+ ]);
+
+ unwrap_client!(
+ client,
+ cmd.run(client.clone(), inherent_data, &ext_factory)
+ .map_err(Error::SubstrateCli)
+ )
+ },
+ BenchmarkCmd::Overhead(cmd) => unwrap_client!(
+ client,
+ cmd.run(config, client.clone(), inherent_data, &remark_builder)
+ .map_err(Error::SubstrateCli)
+ ),
+ _ => unreachable!("Ensured by the outside match; qed"),
+ }
})
},
BenchmarkCmd::Pallet(cmd) => {
diff --git a/polkadot/node/client/src/benchmarking.rs b/polkadot/node/client/src/benchmarking.rs
new file mode 100644
index 0000000000..02c0d316c0
--- /dev/null
+++ b/polkadot/node/client/src/benchmarking.rs
@@ -0,0 +1,391 @@
+// Copyright 2022 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot. If not, see .
+
+//! Code related to benchmarking a [`crate::Client`].
+
+use polkadot_primitives::v2::{AccountId, Balance};
+use sp_core::{Pair, H256};
+use sp_keyring::Sr25519Keyring;
+use sp_runtime::OpaqueExtrinsic;
+
+use crate::*;
+
+/// Generates `System::Remark` extrinsics for the benchmarks.
+///
+/// Note: Should only be used for benchmarking.
+pub struct RemarkBuilder {
+ client: Arc,
+}
+
+impl RemarkBuilder {
+ /// Creates a new [`Self`] from the given client.
+ pub fn new(client: Arc) -> Self {
+ Self { client }
+ }
+}
+
+impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder {
+ fn pallet(&self) -> &str {
+ "system"
+ }
+
+ fn extrinsic(&self) -> &str {
+ "remark"
+ }
+
+ fn build(&self, nonce: u32) -> std::result::Result {
+ with_client! {
+ self.client.as_ref(), client, {
+ use runtime::{Call, SystemCall};
+
+ let call = Call::System(SystemCall::remark { remark: vec![] });
+ let signer = Sr25519Keyring::Bob.pair();
+
+ let period = polkadot_runtime_common::BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
+ let genesis = client.usage_info().chain.best_hash;
+
+ Ok(client.sign_call(call, nonce, 0, period, genesis, signer))
+ }
+ }
+ }
+}
+
+/// Generates `Balances::TransferKeepAlive` extrinsics for the benchmarks.
+///
+/// Note: Should only be used for benchmarking.
+pub struct TransferKeepAliveBuilder {
+ client: Arc,
+ dest: AccountId,
+ value: Balance,
+}
+
+impl TransferKeepAliveBuilder {
+ /// Creates a new [`Self`] from the given client and the arguments for the extrinsics.
+
+ pub fn new(client: Arc, dest: AccountId, value: Balance) -> Self {
+ Self { client, dest, value }
+ }
+}
+
+impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder {
+ fn pallet(&self) -> &str {
+ "balances"
+ }
+
+ fn extrinsic(&self) -> &str {
+ "transfer_keep_alive"
+ }
+
+ fn build(&self, nonce: u32) -> std::result::Result {
+ with_client! {
+ self.client.as_ref(), client, {
+ use runtime::{Call, BalancesCall};
+
+ let call = Call::Balances(BalancesCall::transfer_keep_alive {
+ dest: self.dest.clone().into(),
+ value: self.value.into(),
+ });
+ let signer = Sr25519Keyring::Bob.pair();
+
+ let period = polkadot_runtime_common::BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
+ let genesis = client.usage_info().chain.best_hash;
+
+ Ok(client.sign_call(call, nonce, 0, period, genesis, signer))
+ }
+ }
+ }
+}
+
+/// Helper trait to implement [`frame_benchmarking_cli::ExtrinsicBuilder`].
+///
+/// Should only be used for benchmarking since it makes strong assumptions
+/// about the chain state that these calls will be valid for.
+trait BenchmarkCallSigner {
+ /// Signs a call together with the signed extensions of the specific runtime.
+ ///
+ /// Only works if the current block is the genesis block since the
+ /// `CheckMortality` check is mocked by using the genesis block.
+ fn sign_call(
+ &self,
+ call: Call,
+ nonce: u32,
+ current_block: u64,
+ period: u64,
+ genesis: H256,
+ acc: Signer,
+ ) -> OpaqueExtrinsic;
+}
+
+#[cfg(feature = "polkadot")]
+impl BenchmarkCallSigner
+ for FullClient
+{
+ fn sign_call(
+ &self,
+ call: polkadot_runtime::Call,
+ nonce: u32,
+ current_block: u64,
+ period: u64,
+ genesis: H256,
+ acc: sp_core::sr25519::Pair,
+ ) -> OpaqueExtrinsic {
+ use polkadot_runtime as runtime;
+
+ let extra: runtime::SignedExtra = (
+ frame_system::CheckNonZeroSender::::new(),
+ frame_system::CheckSpecVersion::::new(),
+ frame_system::CheckTxVersion::::new(),
+ frame_system::CheckGenesis::::new(),
+ frame_system::CheckMortality::::from(
+ sp_runtime::generic::Era::mortal(period, current_block),
+ ),
+ frame_system::CheckNonce::::from(nonce),
+ frame_system::CheckWeight::::new(),
+ pallet_transaction_payment::ChargeTransactionPayment::::from(0),
+ polkadot_runtime_common::claims::PrevalidateAttests::::new(),
+ );
+
+ let payload = runtime::SignedPayload::from_raw(
+ call.clone(),
+ extra.clone(),
+ (
+ (),
+ runtime::VERSION.spec_version,
+ runtime::VERSION.transaction_version,
+ genesis.clone(),
+ genesis,
+ (),
+ (),
+ (),
+ (),
+ ),
+ );
+
+ let signature = payload.using_encoded(|p| acc.sign(p));
+ runtime::UncheckedExtrinsic::new_signed(
+ call,
+ sp_runtime::AccountId32::from(acc.public()).into(),
+ polkadot_core_primitives::Signature::Sr25519(signature.clone()),
+ extra,
+ )
+ .into()
+ }
+}
+
+#[cfg(feature = "westend")]
+impl BenchmarkCallSigner
+ for FullClient
+{
+ fn sign_call(
+ &self,
+ call: westend_runtime::Call,
+ nonce: u32,
+ current_block: u64,
+ period: u64,
+ genesis: H256,
+ acc: sp_core::sr25519::Pair,
+ ) -> OpaqueExtrinsic {
+ use westend_runtime as runtime;
+
+ let extra: runtime::SignedExtra = (
+ frame_system::CheckNonZeroSender::::new(),
+ frame_system::CheckSpecVersion::::new(),
+ frame_system::CheckTxVersion::::new(),
+ frame_system::CheckGenesis::::new(),
+ frame_system::CheckMortality::::from(
+ sp_runtime::generic::Era::mortal(period, current_block),
+ ),
+ frame_system::CheckNonce::::from(nonce),
+ frame_system::CheckWeight::::new(),
+ pallet_transaction_payment::ChargeTransactionPayment::::from(0),
+ );
+
+ let payload = runtime::SignedPayload::from_raw(
+ call.clone(),
+ extra.clone(),
+ (
+ (),
+ runtime::VERSION.spec_version,
+ runtime::VERSION.transaction_version,
+ genesis.clone(),
+ genesis,
+ (),
+ (),
+ (),
+ ),
+ );
+
+ let signature = payload.using_encoded(|p| acc.sign(p));
+ runtime::UncheckedExtrinsic::new_signed(
+ call,
+ sp_runtime::AccountId32::from(acc.public()).into(),
+ polkadot_core_primitives::Signature::Sr25519(signature.clone()),
+ extra,
+ )
+ .into()
+ }
+}
+
+#[cfg(feature = "kusama")]
+impl BenchmarkCallSigner
+ for FullClient
+{
+ fn sign_call(
+ &self,
+ call: kusama_runtime::Call,
+ nonce: u32,
+ current_block: u64,
+ period: u64,
+ genesis: H256,
+ acc: sp_core::sr25519::Pair,
+ ) -> OpaqueExtrinsic {
+ use kusama_runtime as runtime;
+
+ let extra: runtime::SignedExtra = (
+ frame_system::CheckNonZeroSender::::new(),
+ frame_system::CheckSpecVersion::::new(),
+ frame_system::CheckTxVersion::::new(),
+ frame_system::CheckGenesis::::new(),
+ frame_system::CheckMortality::::from(
+ sp_runtime::generic::Era::mortal(period, current_block),
+ ),
+ frame_system::CheckNonce::::from(nonce),
+ frame_system::CheckWeight::::new(),
+ pallet_transaction_payment::ChargeTransactionPayment::::from(0),
+ );
+
+ let payload = runtime::SignedPayload::from_raw(
+ call.clone(),
+ extra.clone(),
+ (
+ (),
+ runtime::VERSION.spec_version,
+ runtime::VERSION.transaction_version,
+ genesis.clone(),
+ genesis,
+ (),
+ (),
+ (),
+ ),
+ );
+
+ let signature = payload.using_encoded(|p| acc.sign(p));
+ runtime::UncheckedExtrinsic::new_signed(
+ call,
+ sp_runtime::AccountId32::from(acc.public()).into(),
+ polkadot_core_primitives::Signature::Sr25519(signature.clone()),
+ extra,
+ )
+ .into()
+ }
+}
+
+#[cfg(feature = "rococo")]
+impl BenchmarkCallSigner
+ for FullClient
+{
+ fn sign_call(
+ &self,
+ call: rococo_runtime::Call,
+ nonce: u32,
+ current_block: u64,
+ period: u64,
+ genesis: H256,
+ acc: sp_core::sr25519::Pair,
+ ) -> OpaqueExtrinsic {
+ use rococo_runtime as runtime;
+
+ let extra: runtime::SignedExtra = (
+ frame_system::CheckNonZeroSender::::new(),
+ frame_system::CheckSpecVersion::::new(),
+ frame_system::CheckTxVersion::::new(),
+ frame_system::CheckGenesis::::new(),
+ frame_system::CheckMortality::::from(
+ sp_runtime::generic::Era::mortal(period, current_block),
+ ),
+ frame_system::CheckNonce::::from(nonce),
+ frame_system::CheckWeight::::new(),
+ pallet_transaction_payment::ChargeTransactionPayment::::from(0),
+ );
+
+ let payload = runtime::SignedPayload::from_raw(
+ call.clone(),
+ extra.clone(),
+ (
+ (),
+ runtime::VERSION.spec_version,
+ runtime::VERSION.transaction_version,
+ genesis.clone(),
+ genesis,
+ (),
+ (),
+ (),
+ ),
+ );
+
+ let signature = payload.using_encoded(|p| acc.sign(p));
+ runtime::UncheckedExtrinsic::new_signed(
+ call,
+ sp_runtime::AccountId32::from(acc.public()).into(),
+ polkadot_core_primitives::Signature::Sr25519(signature.clone()),
+ extra,
+ )
+ .into()
+ }
+}
+
+/// Generates inherent data for benchmarking Polkadot, Kusama, Westend and Rococo.
+///
+/// Not to be used outside of benchmarking since it returns mocked values.
+pub fn benchmark_inherent_data(
+ header: polkadot_core_primitives::Header,
+) -> std::result::Result {
+ use sp_inherents::InherentDataProvider;
+ let mut inherent_data = sp_inherents::InherentData::new();
+
+ // Assume that all runtimes have the `timestamp` pallet.
+ let d = std::time::Duration::from_millis(0);
+ let timestamp = sp_timestamp::InherentDataProvider::new(d.into());
+ timestamp.provide_inherent_data(&mut inherent_data)?;
+
+ let para_data = polkadot_primitives::v2::InherentData {
+ bitfields: Vec::new(),
+ backed_candidates: Vec::new(),
+ disputes: Vec::new(),
+ parent_header: header,
+ };
+
+ polkadot_node_core_parachains_inherent::ParachainsInherentDataProvider::from_data(para_data)
+ .provide_inherent_data(&mut inherent_data)?;
+
+ Ok(inherent_data)
+}
+
+/// Provides the existential deposit that is only needed for benchmarking.
+pub trait ExistentialDepositProvider {
+ /// Returns the existential deposit.
+ fn existential_deposit(&self) -> Balance;
+}
+
+impl ExistentialDepositProvider for Client {
+ fn existential_deposit(&self) -> Balance {
+ with_client! {
+ self,
+ _client,
+ runtime::ExistentialDeposit::get()
+ }
+ }
+}
diff --git a/polkadot/node/client/src/lib.rs b/polkadot/node/client/src/lib.rs
index 537eefb622..41b0048f0e 100644
--- a/polkadot/node/client/src/lib.rs
+++ b/polkadot/node/client/src/lib.rs
@@ -28,16 +28,16 @@ use sc_executor::NativeElseWasmExecutor;
use sp_api::{CallApiAt, Encode, NumberFor, ProvideRuntimeApi};
use sp_blockchain::{HeaderBackend, HeaderMetadata};
use sp_consensus::BlockStatus;
-use sp_core::{Pair, H256};
-use sp_keyring::Sr25519Keyring;
use sp_runtime::{
generic::{BlockId, SignedBlock},
traits::{BlakeTwo256, Block as BlockT},
- Justifications, OpaqueExtrinsic,
+ Justifications,
};
use sp_storage::{ChildInfo, StorageData, StorageKey};
use std::sync::Arc;
+pub mod benchmarking;
+
pub type FullBackend = sc_service::TFullBackend;
pub type FullClient =
@@ -243,35 +243,37 @@ pub trait ClientHandle {
/// provides the concrete runtime as `runtime`.
macro_rules! with_client {
{
- $self:ident,
+ // The client instance that should be unwrapped.
+ $self:expr,
+ // The name that the unwrapped client will have.
$client:ident,
// NOTE: Using an expression here is fine since blocks are also expressions.
$code:expr
} => {
match $self {
#[cfg(feature = "polkadot")]
- Self::Polkadot($client) => {
+ Client::Polkadot($client) => {
#[allow(unused_imports)]
use polkadot_runtime as runtime;
$code
},
#[cfg(feature = "westend")]
- Self::Westend($client) => {
+ Client::Westend($client) => {
#[allow(unused_imports)]
use westend_runtime as runtime;
$code
},
#[cfg(feature = "kusama")]
- Self::Kusama($client) => {
+ Client::Kusama($client) => {
#[allow(unused_imports)]
use kusama_runtime as runtime;
$code
},
#[cfg(feature = "rococo")]
- Self::Rococo($client) => {
+ Client::Rococo($client) => {
#[allow(unused_imports)]
use rococo_runtime as runtime;
@@ -280,6 +282,8 @@ macro_rules! with_client {
}
}
}
+// Make the macro available only within this crate.
+pub(crate) use with_client;
/// A client instance of Polkadot.
///
@@ -603,286 +607,3 @@ impl sp_blockchain::HeaderBackend for Client {
}
}
}
-
-impl frame_benchmarking_cli::ExtrinsicBuilder for Client {
- fn remark(&self, nonce: u32) -> std::result::Result {
- with_client! {
- self, client, {
- use runtime::{Call, SystemCall};
-
- let call = Call::System(SystemCall::remark { remark: vec![] });
- let signer = Sr25519Keyring::Bob.pair();
-
- let period = polkadot_runtime_common::BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
- let genesis = self.usage_info().chain.best_hash;
-
- Ok(client.sign_call(call, nonce, 0, period, genesis, signer))
- }
- }
- }
-}
-
-/// Helper trait to implement [`frame_benchmarking_cli::ExtrinsicBuilder`].
-///
-/// Should only be used for benchmarking since it makes strong assumptions
-/// about the chain state that these calls will be valid for.
-trait BenchmarkCallSigner {
- /// Signs a call together with the signed extensions of the specific runtime.
- ///
- /// Only works if the current block is the genesis block since the
- /// `CheckMortality` check is mocked by using the genesis block.
- fn sign_call(
- &self,
- call: Call,
- nonce: u32,
- current_block: u64,
- period: u64,
- genesis: H256,
- acc: Signer,
- ) -> OpaqueExtrinsic;
-}
-
-#[cfg(feature = "polkadot")]
-impl BenchmarkCallSigner
- for FullClient
-{
- fn sign_call(
- &self,
- call: polkadot_runtime::Call,
- nonce: u32,
- current_block: u64,
- period: u64,
- genesis: H256,
- acc: sp_core::sr25519::Pair,
- ) -> OpaqueExtrinsic {
- use polkadot_runtime as runtime;
-
- let extra: runtime::SignedExtra = (
- frame_system::CheckNonZeroSender::::new(),
- frame_system::CheckSpecVersion::::new(),
- frame_system::CheckTxVersion::::new(),
- frame_system::CheckGenesis::::new(),
- frame_system::CheckMortality::::from(
- sp_runtime::generic::Era::mortal(period, current_block),
- ),
- frame_system::CheckNonce::::from(nonce),
- frame_system::CheckWeight::::new(),
- pallet_transaction_payment::ChargeTransactionPayment::::from(0),
- polkadot_runtime_common::claims::PrevalidateAttests::::new(),
- );
-
- let payload = runtime::SignedPayload::from_raw(
- call.clone(),
- extra.clone(),
- (
- (),
- runtime::VERSION.spec_version,
- runtime::VERSION.transaction_version,
- genesis.clone(),
- genesis,
- (),
- (),
- (),
- (),
- ),
- );
-
- let signature = payload.using_encoded(|p| acc.sign(p));
- runtime::UncheckedExtrinsic::new_signed(
- call,
- sp_runtime::AccountId32::from(acc.public()).into(),
- polkadot_core_primitives::Signature::Sr25519(signature.clone()),
- extra,
- )
- .into()
- }
-}
-
-#[cfg(feature = "westend")]
-impl BenchmarkCallSigner
- for FullClient
-{
- fn sign_call(
- &self,
- call: westend_runtime::Call,
- nonce: u32,
- current_block: u64,
- period: u64,
- genesis: H256,
- acc: sp_core::sr25519::Pair,
- ) -> OpaqueExtrinsic {
- use westend_runtime as runtime;
-
- let extra: runtime::SignedExtra = (
- frame_system::CheckNonZeroSender::::new(),
- frame_system::CheckSpecVersion::::new(),
- frame_system::CheckTxVersion::::new(),
- frame_system::CheckGenesis::::new(),
- frame_system::CheckMortality::::from(
- sp_runtime::generic::Era::mortal(period, current_block),
- ),
- frame_system::CheckNonce::::from(nonce),
- frame_system::CheckWeight::::new(),
- pallet_transaction_payment::ChargeTransactionPayment::::from(0),
- );
-
- let payload = runtime::SignedPayload::from_raw(
- call.clone(),
- extra.clone(),
- (
- (),
- runtime::VERSION.spec_version,
- runtime::VERSION.transaction_version,
- genesis.clone(),
- genesis,
- (),
- (),
- (),
- ),
- );
-
- let signature = payload.using_encoded(|p| acc.sign(p));
- runtime::UncheckedExtrinsic::new_signed(
- call,
- sp_runtime::AccountId32::from(acc.public()).into(),
- polkadot_core_primitives::Signature::Sr25519(signature.clone()),
- extra,
- )
- .into()
- }
-}
-
-#[cfg(feature = "kusama")]
-impl BenchmarkCallSigner
- for FullClient
-{
- fn sign_call(
- &self,
- call: kusama_runtime::Call,
- nonce: u32,
- current_block: u64,
- period: u64,
- genesis: H256,
- acc: sp_core::sr25519::Pair,
- ) -> OpaqueExtrinsic {
- use kusama_runtime as runtime;
-
- let extra: runtime::SignedExtra = (
- frame_system::CheckNonZeroSender::::new(),
- frame_system::CheckSpecVersion::::new(),
- frame_system::CheckTxVersion::::new(),
- frame_system::CheckGenesis::::new(),
- frame_system::CheckMortality::::from(
- sp_runtime::generic::Era::mortal(period, current_block),
- ),
- frame_system::CheckNonce::::from(nonce),
- frame_system::CheckWeight::::new(),
- pallet_transaction_payment::ChargeTransactionPayment::::from(0),
- );
-
- let payload = runtime::SignedPayload::from_raw(
- call.clone(),
- extra.clone(),
- (
- (),
- runtime::VERSION.spec_version,
- runtime::VERSION.transaction_version,
- genesis.clone(),
- genesis,
- (),
- (),
- (),
- ),
- );
-
- let signature = payload.using_encoded(|p| acc.sign(p));
- runtime::UncheckedExtrinsic::new_signed(
- call,
- sp_runtime::AccountId32::from(acc.public()).into(),
- polkadot_core_primitives::Signature::Sr25519(signature.clone()),
- extra,
- )
- .into()
- }
-}
-
-#[cfg(feature = "rococo")]
-impl BenchmarkCallSigner
- for FullClient
-{
- fn sign_call(
- &self,
- call: rococo_runtime::Call,
- nonce: u32,
- current_block: u64,
- period: u64,
- genesis: H256,
- acc: sp_core::sr25519::Pair,
- ) -> OpaqueExtrinsic {
- use rococo_runtime as runtime;
-
- let extra: runtime::SignedExtra = (
- frame_system::CheckNonZeroSender::::new(),
- frame_system::CheckSpecVersion::::new(),
- frame_system::CheckTxVersion::::new(),
- frame_system::CheckGenesis::::new(),
- frame_system::CheckMortality::::from(
- sp_runtime::generic::Era::mortal(period, current_block),
- ),
- frame_system::CheckNonce::::from(nonce),
- frame_system::CheckWeight::::new(),
- pallet_transaction_payment::ChargeTransactionPayment::::from(0),
- );
-
- let payload = runtime::SignedPayload::from_raw(
- call.clone(),
- extra.clone(),
- (
- (),
- runtime::VERSION.spec_version,
- runtime::VERSION.transaction_version,
- genesis.clone(),
- genesis,
- (),
- (),
- (),
- ),
- );
-
- let signature = payload.using_encoded(|p| acc.sign(p));
- runtime::UncheckedExtrinsic::new_signed(
- call,
- sp_runtime::AccountId32::from(acc.public()).into(),
- polkadot_core_primitives::Signature::Sr25519(signature.clone()),
- extra,
- )
- .into()
- }
-}
-
-/// Generates inherent data for benchmarking Polkadot, Kusama, Westend and Rococo.
-///
-/// Not to be used outside of benchmarking since it returns mocked values.
-pub fn benchmark_inherent_data(
- header: polkadot_core_primitives::Header,
-) -> std::result::Result {
- use sp_inherents::InherentDataProvider;
- let mut inherent_data = sp_inherents::InherentData::new();
-
- // Assume that all runtimes have the `timestamp` pallet.
- let d = std::time::Duration::from_millis(0);
- let timestamp = sp_timestamp::InherentDataProvider::new(d.into());
- timestamp.provide_inherent_data(&mut inherent_data)?;
-
- let para_data = polkadot_primitives::v2::InherentData {
- bitfields: Vec::new(),
- backed_candidates: Vec::new(),
- disputes: Vec::new(),
- parent_header: header,
- };
-
- polkadot_node_core_parachains_inherent::ParachainsInherentDataProvider::from_data(para_data)
- .provide_inherent_data(&mut inherent_data)?;
-
- Ok(inherent_data)
-}
diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs
index a8405691f8..936d34325e 100644
--- a/polkadot/runtime/rococo/src/lib.rs
+++ b/polkadot/runtime/rococo/src/lib.rs
@@ -75,6 +75,7 @@ use runtime_parachains::{
};
pub use frame_system::Call as SystemCall;
+pub use pallet_balances::Call as BalancesCall;
/// Constant values used within the runtime.
use rococo_runtime_constants::{currency::*, fee::*, time::*};
diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs
index 642c4e7535..b1c7efae61 100644
--- a/polkadot/runtime/westend/src/lib.rs
+++ b/polkadot/runtime/westend/src/lib.rs
@@ -76,6 +76,7 @@ use sp_version::NativeVersion;
use sp_version::RuntimeVersion;
pub use frame_system::Call as SystemCall;
+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;
diff --git a/polkadot/tests/benchmark_block_works.rs b/polkadot/tests/benchmark_block_works.rs
deleted file mode 100644
index 0994fae675..0000000000
--- a/polkadot/tests/benchmark_block_works.rs
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot. If not, see .
-
-// Unix only since it uses signals.
-#![cfg(unix)]
-
-use assert_cmd::cargo::cargo_bin;
-use nix::{
- sys::signal::{kill, Signal::SIGINT},
- unistd::Pid,
-};
-use std::{
- path::Path,
- process::{self, Command},
- result::Result,
- time::Duration,
-};
-use tempfile::tempdir;
-
-pub mod common;
-
-static RUNTIMES: [&'static str; 3] = ["polkadot", "kusama", "westend"];
-
-/// `benchmark block` works for all dev runtimes using the wasm executor.
-#[tokio::test]
-async fn benchmark_block_works() {
- for runtime in RUNTIMES {
- let tmp_dir = tempdir().expect("could not create a temp dir");
- let base_path = tmp_dir.path();
- let runtime = format!("{}-dev", runtime);
-
- // Build a chain with a single block.
- build_chain(&runtime, base_path).await.unwrap();
- // Benchmark the that one.
- benchmark_block(&runtime, base_path, 1).unwrap();
- }
-}
-
-/// Builds a chain with one block for the given runtime and base path.
-async fn build_chain(runtime: &str, base_path: &Path) -> Result<(), String> {
- let mut cmd = Command::new(cargo_bin("polkadot"))
- .stdout(process::Stdio::piped())
- .stderr(process::Stdio::piped())
- .args(["--chain", &runtime, "--force-authoring", "--alice"])
- .arg("-d")
- .arg(base_path)
- .arg("--port")
- .arg("33034")
- .spawn()
- .unwrap();
-
- let (ws_url, _) = common::find_ws_url_from_output(cmd.stderr.take().unwrap());
-
- // Wait for the chain to produce one block.
- let ok = common::wait_n_finalized_blocks(1, Duration::from_secs(60), &ws_url).await;
- // Send SIGINT to node.
- kill(Pid::from_raw(cmd.id().try_into().unwrap()), SIGINT).unwrap();
- // Wait for the node to handle it and exit.
- assert!(common::wait_for(&mut cmd, 30).map(|x| x.success()).unwrap_or_default());
-
- ok.map_err(|e| format!("Node did not build the chain: {:?}", e))
-}
-
-/// Benchmarks the given block with the wasm executor.
-fn benchmark_block(runtime: &str, base_path: &Path, block: u32) -> Result<(), String> {
- // Invoke `benchmark block` with all options to make sure that they are valid.
- let status = Command::new(cargo_bin("polkadot"))
- .args(["benchmark", "block", "--chain", &runtime])
- .arg("-d")
- .arg(base_path)
- .args(["--from", &block.to_string(), "--to", &block.to_string()])
- .args(["--repeat", "1"])
- .args(["--execution", "wasm", "--wasm-execution", "compiled"])
- .status()
- .map_err(|e| format!("command failed: {:?}", e))?;
-
- if !status.success() {
- return Err("Command failed".into())
- }
-
- Ok(())
-}
diff --git a/polkadot/tests/benchmark_overhead_works.rs b/polkadot/tests/benchmark_overhead_works.rs
deleted file mode 100644
index 29a1de67e2..0000000000
--- a/polkadot/tests/benchmark_overhead_works.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2022 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Polkadot is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Polkadot. If not, see .
-
-use assert_cmd::cargo::cargo_bin;
-use std::{process::Command, result::Result};
-use tempfile::tempdir;
-
-static RUNTIMES: [&'static str; 3] = ["polkadot", "kusama", "westend"];
-
-/// `benchmark overhead` works for all dev runtimes.
-#[test]
-fn benchmark_overhead_works() {
- for runtime in RUNTIMES {
- let runtime = format!("{}-dev", runtime);
- assert!(benchmark_overhead(runtime).is_ok());
- }
-}
-
-/// `benchmark overhead` rejects all non-dev runtimes.
-#[test]
-fn benchmark_overhead_rejects_non_dev_runtimes() {
- for runtime in RUNTIMES {
- assert!(benchmark_overhead(runtime.into()).is_err());
- }
-}
-
-fn benchmark_overhead(runtime: String) -> Result<(), String> {
- let tmp_dir = tempdir().expect("could not create a temp dir");
- let base_path = tmp_dir.path();
-
- // Invoke `benchmark overhead` with all options to make sure that they are valid.
- let status = Command::new(cargo_bin("polkadot"))
- .args(["benchmark", "overhead", "--chain", &runtime])
- .arg("-d")
- .arg(base_path)
- .arg("--weight-path")
- .arg(base_path)
- .args(["--warmup", "5", "--repeat", "5"])
- .args(["--add", "100", "--mul", "1.2", "--metric", "p75"])
- // Only put 5 extrinsics into the block otherwise it takes forever to build it
- // especially for a non-release builds.
- .args(["--max-ext-per-block", "5"])
- .status()
- .map_err(|e| format!("command failed: {:?}", e))?;
-
- if !status.success() {
- return Err("Command failed".into())
- }
-
- // Weight files have been created.
- assert!(base_path.join("block_weights.rs").exists());
- assert!(base_path.join("extrinsic_weights.rs").exists());
- Ok(())
-}