diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 95d28b7367f555f1ab2f7ee1d345ea01467f646d..01f1e024bbd15cef1ec0c25ab847f2a0f6b8b75e 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -1898,7 +1898,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1916,7 +1916,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "3.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1935,7 +1935,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "Inflector",
  "chrono",
@@ -1958,7 +1958,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-support"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1971,7 +1971,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1986,7 +1986,7 @@ dependencies = [
 [[package]]
 name = "frame-metadata"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -1997,7 +1997,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2024,7 +2024,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -2036,7 +2036,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 1.0.0",
@@ -2048,7 +2048,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2058,7 +2058,7 @@ dependencies = [
 [[package]]
 name = "frame-support-test"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-metadata",
  "frame-support",
@@ -2078,7 +2078,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -2095,7 +2095,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2109,7 +2109,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -2118,7 +2118,7 @@ dependencies = [
 [[package]]
 name = "frame-try-runtime"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -4051,7 +4051,7 @@ dependencies = [
 [[package]]
 name = "max-encoded-len"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "impl-trait-for-tuples",
  "max-encoded-len-derive",
@@ -4062,7 +4062,7 @@ dependencies = [
 [[package]]
 name = "max-encoded-len-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -4565,7 +4565,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b"
 [[package]]
 name = "pallet-authority-discovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4580,7 +4580,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4594,7 +4594,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4617,7 +4617,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4647,7 +4647,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4683,7 +4683,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4699,7 +4699,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4714,7 +4714,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4735,7 +4735,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4752,7 +4752,7 @@ dependencies = [
 [[package]]
 name = "pallet-gilt"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4766,7 +4766,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "3.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4788,7 +4788,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4803,7 +4803,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4822,7 +4822,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4838,7 +4838,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4853,7 +4853,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "ckb-merkle-mountain-range",
  "frame-benchmarking",
@@ -4870,7 +4870,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-primitives"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4886,7 +4886,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -4904,7 +4904,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4919,7 +4919,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4932,7 +4932,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4948,7 +4948,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4970,7 +4970,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4986,7 +4986,7 @@ dependencies = [
 [[package]]
 name = "pallet-randomness-collective-flip"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4999,7 +4999,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -5013,7 +5013,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5028,7 +5028,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5048,7 +5048,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5064,7 +5064,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5077,7 +5077,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5101,7 +5101,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -5112,7 +5112,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -5121,7 +5121,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5134,7 +5134,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5152,7 +5152,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5167,7 +5167,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5183,7 +5183,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -5200,7 +5200,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -5211,7 +5211,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5227,7 +5227,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5242,7 +5242,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -6096,10 +6096,14 @@ version = "0.1.0"
 dependencies = [
  "futures 0.3.15",
  "maplit",
+ "parity-scale-codec",
+ "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-test-helpers",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
+ "sc-client-api",
+ "sc-consensus-babe",
  "sp-blockchain",
  "sp-core",
  "tracing",
@@ -7553,7 +7557,7 @@ dependencies = [
 [[package]]
 name = "remote-externalities"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "env_logger 0.8.2",
  "hex",
@@ -7856,7 +7860,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -7885,7 +7889,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "futures-timer 3.0.2",
@@ -7908,7 +7912,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -7924,7 +7928,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -7945,7 +7949,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -7956,7 +7960,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "chrono",
  "fdlimit",
@@ -7994,7 +7998,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "fnv",
@@ -8028,7 +8032,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -8058,7 +8062,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parking_lot 0.11.1",
  "sc-client-api",
@@ -8070,7 +8074,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8116,7 +8120,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8140,7 +8144,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -8153,7 +8157,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "futures 0.3.15",
@@ -8181,7 +8185,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "sc-client-api",
  "sp-authorship",
@@ -8192,7 +8196,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "lazy_static",
@@ -8221,7 +8225,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "parity-scale-codec",
@@ -8238,7 +8242,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -8253,7 +8257,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -8272,7 +8276,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8313,7 +8317,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "finality-grandpa",
@@ -8337,7 +8341,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-warp-sync"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8358,7 +8362,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.15",
@@ -8376,7 +8380,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8396,7 +8400,7 @@ dependencies = [
 [[package]]
 name = "sc-light"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "hash-db",
  "lazy_static",
@@ -8415,7 +8419,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-std",
  "async-trait",
@@ -8468,7 +8472,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "futures-timer 3.0.2",
@@ -8485,7 +8489,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
@@ -8513,7 +8517,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "libp2p",
@@ -8526,7 +8530,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -8535,7 +8539,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "hash-db",
@@ -8570,7 +8574,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8595,7 +8599,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.1.29",
  "jsonrpc-core",
@@ -8613,7 +8617,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "directories",
@@ -8678,7 +8682,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -8693,7 +8697,7 @@ dependencies = [
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -8713,7 +8717,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "chrono",
  "futures 0.3.15",
@@ -8733,7 +8737,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -8770,7 +8774,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -8781,7 +8785,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-graph"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8803,7 +8807,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "intervalier",
@@ -9282,7 +9286,7 @@ dependencies = [
 [[package]]
 name = "sp-allocator"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "log",
  "sp-core",
@@ -9294,7 +9298,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "hash-db",
  "log",
@@ -9311,7 +9315,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate 1.0.0",
@@ -9323,7 +9327,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "max-encoded-len",
  "parity-scale-codec",
@@ -9336,7 +9340,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -9350,7 +9354,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9362,7 +9366,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -9374,7 +9378,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9386,7 +9390,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "log",
@@ -9404,7 +9408,7 @@ dependencies = [
 [[package]]
 name = "sp-chain-spec"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "serde",
  "serde_json",
@@ -9413,7 +9417,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "futures 0.3.15",
@@ -9440,7 +9444,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "merlin",
@@ -9462,7 +9466,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sp-arithmetic",
@@ -9472,7 +9476,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -9484,7 +9488,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -9529,7 +9533,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "kvdb",
  "parking_lot 0.11.1",
@@ -9538,7 +9542,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -9548,7 +9552,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -9559,7 +9563,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -9576,7 +9580,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -9590,7 +9594,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "hash-db",
@@ -9615,7 +9619,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -9626,7 +9630,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -9643,7 +9647,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "ruzstd",
  "zstd",
@@ -9652,7 +9656,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -9665,7 +9669,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections-compact"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -9676,7 +9680,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -9686,7 +9690,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "backtrace",
 ]
@@ -9694,7 +9698,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -9705,7 +9709,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -9727,7 +9731,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -9744,7 +9748,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.0.0",
@@ -9756,7 +9760,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "serde",
  "serde_json",
@@ -9765,7 +9769,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9778,7 +9782,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -9788,7 +9792,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "hash-db",
  "log",
@@ -9811,12 +9815,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 
 [[package]]
 name = "sp-storage"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -9829,7 +9833,7 @@ dependencies = [
 [[package]]
 name = "sp-tasks"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "log",
  "sp-core",
@@ -9842,7 +9846,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "futures-timer 3.0.2",
@@ -9859,7 +9863,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "erased-serde",
  "log",
@@ -9877,7 +9881,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -9893,7 +9897,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "log",
@@ -9908,7 +9912,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -9922,7 +9926,7 @@ dependencies = [
 [[package]]
 name = "sp-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "futures-core",
@@ -9934,7 +9938,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -9947,7 +9951,7 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "parity-scale-codec",
  "proc-macro-crate 1.0.0",
@@ -9959,7 +9963,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -10116,7 +10120,7 @@ dependencies = [
 [[package]]
 name = "substrate-browser-utils"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "chrono",
  "console_error_panic_hook",
@@ -10142,7 +10146,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "platforms",
 ]
@@ -10150,7 +10154,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.15",
@@ -10173,7 +10177,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-std",
  "derive_more",
@@ -10187,7 +10191,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "async-trait",
  "futures 0.1.29",
@@ -10216,7 +10220,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "futures 0.3.15",
  "substrate-test-utils-derive",
@@ -10226,7 +10230,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "quote",
@@ -10981,7 +10985,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
 [[package]]
 name = "try-runtime-cli"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#34d4bb0ed47f7ec5ae26add9f9f8f244428a3e02"
+source = "git+https://github.com/paritytech/substrate?branch=master#8b4df6ad44c169e727278a9ad012d065ecca0661"
 dependencies = [
  "frame-try-runtime",
  "log",
diff --git a/polkadot/node/core/chain-api/Cargo.toml b/polkadot/node/core/chain-api/Cargo.toml
index 32f9c056f631790f8e16daebed78bd6fa81f1052..8f9ec9f8b33f45b566a03d7815a757cbd82cba8e 100644
--- a/polkadot/node/core/chain-api/Cargo.toml
+++ b/polkadot/node/core/chain-api/Cargo.toml
@@ -11,9 +11,13 @@ sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "mas
 polkadot-primitives = { path = "../../../primitives" }
 polkadot-subsystem = { package = "polkadot-node-subsystem", path = "../../subsystem" }
 polkadot-node-subsystem-util = { path = "../../subsystem-util" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" }
 
 [dev-dependencies]
 futures = { version = "0.3.15", features = ["thread-pool"] }
 maplit = "1.0.2"
+parity-scale-codec = "2.0.0"
+polkadot-node-primitives = { path = "../../primitives" }
 polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
 sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/polkadot/node/core/chain-api/src/lib.rs b/polkadot/node/core/chain-api/src/lib.rs
index 0e6d3623c3e15a3eeca9722d45ece02dc309e221..b139b3b4bf548197bb132131b30a9f72609ce898 100644
--- a/polkadot/node/core/chain-api/src/lib.rs
+++ b/polkadot/node/core/chain-api/src/lib.rs
@@ -23,6 +23,7 @@
 //! Supported requests:
 //! * Block hash to number
 //! * Block hash to header
+//! * Block weight (cumulative)
 //! * Finalized block number to hash
 //! * Last finalized block number
 //! * Ancestors
@@ -30,19 +31,18 @@
 #![deny(unused_crate_dependencies, unused_results)]
 #![warn(missing_docs)]
 
-use polkadot_subsystem::{
-	FromOverseer, OverseerSignal,
-	SpawnedSubsystem, Subsystem, SubsystemResult, SubsystemError, SubsystemContext,
-	messages::ChainApiMessage,
-};
-use polkadot_node_subsystem_util::{
-	metrics::{self, prometheus},
-};
-use polkadot_primitives::v1::{Block, BlockId};
-use sp_blockchain::HeaderBackend;
 use std::sync::Arc;
 
 use futures::prelude::*;
+use sc_client_api::AuxStore;
+use sp_blockchain::HeaderBackend;
+
+use polkadot_node_subsystem_util::metrics::{self, prometheus};
+use polkadot_primitives::v1::{Block, BlockId};
+use polkadot_subsystem::{
+	messages::ChainApiMessage, FromOverseer, OverseerSignal, SpawnedSubsystem, Subsystem,
+	SubsystemContext, SubsystemError, SubsystemResult,
+};
 
 const LOG_TARGET: &str = "parachain::chain-api";
 
@@ -62,9 +62,10 @@ impl<Client> ChainApiSubsystem<Client> {
 	}
 }
 
-impl<Client, Context> Subsystem<Context> for ChainApiSubsystem<Client> where
-	Client: HeaderBackend<Block> + 'static,
-	Context: SubsystemContext<Message = ChainApiMessage>
+impl<Client, Context> Subsystem<Context> for ChainApiSubsystem<Client>
+where
+	Client: HeaderBackend<Block> + AuxStore + 'static,
+	Context: SubsystemContext<Message = ChainApiMessage>,
 {
 	fn start(self, ctx: Context) -> SpawnedSubsystem {
 		let future = run(ctx, self)
@@ -82,7 +83,7 @@ async fn run<Client>(
 	subsystem: ChainApiSubsystem<Client>,
 ) -> SubsystemResult<()>
 where
-	Client: HeaderBackend<Block>,
+	Client: HeaderBackend<Block> + AuxStore,
 {
 	loop {
 		match ctx.recv().await? {
@@ -104,6 +105,13 @@ where
 					subsystem.metrics.on_request(result.is_ok());
 					let _ = response_channel.send(result);
 				},
+				ChainApiMessage::BlockWeight(hash, response_channel) => {
+					let _timer = subsystem.metrics.time_block_weight();
+					let result = sc_consensus_babe::block_weight(&*subsystem.client, hash)
+						.map_err(|e| e.to_string().into());
+					subsystem.metrics.on_request(result.is_ok());
+					let _ = response_channel.send(result);
+				}
 				ChainApiMessage::FinalizedBlockHash(number, response_channel) => {
 					let _timer = subsystem.metrics.time_finalized_block_hash();
 					// Note: we don't verify it's finalized
@@ -160,6 +168,7 @@ struct MetricsInner {
 	chain_api_requests: prometheus::CounterVec<prometheus::U64>,
 	block_number: prometheus::Histogram,
 	block_header: prometheus::Histogram,
+	block_weight: prometheus::Histogram,
 	finalized_block_hash: prometheus::Histogram,
 	finalized_block_number: prometheus::Histogram,
 	ancestors: prometheus::Histogram,
@@ -190,6 +199,11 @@ impl Metrics {
 		self.0.as_ref().map(|metrics| metrics.block_header.start_timer())
 	}
 
+	/// Provide a timer for `block_weight` which observes on drop.
+	fn time_block_weight(&self) -> Option<metrics::prometheus::prometheus::HistogramTimer> {
+		self.0.as_ref().map(|metrics| metrics.block_weight.start_timer())
+	}
+
 	/// Provide a timer for `finalized_block_hash` which observes on drop.
 	fn time_finalized_block_hash(&self) -> Option<metrics::prometheus::prometheus::HistogramTimer> {
 		self.0.as_ref().map(|metrics| metrics.finalized_block_hash.start_timer())
@@ -237,6 +251,15 @@ impl metrics::Metrics for Metrics {
 				)?,
 				registry,
 			)?,
+			block_weight: prometheus::register(
+				prometheus::Histogram::with_opts(
+					prometheus::HistogramOpts::new(
+						"parachain_chain_api_block_weight",
+						"Time spent within `chain_api::block_weight`",
+					)
+				)?,
+				registry,
+			)?,
 			finalized_block_hash: prometheus::register(
 				prometheus::Histogram::with_opts(
 					prometheus::HistogramOpts::new(
@@ -269,15 +292,16 @@ impl metrics::Metrics for Metrics {
 	}
 }
 
-
 #[cfg(test)]
 mod tests {
 	use super::*;
 
 	use std::collections::BTreeMap;
 	use futures::{future::BoxFuture, channel::oneshot};
+	use parity_scale_codec::Encode;
 
 	use polkadot_primitives::v1::{Hash, BlockNumber, BlockId, Header};
+	use polkadot_node_primitives::BlockWeight;
 	use polkadot_node_subsystem_test_helpers::{make_subsystem_context, TestSubsystemContextHandle};
 	use sp_blockchain::Info as BlockInfo;
 	use sp_core::testing::TaskExecutor;
@@ -285,6 +309,7 @@ mod tests {
 	#[derive(Clone)]
 	struct TestClient {
 		blocks: BTreeMap<Hash, BlockNumber>,
+		block_weights: BTreeMap<Hash, BlockWeight>,
 		finalized_blocks: BTreeMap<BlockNumber, Hash>,
 		headers: BTreeMap<Hash, Header>,
 	}
@@ -314,6 +339,12 @@ mod tests {
 					THREE => 3,
 					FOUR => 4,
 				},
+				block_weights: maplit::btreemap! {
+					ONE => 0,
+					TWO => 1,
+					THREE => 1,
+					FOUR => 2,
+				},
 				finalized_blocks: maplit::btreemap! {
 					1 => ONE,
 					3 => THREE,
@@ -337,7 +368,7 @@ mod tests {
 					ERROR_PATH => Header {
 						..default_header()
 					}
-				}
+				},
 			}
 		}
 	}
@@ -402,6 +433,30 @@ mod tests {
 		futures::executor::block_on(future::join(chain_api_task, test_task));
 	}
 
+	impl AuxStore for TestClient {
+		fn insert_aux<
+			'a,
+			'b: 'a,
+			'c: 'a,
+			I: IntoIterator<Item = &'a (&'c [u8], &'c [u8])>,
+			D: IntoIterator<Item = &'a &'b [u8]>,
+		>(
+			&self,
+			_insert: I,
+			_delete: D,
+		) -> sp_blockchain::Result<()> {
+			unimplemented!()
+		}
+
+		fn get_aux(&self, key: &[u8]) -> sp_blockchain::Result<Option<Vec<u8>>> {
+			Ok(self
+				.block_weights
+				.iter()
+				.find(|(hash, _)| sc_consensus_babe::aux_schema::block_weight_key(hash) == key)
+				.map(|(_, weight)| weight.encode()))
+		}
+	}
+
 	#[test]
 	fn request_block_number() {
 		test_harness(|client, mut sender| {
@@ -450,6 +505,31 @@ mod tests {
 		})
 	}
 
+	#[test]
+	fn request_block_weight() {
+		test_harness(|client, mut sender| {
+			async move {
+				const NOT_HERE: Hash = Hash::repeat_byte(0x5);
+				let test_cases = [
+					(TWO, sc_consensus_babe::block_weight(&*client, TWO).unwrap()),
+					(FOUR, sc_consensus_babe::block_weight(&*client, FOUR).unwrap()),
+					(NOT_HERE, sc_consensus_babe::block_weight(&*client, NOT_HERE).unwrap()),
+				];
+				for (hash, expected) in &test_cases {
+					let (tx, rx) = oneshot::channel();
+
+					sender.send(FromOverseer::Communication {
+						msg: ChainApiMessage::BlockWeight(*hash, tx),
+					}).await;
+
+					assert_eq!(rx.await.unwrap().unwrap(), *expected);
+				}
+
+				sender.send(FromOverseer::Signal(OverseerSignal::Conclude)).await;
+			}.boxed()
+		})
+	}
+
 	#[test]
 	fn request_finalized_hash() {
 		test_harness(|client, mut sender| {
diff --git a/polkadot/node/primitives/src/lib.rs b/polkadot/node/primitives/src/lib.rs
index dddec2cfbe1c8ddff3687daba7cb71fe050f9bd9..3199d1523440dc3f05b0e1ff4c115a5609a4d3ac 100644
--- a/polkadot/node/primitives/src/lib.rs
+++ b/polkadot/node/primitives/src/lib.rs
@@ -57,6 +57,9 @@ pub const MAX_POV_SIZE: u32 = 20 * 1024 * 1024;
 /// The bomb limit for decompressing PoV blobs.
 pub const POV_BOMB_LIMIT: usize = MAX_POV_SIZE as usize;
 
+/// The cumulative weight of a block in a fork-choice rule.
+pub type BlockWeight = u32;
+
 /// A statement, where the candidate receipt is included in the `Seconded` variant.
 ///
 /// This is the committed candidate receipt instead of the bare candidate receipt. As such,
diff --git a/polkadot/node/subsystem/src/messages.rs b/polkadot/node/subsystem/src/messages.rs
index 67bab4220a6ce6b8f125c5adf1c467ba4299cc4f..f7a6c884990a5ae115d3f247046f9f371b2e4b9d 100644
--- a/polkadot/node/subsystem/src/messages.rs
+++ b/polkadot/node/subsystem/src/messages.rs
@@ -37,7 +37,7 @@ use polkadot_node_network_protocol::{
 use polkadot_node_primitives::{
 	approval::{BlockApprovalMeta, IndirectAssignmentCert, IndirectSignedApprovalVote},
 	AvailableData, BabeEpoch, CandidateVotes, CollationGenerationConfig, ErasureChunk, PoV,
-	SignedDisputeStatement, SignedFullStatement, ValidationResult,
+	SignedDisputeStatement, SignedFullStatement, ValidationResult, BlockWeight,
 };
 use polkadot_primitives::v1::{
 	AuthorityDiscoveryId, BackedCandidate, BlockNumber, CandidateDescriptor, CandidateEvent,
@@ -470,6 +470,14 @@ pub enum ChainApiMessage {
 	/// Request the block header by hash.
 	/// Returns `None` if a block with the given hash is not present in the db.
 	BlockHeader(Hash, ChainApiResponseChannel<Option<BlockHeader>>),
+	/// Get the cumulative weight of the given block, by hash.
+	/// If the block or weight is unknown, this returns `None`.
+	///
+	/// Note: this the weight within the low-level fork-choice rule,
+	/// not the high-level one implemented in the chain-selection subsystem.
+	///
+	/// Weight is used for comparing blocks in a fork-choice rule.
+	BlockWeight(Hash, ChainApiResponseChannel<Option<BlockWeight>>),
 	/// Request the finalized block hash by number.
 	/// Returns `None` if a block with the given number is not present in the db.
 	/// Note: the caller must ensure the block is finalized.
diff --git a/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md b/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md
index 7695b73a05e3db44f95ca622642a19e0da9756cf..e9ef9b5695bc386ca9f0bc493b151fd6f0dff892 100644
--- a/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md
+++ b/polkadot/roadmap/implementers-guide/src/node/utility/chain-api.md
@@ -15,6 +15,7 @@ On receipt of `ChainApiMessage`, answer the request and provide the response to
 Currently, the following requests are supported:
 * Block hash to number
 * Block hash to header
+* Block weight
 * Finalized block number to hash
 * Last finalized block number
 * Ancestors
diff --git a/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md b/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md
index c64cb14efb44fbd2c98c750807fb90af10227206..3eeaf998f4fb67ae728211faaf4e1c3fc814e2c9 100644
--- a/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md
+++ b/polkadot/roadmap/implementers-guide/src/node/utility/chain-selection.md
@@ -2,7 +2,7 @@
 
 This subsystem implements the necessary metadata for the implementation of the [chain selection](../../protocol-chain-selection.md) portion of the protocol.
 
-The subsystem wraps a database component which maintains a view of the unfinalized chain and records the properties of each block: whether the block is **viable**, whether it is **stagnant**, and whether it is **reverted**. It should also maintain an updated set of active leaves in accordance with this view, which should be cheap to query.
+The subsystem wraps a database component which maintains a view of the unfinalized chain and records the properties of each block: whether the block is **viable**, whether it is **stagnant**, and whether it is **reverted**. It should also maintain an updated set of active leaves in accordance with this view, which should be cheap to query. Leaves are ordered descending first by weight and then by block number.
 
 This subsystem needs to update its information on the unfinalized chain:
   * On every leaf-activated signal
@@ -14,7 +14,7 @@ Simple implementations of these updates do O(n_unfinalized_blocks) disk operatio
 
 ### `OverseerSignal::ActiveLeavesUpdate`
 
-Determine all new blocks implicitly referenced by any new active leaves and add them to the view. Update the set of viable leaves accordingly
+Determine all new blocks implicitly referenced by any new active leaves and add them to the view. Update the set of viable leaves accordingly. The weights of imported blocks can be determined by the [`ChainApiMessage::BlockWeight`](../../types/overseer-protocol.md#chain-api-message).
 
 ### `OverseerSignal::BlockFinalized`
 
diff --git a/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md b/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md
index 4cb2160f55f8132c3538739d04bcdf03fafcddc4..77e8bd862653caaed0f74219d5df5b43eaefc11a 100644
--- a/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md
+++ b/polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md
@@ -323,6 +323,11 @@ enum ChainApiMessage {
     /// Request the block header by hash.
     /// Returns `None` if a block with the given hash is not present in the db.
     BlockHeader(Hash, ResponseChannel<Result<Option<BlockHeader>, Error>>),
+    /// Get the cumulative weight of the given block, by hash.
+    /// If the block or weight is unknown, this returns `None`.
+    /// 
+    /// Weight is used for comparing blocks in a fork-choice rule.
+    BlockWeight(Hash, ResponseChannel<Result<Option<Weight>, Error>>),
     /// Get the finalized block hash by number.
     /// Returns `None` if a block with the given number is not present in the db.
     /// Note: the caller must ensure the block is finalized.