From 7ec0963e3bd50c2323a7cf47df6aa181a158c302 Mon Sep 17 00:00:00 2001
From: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Date: Fri, 8 Apr 2022 02:02:22 +0200
Subject: [PATCH] Co #11164: Sub-commands for `benchmark` (#1156)

* para-template: Add bench commands

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* collator: Add bench commands

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Test benchmark commands

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove comments

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* update lockfile for {"polkadot"}

* Remove benchmark block test as the collator cannot produce blocks on its own

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

Co-authored-by: parity-processbot <>
---
 cumulus/Cargo.lock                            | 476 +++++++++---------
 cumulus/parachain-template/node/src/cli.rs    |   5 +-
 .../parachain-template/node/src/command.rs    |  43 +-
 cumulus/polkadot-parachains/src/cli.rs        |   5 +-
 cumulus/polkadot-parachains/src/command.rs    |  80 ++-
 .../tests/benchmark_storage_works.rs          |  42 ++
 6 files changed, 383 insertions(+), 268 deletions(-)
 create mode 100644 cumulus/polkadot-parachains/tests/benchmark_storage_works.rs

diff --git a/cumulus/Cargo.lock b/cumulus/Cargo.lock
index 8a7bde2365d..b621dce8c66 100644
--- a/cumulus/Cargo.lock
+++ b/cumulus/Cargo.lock
@@ -458,7 +458,7 @@ dependencies = [
 [[package]]
 name = "beefy-gadget"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "beefy-primitives",
  "fnv",
@@ -491,7 +491,7 @@ dependencies = [
 [[package]]
 name = "beefy-gadget-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "beefy-gadget",
  "beefy-primitives",
@@ -514,12 +514,12 @@ dependencies = [
 [[package]]
 name = "beefy-merkle-tree"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 
 [[package]]
 name = "beefy-primitives"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -735,7 +735,7 @@ dependencies = [
 [[package]]
 name = "bp-header-chain"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-runtime",
  "finality-grandpa",
@@ -752,7 +752,7 @@ dependencies = [
 [[package]]
 name = "bp-message-dispatch"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-runtime",
  "frame-support",
@@ -764,7 +764,7 @@ dependencies = [
 [[package]]
 name = "bp-messages"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "bp-runtime",
@@ -781,7 +781,7 @@ dependencies = [
 [[package]]
 name = "bp-polkadot-core"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-messages",
  "bp-runtime",
@@ -799,7 +799,7 @@ dependencies = [
 [[package]]
 name = "bp-rococo"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-messages",
  "bp-polkadot-core",
@@ -816,7 +816,7 @@ dependencies = [
 [[package]]
 name = "bp-runtime"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "hash-db",
@@ -834,7 +834,7 @@ dependencies = [
 [[package]]
 name = "bp-test-utils"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-header-chain",
  "ed25519-dalek",
@@ -849,7 +849,7 @@ dependencies = [
 [[package]]
 name = "bp-wococo"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-messages",
  "bp-polkadot-core",
@@ -864,7 +864,7 @@ dependencies = [
 [[package]]
 name = "bridge-runtime-common"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-message-dispatch",
  "bp-messages",
@@ -2819,7 +2819,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -2837,7 +2837,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2859,7 +2859,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "Inflector",
  "chrono",
@@ -2904,7 +2904,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-solution-type"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro-crate 1.1.3",
  "proc-macro2",
@@ -2915,7 +2915,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-election-provider-solution-type",
  "frame-support",
@@ -2931,7 +2931,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2959,7 +2959,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2988,7 +2988,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -3000,7 +3000,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 1.1.3",
@@ -3012,7 +3012,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3022,7 +3022,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "log",
@@ -3039,7 +3039,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3054,7 +3054,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -3063,7 +3063,7 @@ dependencies = [
 [[package]]
 name = "frame-try-runtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "sp-api",
@@ -4185,7 +4185,7 @@ dependencies = [
 [[package]]
 name = "kusama-runtime"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-primitives",
  "bitvec",
@@ -4274,7 +4274,7 @@ dependencies = [
 [[package]]
 name = "kusama-runtime-constants"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -5137,7 +5137,7 @@ dependencies = [
 [[package]]
 name = "metered-channel"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "coarsetime",
  "crossbeam-queue",
@@ -5654,7 +5654,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5670,7 +5670,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5685,7 +5685,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5709,7 +5709,7 @@ dependencies = [
 [[package]]
 name = "pallet-bags-list"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5729,7 +5729,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5744,7 +5744,7 @@ dependencies = [
 [[package]]
 name = "pallet-beefy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "beefy-primitives",
  "frame-support",
@@ -5760,7 +5760,7 @@ dependencies = [
 [[package]]
 name = "pallet-beefy-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "beefy-merkle-tree",
  "beefy-primitives",
@@ -5785,7 +5785,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5803,7 +5803,7 @@ dependencies = [
 [[package]]
 name = "pallet-bridge-dispatch"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-message-dispatch",
  "bp-runtime",
@@ -5820,7 +5820,7 @@ dependencies = [
 [[package]]
 name = "pallet-bridge-grandpa"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bp-header-chain",
  "bp-runtime",
@@ -5842,7 +5842,7 @@ dependencies = [
 [[package]]
 name = "pallet-bridge-messages"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "bp-message-dispatch",
@@ -5863,7 +5863,7 @@ dependencies = [
 [[package]]
 name = "pallet-child-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5908,7 +5908,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6009,7 +6009,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6025,7 +6025,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -6048,7 +6048,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6066,7 +6066,7 @@ dependencies = [
 [[package]]
 name = "pallet-gilt"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6081,7 +6081,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6104,7 +6104,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -6120,7 +6120,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6140,7 +6140,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6157,7 +6157,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6174,7 +6174,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "ckb-merkle-mountain-range",
  "frame-benchmarking",
@@ -6192,7 +6192,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-primitives"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6208,7 +6208,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -6225,7 +6225,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6240,7 +6240,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6254,7 +6254,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6271,7 +6271,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -6294,7 +6294,7 @@ dependencies = [
 [[package]]
 name = "pallet-preimage"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6310,7 +6310,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6339,7 +6339,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6353,7 +6353,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6369,7 +6369,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6390,7 +6390,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6406,7 +6406,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6420,7 +6420,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -6443,7 +6443,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro-crate 1.1.3",
  "proc-macro2",
@@ -6454,7 +6454,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -6463,7 +6463,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6492,7 +6492,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6510,7 +6510,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6529,7 +6529,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6546,7 +6546,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -6563,7 +6563,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -6574,7 +6574,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6606,7 +6606,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6622,7 +6622,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6637,7 +6637,7 @@ dependencies = [
 [[package]]
 name = "pallet-xcm"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6655,7 +6655,7 @@ dependencies = [
 [[package]]
 name = "pallet-xcm-benchmarks"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7216,7 +7216,7 @@ dependencies = [
 [[package]]
 name = "polkadot-approval-distribution"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "polkadot-node-network-protocol",
@@ -7230,7 +7230,7 @@ dependencies = [
 [[package]]
 name = "polkadot-availability-bitfield-distribution"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "polkadot-node-network-protocol",
@@ -7243,7 +7243,7 @@ dependencies = [
 [[package]]
 name = "polkadot-availability-distribution"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "derive_more",
  "fatality",
@@ -7266,7 +7266,7 @@ dependencies = [
 [[package]]
 name = "polkadot-availability-recovery"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "fatality",
  "futures 0.3.21",
@@ -7287,7 +7287,7 @@ dependencies = [
 [[package]]
 name = "polkadot-cli"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "clap 3.1.8",
  "frame-benchmarking-cli",
@@ -7311,7 +7311,7 @@ dependencies = [
 [[package]]
 name = "polkadot-client"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-primitives",
  "frame-benchmarking",
@@ -7427,7 +7427,7 @@ dependencies = [
 [[package]]
 name = "polkadot-collator-protocol"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "always-assert",
  "fatality",
@@ -7448,7 +7448,7 @@ dependencies = [
 [[package]]
 name = "polkadot-core-primitives"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "parity-scale-codec",
  "parity-util-mem",
@@ -7461,7 +7461,7 @@ dependencies = [
 [[package]]
 name = "polkadot-dispute-distribution"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "derive_more",
  "fatality",
@@ -7484,7 +7484,7 @@ dependencies = [
 [[package]]
 name = "polkadot-erasure-coding"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "parity-scale-codec",
  "polkadot-node-primitives",
@@ -7498,7 +7498,7 @@ dependencies = [
 [[package]]
 name = "polkadot-gossip-support"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
@@ -7518,7 +7518,7 @@ dependencies = [
 [[package]]
 name = "polkadot-network-bridge"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -7537,7 +7537,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-collation-generation"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "parity-scale-codec",
@@ -7555,7 +7555,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-approval-voting"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "derive_more",
@@ -7583,7 +7583,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-av-store"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "futures 0.3.21",
@@ -7603,7 +7603,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-backing"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "futures 0.3.21",
@@ -7621,7 +7621,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-bitfield-signing"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "polkadot-node-subsystem",
@@ -7636,7 +7636,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-candidate-validation"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -7654,7 +7654,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-chain-api"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "polkadot-node-subsystem",
@@ -7669,7 +7669,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-chain-selection"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
@@ -7686,7 +7686,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-dispute-coordinator"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "fatality",
  "futures 0.3.21",
@@ -7705,7 +7705,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-parachains-inherent"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -7722,7 +7722,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-provisioner"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "futures 0.3.21",
@@ -7739,7 +7739,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-pvf"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "always-assert",
  "assert_matches",
@@ -7769,7 +7769,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-pvf-checker"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "polkadot-node-primitives",
@@ -7785,7 +7785,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-runtime-api"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "memory-lru",
@@ -7803,7 +7803,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-jaeger"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-std",
  "lazy_static",
@@ -7821,7 +7821,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-metrics"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bs58",
  "futures 0.3.21",
@@ -7840,7 +7840,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-network-protocol"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "fatality",
@@ -7858,7 +7858,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-primitives"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bounded-vec",
  "futures 0.3.21",
@@ -7880,7 +7880,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "polkadot-node-jaeger",
  "polkadot-node-subsystem-types",
@@ -7890,7 +7890,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem-test-helpers"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -7908,7 +7908,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem-types"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "derive_more",
  "futures 0.3.21",
@@ -7927,7 +7927,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem-util"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -7960,7 +7960,7 @@ dependencies = [
 [[package]]
 name = "polkadot-overseer"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
@@ -7981,7 +7981,7 @@ dependencies = [
 [[package]]
 name = "polkadot-overseer-gen"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -7998,7 +7998,7 @@ dependencies = [
 [[package]]
 name = "polkadot-overseer-gen-proc-macro"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "expander 0.0.6",
  "proc-macro-crate 1.1.3",
@@ -8010,7 +8010,7 @@ dependencies = [
 [[package]]
 name = "polkadot-parachain"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "derive_more",
  "frame-support",
@@ -8027,7 +8027,7 @@ dependencies = [
 [[package]]
 name = "polkadot-performance-test"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "env_logger 0.9.0",
  "kusama-runtime",
@@ -8042,7 +8042,7 @@ dependencies = [
 [[package]]
 name = "polkadot-primitives"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitvec",
  "frame-system",
@@ -8072,7 +8072,7 @@ dependencies = [
 [[package]]
 name = "polkadot-rpc"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-gadget",
  "beefy-gadget-rpc",
@@ -8104,7 +8104,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-primitives",
  "bitvec",
@@ -8189,7 +8189,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-common"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-primitives",
  "bitvec",
@@ -8236,7 +8236,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-constants"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -8248,7 +8248,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-metrics"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bs58",
  "parity-scale-codec",
@@ -8260,7 +8260,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-parachains"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "bitflags",
  "bitvec",
@@ -8303,7 +8303,7 @@ dependencies = [
 [[package]]
 name = "polkadot-service"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "async-trait",
  "beefy-gadget",
@@ -8404,7 +8404,7 @@ dependencies = [
 [[package]]
 name = "polkadot-statement-distribution"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "arrayvec 0.5.2",
  "fatality",
@@ -8425,7 +8425,7 @@ dependencies = [
 [[package]]
 name = "polkadot-statement-table"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "parity-scale-codec",
  "polkadot-primitives",
@@ -8435,7 +8435,7 @@ dependencies = [
 [[package]]
 name = "polkadot-test-client"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "parity-scale-codec",
  "polkadot-node-subsystem",
@@ -8460,7 +8460,7 @@ dependencies = [
 [[package]]
 name = "polkadot-test-runtime"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-primitives",
  "bitvec",
@@ -8522,7 +8522,7 @@ dependencies = [
 [[package]]
 name = "polkadot-test-service"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-benchmarking",
  "frame-system",
@@ -9065,7 +9065,7 @@ dependencies = [
 [[package]]
 name = "remote-externalities"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "env_logger 0.9.0",
  "jsonrpsee 0.10.1",
@@ -9182,7 +9182,7 @@ dependencies = [
 [[package]]
 name = "rococo-runtime"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-merkle-tree",
  "beefy-primitives",
@@ -9259,7 +9259,7 @@ dependencies = [
 [[package]]
 name = "rococo-runtime-constants"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -9448,7 +9448,7 @@ dependencies = [
 [[package]]
 name = "sc-allocator"
 version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "log",
  "sp-core",
@@ -9459,7 +9459,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -9486,7 +9486,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
@@ -9509,7 +9509,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -9525,7 +9525,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "impl-trait-for-tuples",
  "memmap2 0.5.0",
@@ -9542,7 +9542,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro-crate 1.1.3",
  "proc-macro2",
@@ -9553,7 +9553,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "chrono",
  "clap 3.1.8",
@@ -9591,7 +9591,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "fnv",
  "futures 0.3.21",
@@ -9619,7 +9619,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "hash-db",
  "kvdb",
@@ -9644,7 +9644,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -9697,7 +9697,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "fork-tree",
@@ -9740,7 +9740,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "jsonrpc-core",
@@ -9764,7 +9764,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -9777,7 +9777,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -9802,7 +9802,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "sc-client-api",
  "sp-authorship",
@@ -9813,7 +9813,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "lazy_static",
  "lru 0.7.5",
@@ -9840,7 +9840,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -9857,7 +9857,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -9873,7 +9873,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -9891,7 +9891,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "ahash",
  "async-trait",
@@ -9931,7 +9931,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "finality-grandpa",
  "futures 0.3.21",
@@ -9955,7 +9955,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "ansi_term",
  "futures 0.3.21",
@@ -9972,7 +9972,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "hex",
@@ -9987,7 +9987,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "asynchronous-codec 0.5.0",
@@ -10036,7 +10036,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "ahash",
  "futures 0.3.21",
@@ -10053,7 +10053,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "bytes 1.1.0",
  "fnv",
@@ -10081,7 +10081,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "libp2p",
@@ -10094,7 +10094,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -10103,7 +10103,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "hash-db",
@@ -10134,7 +10134,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "jsonrpc-core",
@@ -10160,7 +10160,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "jsonrpc-core",
@@ -10177,7 +10177,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "directories",
@@ -10241,7 +10241,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -10255,7 +10255,7 @@ dependencies = [
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -10276,7 +10276,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "chrono",
  "futures 0.3.21",
@@ -10294,7 +10294,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "ansi_term",
  "atty",
@@ -10325,7 +10325,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro-crate 1.1.3",
  "proc-macro2",
@@ -10336,7 +10336,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
@@ -10363,7 +10363,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "log",
@@ -10376,7 +10376,7 @@ dependencies = [
 [[package]]
 name = "sc-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
@@ -10849,7 +10849,7 @@ checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
 [[package]]
 name = "slot-range-helper"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "enumn",
  "parity-scale-codec",
@@ -10937,7 +10937,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "hash-db",
  "log",
@@ -10954,7 +10954,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "blake2 0.10.2",
  "proc-macro-crate 1.1.3",
@@ -10966,7 +10966,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -10979,7 +10979,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -10994,7 +10994,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -11007,7 +11007,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -11019,7 +11019,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -11031,7 +11031,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "log",
@@ -11049,7 +11049,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -11086,7 +11086,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "merlin",
@@ -11109,7 +11109,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -11123,7 +11123,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -11135,7 +11135,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "base58",
  "bitflags",
@@ -11181,7 +11181,7 @@ dependencies = [
 [[package]]
 name = "sp-core-hashing"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "blake2 0.10.2",
  "byteorder",
@@ -11195,7 +11195,7 @@ dependencies = [
 [[package]]
 name = "sp-core-hashing-proc-macro"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11206,7 +11206,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "kvdb",
  "parking_lot 0.12.0",
@@ -11215,7 +11215,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11225,7 +11225,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -11236,7 +11236,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -11254,7 +11254,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -11268,7 +11268,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures 0.3.21",
  "hash-db",
@@ -11293,7 +11293,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -11304,7 +11304,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -11321,7 +11321,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "thiserror",
  "zstd",
@@ -11330,7 +11330,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -11344,7 +11344,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -11354,7 +11354,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -11364,7 +11364,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -11374,7 +11374,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -11396,7 +11396,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -11413,7 +11413,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.1.3",
@@ -11439,7 +11439,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "serde",
  "serde_json",
@@ -11448,7 +11448,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -11462,7 +11462,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -11473,7 +11473,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "hash-db",
  "log",
@@ -11495,12 +11495,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 
 [[package]]
 name = "sp-storage"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -11513,7 +11513,7 @@ dependencies = [
 [[package]]
 name = "sp-tasks"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "log",
  "sp-core",
@@ -11526,7 +11526,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures-timer",
@@ -11542,7 +11542,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "sp-std",
@@ -11554,7 +11554,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -11563,7 +11563,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "log",
@@ -11579,7 +11579,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -11595,7 +11595,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -11612,7 +11612,7 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "parity-scale-codec",
  "proc-macro2",
@@ -11623,7 +11623,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "impl-trait-for-tuples",
  "log",
@@ -11913,7 +11913,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "platforms",
 ]
@@ -11921,7 +11921,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.21",
@@ -11943,7 +11943,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "futures-util",
  "hyper",
@@ -11956,7 +11956,7 @@ dependencies = [
 [[package]]
 name = "substrate-state-trie-migration-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -11979,7 +11979,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "async-trait",
  "futures 0.3.21",
@@ -12026,7 +12026,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "ansi_term",
  "build-helper",
@@ -12112,7 +12112,7 @@ checksum = "13a4ec180a2de59b57434704ccfad967f789b12737738798fa08798cd5824c16"
 [[package]]
 name = "test-runtime-constants"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -12413,7 +12413,7 @@ dependencies = [
 [[package]]
 name = "tracing-gum"
 version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "polkadot-node-jaeger",
  "polkadot-primitives",
@@ -12424,7 +12424,7 @@ dependencies = [
 [[package]]
 name = "tracing-gum-proc-macro"
 version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "expander 0.0.6",
  "proc-macro-crate 1.1.3",
@@ -12551,7 +12551,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
 [[package]]
 name = "try-runtime-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#f4e80d444523646c14def0ebbeee1d2bae47bfcf"
+source = "git+https://github.com/paritytech/substrate?branch=master#174735ea1bb5fc4513519c45181d8df63d86f613"
 dependencies = [
  "clap 3.1.8",
  "jsonrpsee 0.10.1",
@@ -13159,7 +13159,7 @@ dependencies = [
 [[package]]
 name = "westend-runtime"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "beefy-primitives",
  "bitvec",
@@ -13245,7 +13245,7 @@ dependencies = [
 [[package]]
 name = "westend-runtime-constants"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -13465,7 +13465,7 @@ dependencies = [
 [[package]]
 name = "xcm"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "derivative",
  "impl-trait-for-tuples",
@@ -13478,7 +13478,7 @@ dependencies = [
 [[package]]
 name = "xcm-builder"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -13498,7 +13498,7 @@ dependencies = [
 [[package]]
 name = "xcm-executor"
 version = "0.9.18"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -13516,7 +13516,7 @@ dependencies = [
 [[package]]
 name = "xcm-procedural"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#21f06c300de5a559d2408389cb7abfb5347c8cf9"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a686c4e117fdfbe8779f46047860af90ace23f97"
 dependencies = [
  "Inflector",
  "proc-macro2",
diff --git a/cumulus/parachain-template/node/src/cli.rs b/cumulus/parachain-template/node/src/cli.rs
index b7cc61344eb..b2e7019f690 100644
--- a/cumulus/parachain-template/node/src/cli.rs
+++ b/cumulus/parachain-template/node/src/cli.rs
@@ -34,8 +34,9 @@ pub enum Subcommand {
 	/// Revert the chain to a previous state.
 	Revert(sc_cli::RevertCmd),
 
-	/// The custom benchmark subcommmand benchmarking runtime pallets.
-	#[clap(name = "benchmark", about = "Benchmark runtime pallets.")]
+	/// Sub-commands concerned with benchmarking.
+	/// The pallet benchmarking moved to the `pallet` sub-command.
+	#[clap(subcommand)]
 	Benchmark(frame_benchmarking_cli::BenchmarkCmd),
 
 	/// Try some testing command against a specified runtime state.
diff --git a/cumulus/parachain-template/node/src/command.rs b/cumulus/parachain-template/node/src/command.rs
index f8b54e728c4..24f22a71d86 100644
--- a/cumulus/parachain-template/node/src/command.rs
+++ b/cumulus/parachain-template/node/src/command.rs
@@ -6,6 +6,7 @@ use crate::{
 use codec::Encode;
 use cumulus_client_service::genesis::generate_genesis_block;
 use cumulus_primitives_core::ParaId;
+use frame_benchmarking_cli::BenchmarkCmd;
 use log::info;
 use parachain_template_runtime::{Block, RuntimeApi};
 use polkadot_parachain::primitives::AccountIdConversion;
@@ -231,16 +232,38 @@ pub fn run() -> Result<()> {
 
 			Ok(())
 		},
-		Some(Subcommand::Benchmark(cmd)) =>
-			if cfg!(feature = "runtime-benchmarks") {
-				let runner = cli.create_runner(cmd)?;
-
-				runner.sync_run(|config| cmd.run::<Block, TemplateRuntimeExecutor>(config))
-			} else {
-				Err("Benchmarking wasn't enabled when building the node. \
-				You can enable it with `--features runtime-benchmarks`."
-					.into())
-			},
+		Some(Subcommand::Benchmark(cmd)) => {
+			let runner = cli.create_runner(cmd)?;
+			// Switch on the concrete benchmark sub-command-
+			match cmd {
+				BenchmarkCmd::Pallet(cmd) =>
+					if cfg!(feature = "runtime-benchmarks") {
+						runner.sync_run(|config| cmd.run::<Block, TemplateRuntimeExecutor>(config))
+					} else {
+						Err("Benchmarking wasn't enabled when building the node. \
+					You can enable it with `--features runtime-benchmarks`."
+							.into())
+					},
+				BenchmarkCmd::Block(cmd) => runner.sync_run(|config| {
+					let partials = new_partial::<RuntimeApi, TemplateRuntimeExecutor, _>(
+						&config,
+						crate::service::parachain_build_import_queue,
+					)?;
+					cmd.run(partials.client)
+				}),
+				BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| {
+					let partials = new_partial::<RuntimeApi, TemplateRuntimeExecutor, _>(
+						&config,
+						crate::service::parachain_build_import_queue,
+					)?;
+					let db = partials.backend.expose_db();
+					let storage = partials.backend.expose_storage();
+
+					cmd.run(config, partials.client.clone(), db, storage)
+				}),
+				BenchmarkCmd::Overhead(_) => Err("Unsupported benchmarking command".into()),
+			}
+		},
 		Some(Subcommand::TryRuntime(cmd)) => {
 			if cfg!(feature = "try-runtime") {
 				let runner = cli.create_runner(cmd)?;
diff --git a/cumulus/polkadot-parachains/src/cli.rs b/cumulus/polkadot-parachains/src/cli.rs
index cceb34d927b..6a9106c7ee9 100644
--- a/cumulus/polkadot-parachains/src/cli.rs
+++ b/cumulus/polkadot-parachains/src/cli.rs
@@ -51,8 +51,9 @@ pub enum Subcommand {
 	/// Revert the chain to a previous state.
 	Revert(sc_cli::RevertCmd),
 
-	/// The custom benchmark subcommmand benchmarking runtime pallets.
-	#[clap(name = "benchmark", about = "Benchmark runtime pallets.")]
+	/// Sub-commands concerned with benchmarking.
+	/// The pallet benchmarking moved to the `pallet` sub-command.
+	#[clap(subcommand)]
 	Benchmark(frame_benchmarking_cli::BenchmarkCmd),
 
 	/// Try some testing command against a specified runtime state.
diff --git a/cumulus/polkadot-parachains/src/command.rs b/cumulus/polkadot-parachains/src/command.rs
index 967e37a9128..1c35bf42df1 100644
--- a/cumulus/polkadot-parachains/src/command.rs
+++ b/cumulus/polkadot-parachains/src/command.rs
@@ -25,6 +25,7 @@ use crate::{
 use codec::Encode;
 use cumulus_client_service::genesis::generate_genesis_block;
 use cumulus_primitives_core::ParaId;
+use frame_benchmarking_cli::BenchmarkCmd;
 use log::info;
 use parachains_common::{AuraId, StatemintAuraId};
 use polkadot_parachain::primitives::AccountIdConversion;
@@ -268,6 +269,33 @@ fn extract_genesis_wasm(chain_spec: &Box<dyn sc_service::ChainSpec>) -> Result<V
 		.ok_or_else(|| "Could not find wasm file in genesis state!".into())
 }
 
+/// Creates partial components for the runtimes that are supported by the benchmarks.
+macro_rules! construct_benchmark_partials {
+	($config:expr, |$partials:ident| $code:expr) => {
+		if $config.chain_spec.is_statemine() {
+			let $partials = new_partial::<statemine_runtime::RuntimeApi, _>(
+				&$config,
+				crate::service::statemint_build_import_queue::<_, AuraId>,
+			)?;
+			$code
+		} else if $config.chain_spec.is_westmint() {
+			let $partials = new_partial::<westmint_runtime::RuntimeApi, _>(
+				&$config,
+				crate::service::statemint_build_import_queue::<_, AuraId>,
+			)?;
+			$code
+		} else if $config.chain_spec.is_statemint() {
+			let $partials = new_partial::<statemint_runtime::RuntimeApi, _>(
+				&$config,
+				crate::service::statemint_build_import_queue::<_, StatemintAuraId>,
+			)?;
+			$code
+		} else {
+			Err("The chain is not supported".into())
+		}
+	};
+}
+
 macro_rules! construct_async_run {
 	(|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{
 		let runner = $cli.create_runner($cmd)?;
@@ -439,23 +467,43 @@ pub fn run() -> Result<()> {
 
 			Ok(())
 		},
-		Some(Subcommand::Benchmark(cmd)) =>
-			if cfg!(feature = "runtime-benchmarks") {
-				let runner = cli.create_runner(cmd)?;
-				if runner.config().chain_spec.is_statemine() {
-					runner.sync_run(|config| cmd.run::<Block, StatemineRuntimeExecutor>(config))
-				} else if runner.config().chain_spec.is_westmint() {
-					runner.sync_run(|config| cmd.run::<Block, WestmintRuntimeExecutor>(config))
-				} else if runner.config().chain_spec.is_statemint() {
-					runner.sync_run(|config| cmd.run::<Block, StatemintRuntimeExecutor>(config))
-				} else {
-					Err("Chain doesn't support benchmarking".into())
-				}
-			} else {
-				Err("Benchmarking wasn't enabled when building the node. \
+		Some(Subcommand::Benchmark(cmd)) => {
+			let runner = cli.create_runner(cmd)?;
+
+			// Switch on the concrete benchmark sub-command-
+			match cmd {
+				BenchmarkCmd::Pallet(cmd) =>
+					if cfg!(feature = "runtime-benchmarks") {
+						runner.sync_run(|config| {
+							if config.chain_spec.is_statemine() {
+								cmd.run::<Block, StatemineRuntimeExecutor>(config)
+							} else if config.chain_spec.is_westmint() {
+								cmd.run::<Block, WestmintRuntimeExecutor>(config)
+							} else if config.chain_spec.is_statemint() {
+								cmd.run::<Block, StatemintRuntimeExecutor>(config)
+							} else {
+								Err("Chain doesn't support benchmarking".into())
+							}
+						})
+					} else {
+						Err("Benchmarking wasn't enabled when building the node. \
 				You can enable it with `--features runtime-benchmarks`."
-					.into())
-			},
+							.into())
+					},
+				BenchmarkCmd::Block(cmd) => runner.sync_run(|config| {
+					construct_benchmark_partials!(config, |partials| cmd.run(partials.client))
+				}),
+				BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| {
+					construct_benchmark_partials!(config, |partials| {
+						let db = partials.backend.expose_db();
+						let storage = partials.backend.expose_storage();
+
+						cmd.run(config, partials.client.clone(), db, storage)
+					})
+				}),
+				BenchmarkCmd::Overhead(_) => Err("Unsupported benchmarking command".into()),
+			}
+		},
 		Some(Subcommand::TryRuntime(cmd)) => {
 			if cfg!(feature = "try-runtime") {
 				// grab the task manager.
diff --git a/cumulus/polkadot-parachains/tests/benchmark_storage_works.rs b/cumulus/polkadot-parachains/tests/benchmark_storage_works.rs
new file mode 100644
index 00000000000..f2cf6919530
--- /dev/null
+++ b/cumulus/polkadot-parachains/tests/benchmark_storage_works.rs
@@ -0,0 +1,42 @@
+use assert_cmd::cargo::cargo_bin;
+use std::{
+	path::Path,
+	process::{Command, ExitStatus},
+};
+use tempfile::tempdir;
+
+/// The runtimes that this command supports.
+static RUNTIMES: [&'static str; 3] = ["westmint", "statemine", "statemint"];
+
+/// The `benchmark storage` command works for the dev runtimes.
+#[test]
+#[ignore]
+fn benchmark_storage_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);
+
+		// Benchmarking the storage works and creates the weight file.
+		assert!(benchmark_storage("rocksdb", &runtime, base_path).success());
+		assert!(base_path.join("rocksdb_weights.rs").exists());
+
+		assert!(benchmark_storage("paritydb", &runtime, base_path).success());
+		assert!(base_path.join("paritydb_weights.rs").exists());
+	}
+}
+
+/// Invoke the `benchmark storage` sub-command for the given database and runtime.
+fn benchmark_storage(db: &str, runtime: &str, base_path: &Path) -> ExitStatus {
+	Command::new(cargo_bin("polkadot-collator"))
+		.args(&["benchmark", "storage", "--chain", runtime])
+		.arg("--db")
+		.arg(db)
+		.arg("--weight-path")
+		.arg(base_path)
+		.args(["--state-version", "0"])
+		.args(["--warmups", "0"])
+		.args(["--add", "100", "--mul", "1.2", "--metric", "p75"])
+		.status()
+		.unwrap()
+}
-- 
GitLab