From d53ec86bbe9130aa9022a84530d91e95a1172d5c Mon Sep 17 00:00:00 2001
From: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Date: Fri, 9 Jul 2021 22:25:13 +0200
Subject: [PATCH] Companion for `substrate/pull/9286` (#3443)

* Fix weights

* try something to unbreak companion

* update Substrate

Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: parity-processbot <>
---
 polkadot/Cargo.lock                           | 306 +++++++++---------
 .../node/overseer/overseer-gen/Cargo.toml     |   2 +-
 .../node/overseer/overseer-gen/src/lib.rs     |   2 +-
 polkadot/runtime/common/src/elections.rs      |  13 +
 polkadot/runtime/kusama/src/lib.rs            |   2 +-
 .../pallet_election_provider_multi_phase.rs   |   2 +-
 polkadot/runtime/polkadot/src/lib.rs          |   2 +-
 .../pallet_election_provider_multi_phase.rs   |   2 +-
 polkadot/runtime/westend/src/lib.rs           |   2 +-
 .../pallet_election_provider_multi_phase.rs   |   2 +-
 10 files changed, 174 insertions(+), 161 deletions(-)

diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 602d122c05d..63905fad773 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -1970,7 +1970,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1988,7 +1988,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "3.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2007,7 +2007,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "Inflector",
  "chrono",
@@ -2031,7 +2031,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-support"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2044,7 +2044,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2059,7 +2059,7 @@ dependencies = [
 [[package]]
 name = "frame-metadata"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -2070,7 +2070,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2096,7 +2096,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -2108,7 +2108,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 1.0.0",
@@ -2120,7 +2120,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2130,7 +2130,7 @@ dependencies = [
 [[package]]
 name = "frame-support-test"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-metadata",
  "frame-support",
@@ -2150,7 +2150,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -2167,7 +2167,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2181,7 +2181,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -2190,7 +2190,7 @@ dependencies = [
 [[package]]
 name = "frame-try-runtime"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -4611,7 +4611,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b"
 [[package]]
 name = "pallet-authority-discovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4626,7 +4626,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4640,7 +4640,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4663,7 +4663,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4692,7 +4692,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4770,7 +4770,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4786,7 +4786,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4801,7 +4801,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4822,7 +4822,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4839,7 +4839,7 @@ dependencies = [
 [[package]]
 name = "pallet-gilt"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4853,7 +4853,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "3.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4875,7 +4875,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4890,7 +4890,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4909,7 +4909,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4925,7 +4925,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4940,7 +4940,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "ckb-merkle-mountain-range",
  "frame-benchmarking",
@@ -4957,7 +4957,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-primitives"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4973,7 +4973,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -4991,7 +4991,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5006,7 +5006,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5019,7 +5019,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5035,7 +5035,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5057,7 +5057,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5072,7 +5072,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -5086,7 +5086,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5101,7 +5101,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5121,7 +5121,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5137,7 +5137,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5150,7 +5150,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5174,7 +5174,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -5185,7 +5185,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -5194,7 +5194,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5207,7 +5207,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5225,7 +5225,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5240,7 +5240,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5256,7 +5256,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -5273,7 +5273,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -5284,7 +5284,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5300,7 +5300,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5315,7 +5315,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -6561,8 +6561,8 @@ dependencies = [
  "metered-channel",
  "pin-project 1.0.7",
  "polkadot-node-network-protocol",
+ "polkadot-node-primitives",
  "polkadot-overseer-gen-proc-macro",
- "sp-core",
  "thiserror",
  "tracing",
  "trybuild",
@@ -7718,7 +7718,7 @@ dependencies = [
 [[package]]
 name = "remote-externalities"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "env_logger 0.8.4",
  "hex",
@@ -8016,7 +8016,7 @@ dependencies = [
 [[package]]
 name = "sc-allocator"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "log",
  "sp-core",
@@ -8027,7 +8027,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8056,7 +8056,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "futures-timer 3.0.2",
@@ -8079,7 +8079,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -8095,7 +8095,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -8115,7 +8115,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -8126,7 +8126,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "chrono",
  "fdlimit",
@@ -8164,7 +8164,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "fnv",
@@ -8198,7 +8198,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -8228,7 +8228,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "parking_lot 0.11.1",
@@ -8241,7 +8241,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8287,7 +8287,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8311,7 +8311,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -8324,7 +8324,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "futures 0.3.15",
@@ -8352,7 +8352,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "sc-client-api",
  "sp-authorship",
@@ -8363,7 +8363,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "lazy_static",
@@ -8392,7 +8392,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "parity-scale-codec",
@@ -8409,7 +8409,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -8424,7 +8424,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -8444,7 +8444,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8485,7 +8485,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "finality-grandpa",
@@ -8509,7 +8509,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-warp-sync"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8530,7 +8530,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.15",
@@ -8548,7 +8548,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8568,7 +8568,7 @@ dependencies = [
 [[package]]
 name = "sc-light"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "hash-db",
  "lazy_static",
@@ -8587,7 +8587,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-std",
  "async-trait",
@@ -8640,7 +8640,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "futures-timer 3.0.2",
@@ -8657,7 +8657,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
@@ -8685,7 +8685,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "libp2p",
@@ -8698,7 +8698,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -8707,7 +8707,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "hash-db",
@@ -8742,7 +8742,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8767,7 +8767,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.1.29",
  "jsonrpc-core",
@@ -8785,7 +8785,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "directories",
@@ -8852,7 +8852,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -8867,7 +8867,7 @@ dependencies = [
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -8887,7 +8887,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "chrono",
  "futures 0.3.15",
@@ -8907,7 +8907,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -8944,7 +8944,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -8955,7 +8955,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -8984,7 +8984,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "derive_more",
  "futures 0.3.15",
@@ -9427,7 +9427,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "hash-db",
  "log",
@@ -9444,7 +9444,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate 1.0.0",
@@ -9456,7 +9456,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -9468,7 +9468,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -9482,7 +9482,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9494,7 +9494,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -9506,7 +9506,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9518,7 +9518,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "log",
@@ -9536,7 +9536,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "futures 0.3.15",
@@ -9563,7 +9563,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "merlin",
@@ -9585,7 +9585,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sp-arithmetic",
@@ -9595,7 +9595,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -9607,7 +9607,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -9651,7 +9651,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "kvdb",
  "parking_lot 0.11.1",
@@ -9660,7 +9660,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -9670,7 +9670,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -9681,7 +9681,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -9698,7 +9698,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -9712,7 +9712,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "hash-db",
@@ -9737,7 +9737,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -9748,7 +9748,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -9765,7 +9765,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "ruzstd",
  "zstd",
@@ -9774,7 +9774,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -9787,7 +9787,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections-compact"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -9798,7 +9798,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -9808,7 +9808,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "backtrace",
 ]
@@ -9816,7 +9816,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -9827,7 +9827,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -9848,7 +9848,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -9865,7 +9865,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.0.0",
@@ -9877,7 +9877,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "serde",
  "serde_json",
@@ -9886,7 +9886,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9899,7 +9899,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -9909,7 +9909,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "hash-db",
  "log",
@@ -9932,12 +9932,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 
 [[package]]
 name = "sp-storage"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -9950,7 +9950,7 @@ dependencies = [
 [[package]]
 name = "sp-tasks"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "log",
  "sp-core",
@@ -9963,7 +9963,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "futures-timer 3.0.2",
@@ -9980,7 +9980,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "erased-serde",
  "log",
@@ -9998,7 +9998,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -10007,7 +10007,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "log",
@@ -10022,7 +10022,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -10036,7 +10036,7 @@ dependencies = [
 [[package]]
 name = "sp-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "futures-core",
@@ -10048,7 +10048,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -10063,7 +10063,7 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "parity-scale-codec",
  "proc-macro-crate 1.0.0",
@@ -10075,7 +10075,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -10262,7 +10262,7 @@ dependencies = [
 [[package]]
 name = "substrate-browser-utils"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "chrono",
  "console_error_panic_hook",
@@ -10288,7 +10288,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "platforms",
 ]
@@ -10296,7 +10296,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.15",
@@ -10319,7 +10319,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-std",
  "derive_more",
@@ -10333,7 +10333,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "async-trait",
  "futures 0.1.29",
@@ -10362,7 +10362,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "futures 0.3.15",
  "substrate-test-utils-derive",
@@ -10372,7 +10372,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "quote",
@@ -10382,7 +10382,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -11127,7 +11127,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
 [[package]]
 name = "try-runtime-cli"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#d3db3c1d1011983ba7565e342910a6d2095625c8"
+source = "git+https://github.com/paritytech/substrate?branch=master#deac6324a16fc4128b94a7b4c3826eebcb86917f"
 dependencies = [
  "frame-try-runtime",
  "log",
diff --git a/polkadot/node/overseer/overseer-gen/Cargo.toml b/polkadot/node/overseer/overseer-gen/Cargo.toml
index bb7f4836c6f..4cd12b74858 100644
--- a/polkadot/node/overseer/overseer-gen/Cargo.toml
+++ b/polkadot/node/overseer/overseer-gen/Cargo.toml
@@ -14,7 +14,7 @@ metered = { package = "metered-channel", path = "../../metered-channel" }
 polkadot-overseer-gen-proc-macro = { path = "./proc-macro" }
 polkadot-node-network-protocol = { path = "../../network/protocol"}
 # trait SpawnNamed
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
+polkadot-node-primitives = { path = "../../primitives" }
 futures-timer = "3.0.2"
 pin-project = "1.0"
 
diff --git a/polkadot/node/overseer/overseer-gen/src/lib.rs b/polkadot/node/overseer/overseer-gen/src/lib.rs
index 4b6abdb2b20..a112820ca92 100644
--- a/polkadot/node/overseer/overseer-gen/src/lib.rs
+++ b/polkadot/node/overseer/overseer-gen/src/lib.rs
@@ -67,7 +67,7 @@ pub use tracing;
 #[doc(hidden)]
 pub use metered;
 #[doc(hidden)]
-pub use sp_core::traits::SpawnNamed;
+pub use polkadot_node_primitives::SpawnNamed;
 
 #[doc(hidden)]
 pub use futures::{
diff --git a/polkadot/runtime/common/src/elections.rs b/polkadot/runtime/common/src/elections.rs
index b2109b598eb..8603ad47e13 100644
--- a/polkadot/runtime/common/src/elections.rs
+++ b/polkadot/runtime/common/src/elections.rs
@@ -66,3 +66,16 @@ where
 		Zero::zero(),
 	))
 }
+
+/// The numbers configured here should always be more than the the maximum limits of staking pallet
+/// to ensure election snapshot will not run out of memory.
+pub struct BenchmarkConfig;
+impl pallet_election_provider_multi_phase::BenchmarkingConfig for BenchmarkConfig {
+	const VOTERS: [u32; 2] = [5_000, 10_000];
+	const TARGETS: [u32; 2] = [1_000, 2_000];
+	const ACTIVE_VOTERS: [u32; 2] = [1000, 4_000];
+	const DESIRED_TARGETS: [u32; 2] = [400, 800];
+	const SNAPSHOT_MAXIMUM_VOTERS: u32 = 25_000;
+	const MINER_MAXIMUM_VOTERS: u32 = 15_000;
+	const MAXIMUM_TARGETS: u32 = 2000;
+}
diff --git a/polkadot/runtime/kusama/src/lib.rs b/polkadot/runtime/kusama/src/lib.rs
index 29518561916..8b14506dfe3 100644
--- a/polkadot/runtime/kusama/src/lib.rs
+++ b/polkadot/runtime/kusama/src/lib.rs
@@ -411,7 +411,7 @@ impl pallet_election_provider_multi_phase::Config for Runtime {
 	type CompactSolution = NposCompactSolution24;
 	type OnChainAccuracy = Perbill;
 	type Fallback = Fallback;
-	type BenchmarkingConfig = ();
+	type BenchmarkingConfig = runtime_common::elections::BenchmarkConfig;
 	type ForceOrigin = EnsureOneOf<
 		AccountId,
 		EnsureRoot<AccountId>,
diff --git a/polkadot/runtime/kusama/src/weights/pallet_election_provider_multi_phase.rs b/polkadot/runtime/kusama/src/weights/pallet_election_provider_multi_phase.rs
index 21c92529521..6cf5682e96f 100644
--- a/polkadot/runtime/kusama/src/weights/pallet_election_provider_multi_phase.rs
+++ b/polkadot/runtime/kusama/src/weights/pallet_election_provider_multi_phase.rs
@@ -62,7 +62,7 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn elect_queued() -> Weight {
+	fn elect_queued(_v: u32, _t: u32, _a: u32, _d: u32, ) -> Weight {
 		(8_641_847_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
diff --git a/polkadot/runtime/polkadot/src/lib.rs b/polkadot/runtime/polkadot/src/lib.rs
index 758df880058..3b297f86d85 100644
--- a/polkadot/runtime/polkadot/src/lib.rs
+++ b/polkadot/runtime/polkadot/src/lib.rs
@@ -391,7 +391,7 @@ impl pallet_election_provider_multi_phase::Config for Runtime {
 	type OnChainAccuracy = Perbill;
 	type CompactSolution = NposCompactSolution16;
 	type Fallback = Fallback;
-	type BenchmarkingConfig = ();
+	type BenchmarkingConfig = runtime_common::elections::BenchmarkConfig;
 	type ForceOrigin = EnsureOneOf<
 		AccountId,
 		EnsureRoot<AccountId>,
diff --git a/polkadot/runtime/polkadot/src/weights/pallet_election_provider_multi_phase.rs b/polkadot/runtime/polkadot/src/weights/pallet_election_provider_multi_phase.rs
index 235250c5873..7671336e4eb 100644
--- a/polkadot/runtime/polkadot/src/weights/pallet_election_provider_multi_phase.rs
+++ b/polkadot/runtime/polkadot/src/weights/pallet_election_provider_multi_phase.rs
@@ -62,7 +62,7 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn elect_queued() -> Weight {
+	fn elect_queued(_v: u32, _t: u32, _a: u32, _d: u32, ) -> Weight {
 		(5_408_539_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs
index bad767fd95a..fa827f17432 100644
--- a/polkadot/runtime/westend/src/lib.rs
+++ b/polkadot/runtime/westend/src/lib.rs
@@ -397,7 +397,7 @@ impl pallet_election_provider_multi_phase::Config for Runtime {
 	type OnChainAccuracy = Perbill;
 	type CompactSolution = NposCompactSolution16;
 	type Fallback = Fallback;
-	type BenchmarkingConfig = ();
+	type BenchmarkingConfig = runtime_common::elections::BenchmarkConfig;
 	type ForceOrigin = EnsureRoot<AccountId>;
 	type WeightInfo = weights::pallet_election_provider_multi_phase::WeightInfo<Runtime>;
 }
diff --git a/polkadot/runtime/westend/src/weights/pallet_election_provider_multi_phase.rs b/polkadot/runtime/westend/src/weights/pallet_election_provider_multi_phase.rs
index 7b0bb3ec732..31c54f974be 100644
--- a/polkadot/runtime/westend/src/weights/pallet_election_provider_multi_phase.rs
+++ b/polkadot/runtime/westend/src/weights/pallet_election_provider_multi_phase.rs
@@ -62,7 +62,7 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	fn elect_queued() -> Weight {
+	fn elect_queued(_v: u32, _t: u32, _a: u32, _d: u32, ) -> Weight {
 		(5_511_380_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(6 as Weight))
-- 
GitLab