From 96bce58a912d15993fd30250e38cc28222ae55a4 Mon Sep 17 00:00:00 2001
From: Ankan <10196091+Ank4n@users.noreply.github.com>
Date: Mon, 26 Dec 2022 17:53:22 +0100
Subject: [PATCH] [Companion] Allow StakingAdmin to set min_commission (#6444)

* rename staking origin

* fix comments

* rename origin

* give fake weight before re-benchmarking

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_staking

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_staking

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_staking

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>
---
 polkadot/Cargo.lock                           | 362 +++++++++---------
 polkadot/runtime/kusama/src/lib.rs            |   3 +-
 .../kusama/src/weights/pallet_staking.rs      | 333 ++++++++--------
 polkadot/runtime/polkadot/src/lib.rs          |   5 +-
 .../polkadot/src/weights/pallet_staking.rs    | 331 ++++++++--------
 polkadot/runtime/test-runtime/src/lib.rs      |   3 +-
 polkadot/runtime/westend/src/lib.rs           |   3 +-
 .../westend/src/weights/pallet_staking.rs     | 331 ++++++++--------
 8 files changed, 706 insertions(+), 665 deletions(-)

diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 0ead7e69af1..ad6c38efbdf 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -410,7 +410,7 @@ dependencies = [
 [[package]]
 name = "beefy-gadget"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "async-trait",
@@ -444,7 +444,7 @@ dependencies = [
 [[package]]
 name = "beefy-gadget-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "beefy-gadget",
  "futures",
@@ -463,7 +463,7 @@ dependencies = [
 [[package]]
 name = "beefy-merkle-tree"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "sp-api",
  "sp-beefy",
@@ -1986,7 +1986,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -2010,7 +2010,7 @@ checksum = "85dcb89d2b10c5f6133de2efd8c11959ce9dbb46a2f7a4cab208c4eeda6ce1ab"
 [[package]]
 name = "frame-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2033,7 +2033,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "Inflector",
  "array-bytes",
@@ -2080,7 +2080,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-solution-type"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -2091,7 +2091,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-election-provider-solution-type",
  "frame-support",
@@ -2108,7 +2108,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2137,7 +2137,7 @@ dependencies = [
 [[package]]
 name = "frame-remote-externalities"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "log",
@@ -2153,7 +2153,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2185,7 +2185,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "Inflector",
  "cfg-expr",
@@ -2199,7 +2199,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -2211,7 +2211,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2221,7 +2221,7 @@ dependencies = [
 [[package]]
 name = "frame-support-test"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-support-test-pallet",
@@ -2244,7 +2244,7 @@ dependencies = [
 [[package]]
 name = "frame-support-test-pallet"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2255,7 +2255,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "log",
@@ -2273,7 +2273,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2288,7 +2288,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -2297,7 +2297,7 @@ dependencies = [
 [[package]]
 name = "frame-try-runtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -2468,7 +2468,7 @@ dependencies = [
 [[package]]
 name = "generate-bags"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "chrono",
  "frame-election-provider-support",
@@ -4057,7 +4057,7 @@ dependencies = [
 [[package]]
 name = "mmr-gadget"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "log",
@@ -4076,7 +4076,7 @@ dependencies = [
 [[package]]
 name = "mmr-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "anyhow",
  "jsonrpsee",
@@ -4581,7 +4581,7 @@ checksum = "20448fd678ec04e6ea15bbe0476874af65e98a01515d667aa49f1434dc44ebf4"
 [[package]]
 name = "pallet-assets"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4596,7 +4596,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4612,7 +4612,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4627,7 +4627,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4651,7 +4651,7 @@ dependencies = [
 [[package]]
 name = "pallet-bags-list"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4671,7 +4671,7 @@ dependencies = [
 [[package]]
 name = "pallet-bags-list-remote-tests"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-election-provider-support",
  "frame-remote-externalities",
@@ -4690,7 +4690,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4705,7 +4705,7 @@ dependencies = [
 [[package]]
 name = "pallet-beefy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4721,7 +4721,7 @@ dependencies = [
 [[package]]
 name = "pallet-beefy-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "beefy-merkle-tree",
@@ -4744,7 +4744,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4762,7 +4762,7 @@ dependencies = [
 [[package]]
 name = "pallet-child-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4781,7 +4781,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4798,7 +4798,7 @@ dependencies = [
 [[package]]
 name = "pallet-conviction-voting"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "assert_matches",
  "frame-benchmarking",
@@ -4815,7 +4815,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4833,7 +4833,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4856,7 +4856,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-support-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4869,7 +4869,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4887,7 +4887,7 @@ dependencies = [
 [[package]]
 name = "pallet-fast-unstake"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4905,7 +4905,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4928,7 +4928,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4944,7 +4944,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4964,7 +4964,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4981,7 +4981,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4998,7 +4998,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5015,7 +5015,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5031,7 +5031,7 @@ dependencies = [
 [[package]]
 name = "pallet-nis"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5047,7 +5047,7 @@ dependencies = [
 [[package]]
 name = "pallet-nomination-pools"
 version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5064,7 +5064,7 @@ dependencies = [
 [[package]]
 name = "pallet-nomination-pools-benchmarking"
 version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5084,7 +5084,7 @@ dependencies = [
 [[package]]
 name = "pallet-nomination-pools-runtime-api"
 version = "1.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -5094,7 +5094,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5111,7 +5111,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5134,7 +5134,7 @@ dependencies = [
 [[package]]
 name = "pallet-preimage"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5151,7 +5151,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5166,7 +5166,7 @@ dependencies = [
 [[package]]
 name = "pallet-ranked-collective"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5184,7 +5184,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5199,7 +5199,7 @@ dependencies = [
 [[package]]
 name = "pallet-referenda"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "assert_matches",
  "frame-benchmarking",
@@ -5218,7 +5218,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5235,7 +5235,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5256,7 +5256,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5272,7 +5272,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5286,7 +5286,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5309,7 +5309,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -5320,7 +5320,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -5329,7 +5329,7 @@ dependencies = [
 [[package]]
 name = "pallet-state-trie-migration"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5346,7 +5346,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5360,7 +5360,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5378,7 +5378,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5397,7 +5397,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5413,7 +5413,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "jsonrpsee",
  "pallet-transaction-payment-rpc-runtime-api",
@@ -5429,7 +5429,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -5441,7 +5441,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5458,7 +5458,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5474,7 +5474,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5489,7 +5489,7 @@ dependencies = [
 [[package]]
 name = "pallet-whitelist"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8251,7 +8251,7 @@ dependencies = [
 [[package]]
 name = "sc-allocator"
 version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "log",
  "sp-core",
@@ -8262,7 +8262,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -8289,7 +8289,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "futures-timer",
@@ -8312,7 +8312,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -8328,7 +8328,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "memmap2",
  "sc-chain-spec-derive",
@@ -8343,7 +8343,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -8354,7 +8354,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "chrono",
@@ -8394,7 +8394,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "fnv",
  "futures",
@@ -8420,7 +8420,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "hash-db",
  "kvdb",
@@ -8445,7 +8445,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -8470,7 +8470,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "fork-tree",
@@ -8508,7 +8508,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "jsonrpsee",
@@ -8530,7 +8530,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -8543,7 +8543,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -8566,7 +8566,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "lru",
  "parity-scale-codec",
@@ -8590,7 +8590,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "sc-allocator",
  "sp-maybe-compressed-blob",
@@ -8603,7 +8603,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "log",
  "sc-allocator",
@@ -8616,7 +8616,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -8633,7 +8633,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ahash",
  "array-bytes",
@@ -8673,7 +8673,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "finality-grandpa",
  "futures",
@@ -8693,7 +8693,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ansi_term",
  "futures",
@@ -8708,7 +8708,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "async-trait",
@@ -8723,7 +8723,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "async-trait",
@@ -8764,7 +8764,7 @@ dependencies = [
 [[package]]
 name = "sc-network-bitswap"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "cid",
  "futures",
@@ -8783,7 +8783,7 @@ dependencies = [
 [[package]]
 name = "sc-network-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "bitflags",
@@ -8809,7 +8809,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ahash",
  "futures",
@@ -8827,7 +8827,7 @@ dependencies = [
 [[package]]
 name = "sc-network-light"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "futures",
@@ -8848,7 +8848,7 @@ dependencies = [
 [[package]]
 name = "sc-network-sync"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "async-trait",
@@ -8880,7 +8880,7 @@ dependencies = [
 [[package]]
 name = "sc-network-transactions"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "futures",
@@ -8890,6 +8890,7 @@ dependencies = [
  "pin-project",
  "sc-network-common",
  "sc-peerset",
+ "sc-utils",
  "sp-consensus",
  "sp-runtime",
  "substrate-prometheus-endpoint",
@@ -8898,7 +8899,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "bytes",
@@ -8928,7 +8929,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "libp2p",
@@ -8941,7 +8942,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -8950,7 +8951,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "jsonrpsee",
@@ -8979,7 +8980,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "jsonrpsee",
  "parity-scale-codec",
@@ -8998,7 +8999,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "http",
  "jsonrpsee",
@@ -9013,7 +9014,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-spec-v2"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "futures",
@@ -9039,7 +9040,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "directories",
@@ -9104,7 +9105,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -9115,7 +9116,7 @@ dependencies = [
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "jsonrpsee",
  "parity-scale-codec",
@@ -9134,7 +9135,7 @@ dependencies = [
 [[package]]
 name = "sc-sysinfo"
 version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "libc",
@@ -9153,7 +9154,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "chrono",
  "futures",
@@ -9162,6 +9163,7 @@ dependencies = [
  "parking_lot 0.12.1",
  "pin-project",
  "rand 0.8.5",
+ "sc-utils",
  "serde",
  "serde_json",
  "thiserror",
@@ -9171,7 +9173,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ansi_term",
  "atty",
@@ -9202,7 +9204,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -9213,7 +9215,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -9239,7 +9241,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -9253,7 +9255,7 @@ dependencies = [
 [[package]]
 name = "sc-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "futures-timer",
@@ -9726,7 +9728,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "hash-db",
  "log",
@@ -9744,7 +9746,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "blake2",
  "proc-macro-crate",
@@ -9756,7 +9758,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9769,7 +9771,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -9783,7 +9785,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9796,7 +9798,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -9808,7 +9810,7 @@ dependencies = [
 [[package]]
 name = "sp-beefy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9825,7 +9827,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9837,7 +9839,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "log",
@@ -9855,7 +9857,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -9873,7 +9875,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "merlin",
@@ -9896,7 +9898,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9908,7 +9910,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9921,7 +9923,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "base58",
@@ -9963,7 +9965,7 @@ dependencies = [
 [[package]]
 name = "sp-core-hashing"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "blake2",
  "byteorder",
@@ -9977,7 +9979,7 @@ dependencies = [
 [[package]]
 name = "sp-core-hashing-proc-macro"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -9988,7 +9990,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "kvdb",
  "parking_lot 0.12.1",
@@ -9997,7 +9999,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -10007,7 +10009,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -10018,7 +10020,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -10036,7 +10038,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -10050,7 +10052,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "bytes",
  "ed25519",
@@ -10075,7 +10077,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -10086,7 +10088,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures",
@@ -10103,7 +10105,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "thiserror",
  "zstd",
@@ -10112,7 +10114,7 @@ dependencies = [
 [[package]]
 name = "sp-mmr-primitives"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ckb-merkle-mountain-range",
  "log",
@@ -10130,7 +10132,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -10144,7 +10146,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -10154,7 +10156,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -10164,7 +10166,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -10174,7 +10176,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -10196,7 +10198,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "bytes",
  "impl-trait-for-tuples",
@@ -10214,7 +10216,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -10226,7 +10228,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -10240,7 +10242,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -10252,7 +10254,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "hash-db",
  "log",
@@ -10272,12 +10274,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 
 [[package]]
 name = "sp-storage"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -10290,7 +10292,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "futures-timer",
@@ -10305,7 +10307,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "sp-std",
@@ -10317,7 +10319,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -10326,7 +10328,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "log",
@@ -10342,7 +10344,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ahash",
  "hash-db",
@@ -10365,7 +10367,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -10382,7 +10384,7 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "proc-macro2",
@@ -10393,7 +10395,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "impl-trait-for-tuples",
  "log",
@@ -10406,7 +10408,7 @@ dependencies = [
 [[package]]
 name = "sp-weights"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -10620,7 +10622,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "platforms",
 ]
@@ -10628,7 +10630,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures",
@@ -10647,7 +10649,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "hyper",
  "log",
@@ -10659,7 +10661,7 @@ dependencies = [
 [[package]]
 name = "substrate-rpc-client"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "async-trait",
  "jsonrpsee",
@@ -10672,7 +10674,7 @@ dependencies = [
 [[package]]
 name = "substrate-state-trie-migration-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "jsonrpsee",
  "log",
@@ -10691,7 +10693,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "array-bytes",
  "async-trait",
@@ -10717,7 +10719,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "futures",
  "substrate-test-utils-derive",
@@ -10727,7 +10729,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -10738,7 +10740,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "ansi_term",
  "build-helper",
@@ -11486,7 +11488,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
 [[package]]
 name = "try-runtime-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#ce025f3a989d165225c0f2f7ab497cf53319dd6d"
+source = "git+https://github.com/paritytech/substrate?branch=master#c16472e7e4a588d8e202c1ab3e865cf6e7b201c5"
 dependencies = [
  "clap",
  "frame-remote-externalities",
diff --git a/polkadot/runtime/kusama/src/lib.rs b/polkadot/runtime/kusama/src/lib.rs
index 125ce049b19..d0e92134fb6 100644
--- a/polkadot/runtime/kusama/src/lib.rs
+++ b/polkadot/runtime/kusama/src/lib.rs
@@ -584,8 +584,7 @@ impl pallet_staking::Config for Runtime {
 	type SessionsPerEra = SessionsPerEra;
 	type BondingDuration = BondingDuration;
 	type SlashDeferDuration = SlashDeferDuration;
-	// The staking admin or root can cancel the slash.
-	type SlashCancelOrigin = EitherOf<EnsureRoot<Self::AccountId>, StakingAdmin>;
+	type AdminOrigin = EitherOf<EnsureRoot<Self::AccountId>, StakingAdmin>;
 	type SessionInterface = Self;
 	type EraPayout = EraPayout;
 	type NextNewSession = Session;
diff --git a/polkadot/runtime/kusama/src/weights/pallet_staking.rs b/polkadot/runtime/kusama/src/weights/pallet_staking.rs
index c5fa8545f19..cdaa6e100ff 100644
--- a/polkadot/runtime/kusama/src/weights/pallet_staking.rs
+++ b/polkadot/runtime/kusama/src/weights/pallet_staking.rs
@@ -16,21 +16,23 @@
 //! Autogenerated weights for `pallet_staking`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-11-16, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! DATE: 2022-12-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// /home/benchbot/cargo_target_dir/production/polkadot
 // benchmark
 // pallet
-// --chain=kusama-dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_staking
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=pallet_staking
+// --chain=kusama-dev
 // --header=./file_header.txt
 // --output=./runtime/kusama/src/weights/
 
@@ -50,10 +52,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: Staking Payee (r:0 w:1)
 	fn bond() -> Weight {
-		// Minimum execution time: 46_644 nanoseconds.
-		Weight::from_ref_time(47_601_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(4 as u64))
-			.saturating_add(T::DbWeight::get().writes(4 as u64))
+		// Minimum execution time: 46_498 nanoseconds.
+		Weight::from_ref_time(47_017_000)
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	// Storage: Staking Bonded (r:1 w:0)
 	// Storage: Staking Ledger (r:1 w:1)
@@ -61,10 +63,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListNodes (r:3 w:3)
 	// Storage: VoterList ListBags (r:2 w:2)
 	fn bond_extra() -> Weight {
-		// Minimum execution time: 83_700 nanoseconds.
-		Weight::from_ref_time(84_180_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(8 as u64))
-			.saturating_add(T::DbWeight::get().writes(7 as u64))
+		// Minimum execution time: 83_337 nanoseconds.
+		Weight::from_ref_time(84_125_000)
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(7))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking Nominators (r:1 w:0)
@@ -76,10 +78,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking Bonded (r:1 w:0)
 	// Storage: VoterList ListBags (r:2 w:2)
 	fn unbond() -> Weight {
-		// Minimum execution time: 88_626 nanoseconds.
-		Weight::from_ref_time(89_533_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().writes(8 as u64))
+		// Minimum execution time: 89_555 nanoseconds.
+		Weight::from_ref_time(90_189_000)
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking CurrentEra (r:1 w:0)
@@ -87,12 +89,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
-		// Minimum execution time: 39_857 nanoseconds.
-		Weight::from_ref_time(41_762_625 as u64)
-			// Standard Error: 793
-			.saturating_add(Weight::from_ref_time(19_027 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(4 as u64))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
+		// Minimum execution time: 39_859 nanoseconds.
+		Weight::from_ref_time(41_164_480)
+			// Standard Error: 870
+			.saturating_add(Weight::from_ref_time(22_362).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking CurrentEra (r:1 w:0)
@@ -107,14 +109,16 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: Staking Payee (r:0 w:1)
+	// Storage: Staking SpanSlash (r:0 w:2)
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_kill(s: u32, ) -> Weight {
-		// Minimum execution time: 77_333 nanoseconds.
-		Weight::from_ref_time(78_922_702 as u64)
-			// Standard Error: 1_167
-			.saturating_add(Weight::from_ref_time(2_228 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(13 as u64))
-			.saturating_add(T::DbWeight::get().writes(11 as u64))
+		// Minimum execution time: 78_182 nanoseconds.
+		Weight::from_ref_time(82_653_282)
+			// Standard Error: 2_211
+			.saturating_add(Weight::from_ref_time(919_603).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(13))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking MinValidatorBond (r:1 w:0)
@@ -128,22 +132,22 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	// Storage: Staking CounterForValidators (r:1 w:1)
 	fn validate() -> Weight {
-		// Minimum execution time: 60_771 nanoseconds.
-		Weight::from_ref_time(62_120_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(5 as u64))
+		// Minimum execution time: 60_801 nanoseconds.
+		Weight::from_ref_time(61_461_000)
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(5))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Nominators (r:1 w:1)
 	/// The range of component `k` is `[1, 128]`.
 	fn kick(k: u32, ) -> Weight {
-		// Minimum execution time: 35_488 nanoseconds.
-		Weight::from_ref_time(31_260_124 as u64)
-			// Standard Error: 10_282
-			.saturating_add(Weight::from_ref_time(6_618_104 as u64).saturating_mul(k as u64))
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(k as u64)))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(k as u64)))
+		// Minimum execution time: 34_706 nanoseconds.
+		Weight::from_ref_time(30_155_201)
+			// Standard Error: 9_801
+			.saturating_add(Weight::from_ref_time(6_812_249).saturating_mul(k.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking MinNominatorBond (r:1 w:0)
@@ -158,13 +162,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking CounterForNominators (r:1 w:1)
 	/// The range of component `n` is `[1, 24]`.
 	fn nominate(n: u32, ) -> Weight {
-		// Minimum execution time: 63_100 nanoseconds.
-		Weight::from_ref_time(61_836_772 as u64)
-			// Standard Error: 7_808
-			.saturating_add(Weight::from_ref_time(2_532_660 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 63_815 nanoseconds.
+		Weight::from_ref_time(62_277_624)
+			// Standard Error: 8_020
+			.saturating_add(Weight::from_ref_time(2_558_933).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Validators (r:1 w:0)
@@ -174,59 +178,59 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:1 w:1)
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	fn chill() -> Weight {
-		// Minimum execution time: 58_416 nanoseconds.
-		Weight::from_ref_time(59_201_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(8 as u64))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 59_765 nanoseconds.
+		Weight::from_ref_time(60_359_000)
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Payee (r:0 w:1)
 	fn set_payee() -> Weight {
-		// Minimum execution time: 15_931 nanoseconds.
-		Weight::from_ref_time(16_155_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 15_948 nanoseconds.
+		Weight::from_ref_time(16_331_000)
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Bonded (r:1 w:1)
 	// Storage: Staking Ledger (r:2 w:2)
 	fn set_controller() -> Weight {
-		// Minimum execution time: 22_947 nanoseconds.
-		Weight::from_ref_time(23_520_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(3 as u64))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
+		// Minimum execution time: 22_707 nanoseconds.
+		Weight::from_ref_time(23_051_000)
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	// Storage: Staking ValidatorCount (r:0 w:1)
 	fn set_validator_count() -> Weight {
-		// Minimum execution time: 4_206 nanoseconds.
-		Weight::from_ref_time(4_371_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_236 nanoseconds.
+		Weight::from_ref_time(4_468_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_no_eras() -> Weight {
-		// Minimum execution time: 4_225 nanoseconds.
-		Weight::from_ref_time(4_324_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_264 nanoseconds.
+		Weight::from_ref_time(4_397_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_new_era() -> Weight {
-		// Minimum execution time: 4_361 nanoseconds.
-		Weight::from_ref_time(4_489_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_334 nanoseconds.
+		Weight::from_ref_time(4_478_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_new_era_always() -> Weight {
-		// Minimum execution time: 4_369 nanoseconds.
-		Weight::from_ref_time(4_611_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_429 nanoseconds.
+		Weight::from_ref_time(4_522_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Invulnerables (r:0 w:1)
 	/// The range of component `v` is `[0, 1000]`.
 	fn set_invulnerables(v: u32, ) -> Weight {
-		// Minimum execution time: 4_450 nanoseconds.
-		Weight::from_ref_time(4_810_067 as u64)
-			// Standard Error: 25
-			.saturating_add(Weight::from_ref_time(10_502 as u64).saturating_mul(v as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_573 nanoseconds.
+		Weight::from_ref_time(4_979_271)
+			// Standard Error: 29
+			.saturating_add(Weight::from_ref_time(10_199).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Bonded (r:1 w:1)
 	// Storage: Staking SlashingSpans (r:1 w:0)
@@ -243,23 +247,23 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking SpanSlash (r:0 w:2)
 	/// The range of component `s` is `[0, 100]`.
 	fn force_unstake(s: u32, ) -> Weight {
-		// Minimum execution time: 71_970 nanoseconds.
-		Weight::from_ref_time(77_083_021 as u64)
-			// Standard Error: 2_001
-			.saturating_add(Weight::from_ref_time(866_865 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(12 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
+		// Minimum execution time: 71_604 nanoseconds.
+		Weight::from_ref_time(76_356_335)
+			// Standard Error: 2_128
+			.saturating_add(Weight::from_ref_time(924_544).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: Staking UnappliedSlashes (r:1 w:1)
 	/// The range of component `s` is `[1, 1000]`.
 	fn cancel_deferred_slash(s: u32, ) -> Weight {
-		// Minimum execution time: 118_673 nanoseconds.
-		Weight::from_ref_time(1_326_106_039 as u64)
-			// Standard Error: 87_435
-			.saturating_add(Weight::from_ref_time(7_437_525 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 111_696 nanoseconds.
+		Weight::from_ref_time(919_128_155)
+			// Standard Error: 58_383
+			.saturating_add(Weight::from_ref_time(4_917_235).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking CurrentEra (r:1 w:0)
 	// Storage: Staking ErasValidatorReward (r:1 w:0)
@@ -272,14 +276,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	/// The range of component `n` is `[0, 512]`.
 	fn payout_stakers_dead_controller(n: u32, ) -> Weight {
-		// Minimum execution time: 109_550 nanoseconds.
-		Weight::from_ref_time(206_474_081 as u64)
-			// Standard Error: 16_169
-			.saturating_add(Weight::from_ref_time(21_555_193 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(9 as u64))
-			.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(2 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(n as u64)))
+		// Minimum execution time: 110_470 nanoseconds.
+		Weight::from_ref_time(214_513_056)
+			// Standard Error: 17_132
+			.saturating_add(Weight::from_ref_time(21_681_392).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(2))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
 	}
 	// Storage: Staking CurrentEra (r:1 w:0)
 	// Storage: Staking ErasValidatorReward (r:1 w:0)
@@ -293,14 +297,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	/// The range of component `n` is `[0, 512]`.
 	fn payout_stakers_alive_staked(n: u32, ) -> Weight {
-		// Minimum execution time: 126_170 nanoseconds.
-		Weight::from_ref_time(194_778_058 as u64)
-			// Standard Error: 27_867
-			.saturating_add(Weight::from_ref_time(30_845_851 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(10 as u64))
-			.saturating_add(T::DbWeight::get().reads((5 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
-			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(n as u64)))
+		// Minimum execution time: 127_623 nanoseconds.
+		Weight::from_ref_time(71_193_329)
+			// Standard Error: 104_006
+			.saturating_add(Weight::from_ref_time(31_734_017).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(10))
+			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
@@ -310,12 +314,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:2 w:2)
 	/// The range of component `l` is `[1, 32]`.
 	fn rebond(l: u32, ) -> Weight {
-		// Minimum execution time: 82_627 nanoseconds.
-		Weight::from_ref_time(84_126_338 as u64)
-			// Standard Error: 4_351
-			.saturating_add(Weight::from_ref_time(45_779 as u64).saturating_mul(l as u64))
-			.saturating_add(T::DbWeight::get().reads(9 as u64))
-			.saturating_add(T::DbWeight::get().writes(8 as u64))
+		// Minimum execution time: 81_989 nanoseconds.
+		Weight::from_ref_time(84_089_774)
+			// Standard Error: 3_862
+			.saturating_add(Weight::from_ref_time(34_551).saturating_mul(l.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 	// Storage: System Account (r:1 w:1)
 	// Storage: Staking Bonded (r:1 w:1)
@@ -332,17 +336,16 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking SpanSlash (r:0 w:1)
 	/// The range of component `s` is `[1, 100]`.
 	fn reap_stash(s: u32, ) -> Weight {
-		// Minimum execution time: 84_348 nanoseconds.
-		Weight::from_ref_time(84_781_622 as u64)
-			// Standard Error: 3_494
-			.saturating_add(Weight::from_ref_time(869_042 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().writes(12 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
+		// Minimum execution time: 81_744 nanoseconds.
+		Weight::from_ref_time(83_697_917)
+			// Standard Error: 2_378
+			.saturating_add(Weight::from_ref_time(928_791).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: VoterList CounterForListNodes (r:1 w:0)
-	// Storage: Staking SlashingSpans (r:1 w:0)
-	// Storage: VoterList ListBags (r:183 w:0)
+	// Storage: VoterList ListBags (r:166 w:0)
 	// Storage: VoterList ListNodes (r:101 w:0)
 	// Storage: Staking Nominators (r:101 w:0)
 	// Storage: Staking Validators (r:2 w:0)
@@ -358,53 +361,57 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking ErasStakers (r:0 w:1)
 	// Storage: Staking ErasTotalStake (r:0 w:1)
 	// Storage: Staking ErasStartSessionIndex (r:0 w:1)
+	// Storage: Staking MinimumActiveStake (r:0 w:1)
 	/// The range of component `v` is `[1, 10]`.
 	/// The range of component `n` is `[0, 100]`.
 	fn new_era(v: u32, n: u32, ) -> Weight {
-		// Minimum execution time: 431_295 nanoseconds.
-		Weight::from_ref_time(434_958_000 as u64)
-			// Standard Error: 1_764_016
-			.saturating_add(Weight::from_ref_time(57_522_953 as u64).saturating_mul(v as u64))
-			// Standard Error: 175_774
-			.saturating_add(Weight::from_ref_time(13_158_469 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(191 as u64))
-			.saturating_add(T::DbWeight::get().reads((5 as u64).saturating_mul(v as u64)))
-			.saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(4 as u64))
-			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(v as u64)))
+		// Minimum execution time: 426_726 nanoseconds.
+		Weight::from_ref_time(427_956_000)
+			// Standard Error: 1_694_488
+			.saturating_add(Weight::from_ref_time(55_297_221).saturating_mul(v.into()))
+			// Standard Error: 168_846
+			.saturating_add(Weight::from_ref_time(12_858_483).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(173))
+			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(v.into())))
 	}
 	// Storage: VoterList CounterForListNodes (r:1 w:0)
-	// Storage: VoterList ListBags (r:200 w:0)
+	// Storage: VoterList ListBags (r:166 w:0)
 	// Storage: VoterList ListNodes (r:1500 w:0)
 	// Storage: Staking Nominators (r:1500 w:0)
 	// Storage: Staking Validators (r:500 w:0)
 	// Storage: Staking Bonded (r:1500 w:0)
 	// Storage: Staking Ledger (r:1500 w:0)
+	// Storage: System BlockWeight (r:1 w:1)
+	// Storage: Staking MinimumActiveStake (r:0 w:1)
 	/// The range of component `v` is `[500, 1000]`.
 	/// The range of component `n` is `[500, 1000]`.
 	fn get_npos_voters(v: u32, n: u32, ) -> Weight {
-		// Minimum execution time: 24_634_585 nanoseconds.
-		Weight::from_ref_time(24_718_377_000)
-			// Standard Error: 324_839
-			.saturating_add(Weight::from_ref_time(3_654_508).saturating_mul(v.into()))
-			// Standard Error: 324_839
-			.saturating_add(Weight::from_ref_time(2_927_535).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(201))
+		// Minimum execution time: 25_092_560 nanoseconds.
+		Weight::from_ref_time(25_487_312_000)
+			// Standard Error: 547_909
+			.saturating_add(Weight::from_ref_time(4_859_299).saturating_mul(v.into()))
+			// Standard Error: 547_909
+			.saturating_add(Weight::from_ref_time(4_082_635).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(168))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	// Storage: Staking CounterForValidators (r:1 w:0)
 	// Storage: Staking Validators (r:501 w:0)
 	// Storage: System BlockWeight (r:1 w:1)
 	/// The range of component `v` is `[500, 1000]`.
 	fn get_npos_targets(v: u32, ) -> Weight {
-		// Minimum execution time: 3_520_733 nanoseconds.
-		Weight::from_ref_time(3_602_387_000 as u64)
-			// Standard Error: 41_226
-			.saturating_add(Weight::from_ref_time(2_633_121 as u64).saturating_mul(v as u64))
-			.saturating_add(T::DbWeight::get().reads(3 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(v as u64)))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 3_516_893 nanoseconds.
+		Weight::from_ref_time(139_483_001)
+			// Standard Error: 43_749
+			.saturating_add(Weight::from_ref_time(7_181_910).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking MinCommission (r:0 w:1)
 	// Storage: Staking MinValidatorBond (r:0 w:1)
@@ -413,9 +420,9 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking MaxNominatorsCount (r:0 w:1)
 	// Storage: Staking MinNominatorBond (r:0 w:1)
 	fn set_staking_configs_all_set() -> Weight {
-		// Minimum execution time: 7_287 nanoseconds.
-		Weight::from_ref_time(7_534_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 7_596 nanoseconds.
+		Weight::from_ref_time(7_960_000)
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking MinCommission (r:0 w:1)
 	// Storage: Staking MinValidatorBond (r:0 w:1)
@@ -424,9 +431,9 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking MaxNominatorsCount (r:0 w:1)
 	// Storage: Staking MinNominatorBond (r:0 w:1)
 	fn set_staking_configs_all_remove() -> Weight {
-		// Minimum execution time: 6_570 nanoseconds.
-		Weight::from_ref_time(6_834_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 7_041 nanoseconds.
+		Weight::from_ref_time(7_258_000)
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Nominators (r:1 w:1)
@@ -439,17 +446,23 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:1 w:1)
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	fn chill_other() -> Weight {
-		// Minimum execution time: 69_446 nanoseconds.
-		Weight::from_ref_time(71_663_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 69_602 nanoseconds.
+		Weight::from_ref_time(71_173_000)
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking MinCommission (r:1 w:0)
 	// Storage: Staking Validators (r:1 w:1)
 	fn force_apply_min_commission() -> Weight {
-		// Minimum execution time: 15_387 nanoseconds.
-		Weight::from_ref_time(15_571_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(2 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 15_488 nanoseconds.
+		Weight::from_ref_time(15_690_000)
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+	// Storage: Staking MinCommission (r:0 w:1)
+	fn set_min_commission() -> Weight {
+		// Minimum execution time: 4_360 nanoseconds.
+		Weight::from_ref_time(4_617_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 }
diff --git a/polkadot/runtime/polkadot/src/lib.rs b/polkadot/runtime/polkadot/src/lib.rs
index 385b7b815fb..8c4d85afb67 100644
--- a/polkadot/runtime/polkadot/src/lib.rs
+++ b/polkadot/runtime/polkadot/src/lib.rs
@@ -553,7 +553,7 @@ parameter_types! {
 	pub const MaxNominations: u32 = <NposCompactSolution16 as frame_election_provider_support::NposSolution>::LIMIT as u32;
 }
 
-type SlashCancelOrigin = EitherOfDiverse<
+type StakingAdminOrigin = EitherOfDiverse<
 	EnsureRoot<AccountId>,
 	pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 3, 4>,
 >;
@@ -599,8 +599,7 @@ impl pallet_staking::Config for Runtime {
 	type SessionsPerEra = SessionsPerEra;
 	type BondingDuration = BondingDuration;
 	type SlashDeferDuration = SlashDeferDuration;
-	// A super-majority of the council can cancel the slash.
-	type SlashCancelOrigin = SlashCancelOrigin;
+	type AdminOrigin = StakingAdminOrigin;
 	type SessionInterface = Self;
 	type EraPayout = EraPayout;
 	type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator;
diff --git a/polkadot/runtime/polkadot/src/weights/pallet_staking.rs b/polkadot/runtime/polkadot/src/weights/pallet_staking.rs
index 8e49eeefee1..8cc7e5903e0 100644
--- a/polkadot/runtime/polkadot/src/weights/pallet_staking.rs
+++ b/polkadot/runtime/polkadot/src/weights/pallet_staking.rs
@@ -16,21 +16,23 @@
 //! Autogenerated weights for `pallet_staking`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-11-16, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! DATE: 2022-12-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// /home/benchbot/cargo_target_dir/production/polkadot
 // benchmark
 // pallet
-// --chain=polkadot-dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_staking
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=pallet_staking
+// --chain=polkadot-dev
 // --header=./file_header.txt
 // --output=./runtime/polkadot/src/weights/
 
@@ -50,10 +52,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: Staking Payee (r:0 w:1)
 	fn bond() -> Weight {
-		// Minimum execution time: 46_662 nanoseconds.
-		Weight::from_ref_time(47_196_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(4 as u64))
-			.saturating_add(T::DbWeight::get().writes(4 as u64))
+		// Minimum execution time: 47_596 nanoseconds.
+		Weight::from_ref_time(48_262_000)
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	// Storage: Staking Bonded (r:1 w:0)
 	// Storage: Staking Ledger (r:1 w:1)
@@ -61,10 +63,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListNodes (r:3 w:3)
 	// Storage: VoterList ListBags (r:2 w:2)
 	fn bond_extra() -> Weight {
-		// Minimum execution time: 84_636 nanoseconds.
-		Weight::from_ref_time(85_507_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(8 as u64))
-			.saturating_add(T::DbWeight::get().writes(7 as u64))
+		// Minimum execution time: 85_311 nanoseconds.
+		Weight::from_ref_time(85_983_000)
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(7))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking Nominators (r:1 w:0)
@@ -76,10 +78,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking Bonded (r:1 w:0)
 	// Storage: VoterList ListBags (r:2 w:2)
 	fn unbond() -> Weight {
-		// Minimum execution time: 89_960 nanoseconds.
-		Weight::from_ref_time(90_775_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().writes(8 as u64))
+		// Minimum execution time: 91_155 nanoseconds.
+		Weight::from_ref_time(92_284_000)
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking CurrentEra (r:1 w:0)
@@ -87,12 +89,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
-		// Minimum execution time: 40_902 nanoseconds.
-		Weight::from_ref_time(42_037_878 as u64)
-			// Standard Error: 759
-			.saturating_add(Weight::from_ref_time(18_773 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(4 as u64))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
+		// Minimum execution time: 40_335 nanoseconds.
+		Weight::from_ref_time(41_980_327)
+			// Standard Error: 5_476
+			.saturating_add(Weight::from_ref_time(22_616).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking CurrentEra (r:1 w:0)
@@ -107,12 +109,16 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: Staking Payee (r:0 w:1)
+	// Storage: Staking SpanSlash (r:0 w:2)
 	/// The range of component `s` is `[0, 100]`.
-	fn withdraw_unbonded_kill(_s: u32, ) -> Weight {
-		// Minimum execution time: 76_841 nanoseconds.
-		Weight::from_ref_time(78_511_970 as u64)
-			.saturating_add(T::DbWeight::get().reads(13 as u64))
-			.saturating_add(T::DbWeight::get().writes(11 as u64))
+	fn withdraw_unbonded_kill(s: u32, ) -> Weight {
+		// Minimum execution time: 79_780 nanoseconds.
+		Weight::from_ref_time(83_493_244)
+			// Standard Error: 2_034
+			.saturating_add(Weight::from_ref_time(921_312).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(13))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking MinValidatorBond (r:1 w:0)
@@ -126,22 +132,22 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	// Storage: Staking CounterForValidators (r:1 w:1)
 	fn validate() -> Weight {
-		// Minimum execution time: 61_371 nanoseconds.
-		Weight::from_ref_time(62_111_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(5 as u64))
+		// Minimum execution time: 60_128 nanoseconds.
+		Weight::from_ref_time(60_981_000)
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(5))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Nominators (r:1 w:1)
 	/// The range of component `k` is `[1, 128]`.
 	fn kick(k: u32, ) -> Weight {
-		// Minimum execution time: 32_802 nanoseconds.
-		Weight::from_ref_time(31_148_886 as u64)
-			// Standard Error: 8_584
-			.saturating_add(Weight::from_ref_time(6_310_078 as u64).saturating_mul(k as u64))
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(k as u64)))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(k as u64)))
+		// Minimum execution time: 32_908 nanoseconds.
+		Weight::from_ref_time(29_665_429)
+			// Standard Error: 8_170
+			.saturating_add(Weight::from_ref_time(6_484_323).saturating_mul(k.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking MinNominatorBond (r:1 w:0)
@@ -156,13 +162,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking CounterForNominators (r:1 w:1)
 	/// The range of component `n` is `[1, 16]`.
 	fn nominate(n: u32, ) -> Weight {
-		// Minimum execution time: 63_601 nanoseconds.
-		Weight::from_ref_time(62_683_368 as u64)
-			// Standard Error: 5_693
-			.saturating_add(Weight::from_ref_time(2_387_381 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 63_783 nanoseconds.
+		Weight::from_ref_time(63_455_416)
+			// Standard Error: 6_146
+			.saturating_add(Weight::from_ref_time(2_387_675).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Validators (r:1 w:0)
@@ -172,59 +178,59 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:1 w:1)
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	fn chill() -> Weight {
-		// Minimum execution time: 58_414 nanoseconds.
-		Weight::from_ref_time(58_926_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(8 as u64))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 59_804 nanoseconds.
+		Weight::from_ref_time(60_578_000)
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Payee (r:0 w:1)
 	fn set_payee() -> Weight {
-		// Minimum execution time: 15_904 nanoseconds.
-		Weight::from_ref_time(16_192_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 15_947 nanoseconds.
+		Weight::from_ref_time(16_220_000)
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Bonded (r:1 w:1)
 	// Storage: Staking Ledger (r:2 w:2)
 	fn set_controller() -> Weight {
-		// Minimum execution time: 23_346 nanoseconds.
-		Weight::from_ref_time(23_789_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(3 as u64))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
+		// Minimum execution time: 22_585 nanoseconds.
+		Weight::from_ref_time(23_242_000)
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	// Storage: Staking ValidatorCount (r:0 w:1)
 	fn set_validator_count() -> Weight {
-		// Minimum execution time: 4_391 nanoseconds.
-		Weight::from_ref_time(4_537_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_303 nanoseconds.
+		Weight::from_ref_time(4_470_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_no_eras() -> Weight {
-		// Minimum execution time: 4_401 nanoseconds.
-		Weight::from_ref_time(4_566_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_347 nanoseconds.
+		Weight::from_ref_time(4_522_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_new_era() -> Weight {
-		// Minimum execution time: 4_332 nanoseconds.
-		Weight::from_ref_time(4_500_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_313 nanoseconds.
+		Weight::from_ref_time(4_548_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_new_era_always() -> Weight {
-		// Minimum execution time: 4_311 nanoseconds.
-		Weight::from_ref_time(4_424_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_302 nanoseconds.
+		Weight::from_ref_time(4_487_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Invulnerables (r:0 w:1)
 	/// The range of component `v` is `[0, 1000]`.
 	fn set_invulnerables(v: u32, ) -> Weight {
-		// Minimum execution time: 4_728 nanoseconds.
-		Weight::from_ref_time(5_009_153 as u64)
-			// Standard Error: 40
-			.saturating_add(Weight::from_ref_time(13_575 as u64).saturating_mul(v as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_414 nanoseconds.
+		Weight::from_ref_time(4_950_256)
+			// Standard Error: 34
+			.saturating_add(Weight::from_ref_time(11_147).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Bonded (r:1 w:1)
 	// Storage: Staking SlashingSpans (r:1 w:0)
@@ -241,23 +247,23 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking SpanSlash (r:0 w:2)
 	/// The range of component `s` is `[0, 100]`.
 	fn force_unstake(s: u32, ) -> Weight {
-		// Minimum execution time: 70_738 nanoseconds.
-		Weight::from_ref_time(75_635_135 as u64)
-			// Standard Error: 1_963
-			.saturating_add(Weight::from_ref_time(886_440 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(12 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
+		// Minimum execution time: 71_586 nanoseconds.
+		Weight::from_ref_time(76_784_220)
+			// Standard Error: 2_649
+			.saturating_add(Weight::from_ref_time(914_345).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: Staking UnappliedSlashes (r:1 w:1)
 	/// The range of component `s` is `[1, 1000]`.
 	fn cancel_deferred_slash(s: u32, ) -> Weight {
-		// Minimum execution time: 121_057 nanoseconds.
-		Weight::from_ref_time(930_162_123 as u64)
-			// Standard Error: 58_030
-			.saturating_add(Weight::from_ref_time(4_954_466 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 113_087 nanoseconds.
+		Weight::from_ref_time(919_333_329)
+			// Standard Error: 58_190
+			.saturating_add(Weight::from_ref_time(4_926_882).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking CurrentEra (r:1 w:0)
 	// Storage: Staking ErasValidatorReward (r:1 w:0)
@@ -270,14 +276,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	/// The range of component `n` is `[0, 512]`.
 	fn payout_stakers_dead_controller(n: u32, ) -> Weight {
-		// Minimum execution time: 109_038 nanoseconds.
-		Weight::from_ref_time(209_711_375 as u64)
-			// Standard Error: 14_502
-			.saturating_add(Weight::from_ref_time(21_251_776 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(9 as u64))
-			.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(2 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(n as u64)))
+		// Minimum execution time: 109_456 nanoseconds.
+		Weight::from_ref_time(218_455_664)
+			// Standard Error: 16_502
+			.saturating_add(Weight::from_ref_time(21_415_223).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(2))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
 	}
 	// Storage: Staking CurrentEra (r:1 w:0)
 	// Storage: Staking ErasValidatorReward (r:1 w:0)
@@ -291,14 +297,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	/// The range of component `n` is `[0, 512]`.
 	fn payout_stakers_alive_staked(n: u32, ) -> Weight {
-		// Minimum execution time: 126_327 nanoseconds.
-		Weight::from_ref_time(172_023_969 as u64)
-			// Standard Error: 77_234
-			.saturating_add(Weight::from_ref_time(31_062_247 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(10 as u64))
-			.saturating_add(T::DbWeight::get().reads((5 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
-			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(n as u64)))
+		// Minimum execution time: 127_355 nanoseconds.
+		Weight::from_ref_time(183_799_193)
+			// Standard Error: 31_316
+			.saturating_add(Weight::from_ref_time(31_085_934).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(10))
+			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
@@ -308,12 +314,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:2 w:2)
 	/// The range of component `l` is `[1, 32]`.
 	fn rebond(l: u32, ) -> Weight {
-		// Minimum execution time: 81_709 nanoseconds.
-		Weight::from_ref_time(83_708_699 as u64)
-			// Standard Error: 4_311
-			.saturating_add(Weight::from_ref_time(44_788 as u64).saturating_mul(l as u64))
-			.saturating_add(T::DbWeight::get().reads(9 as u64))
-			.saturating_add(T::DbWeight::get().writes(8 as u64))
+		// Minimum execution time: 82_240 nanoseconds.
+		Weight::from_ref_time(84_253_539)
+			// Standard Error: 4_496
+			.saturating_add(Weight::from_ref_time(38_336).saturating_mul(l.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 	// Storage: System Account (r:1 w:1)
 	// Storage: Staking Bonded (r:1 w:1)
@@ -330,16 +336,15 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking SpanSlash (r:0 w:1)
 	/// The range of component `s` is `[1, 100]`.
 	fn reap_stash(s: u32, ) -> Weight {
-		// Minimum execution time: 81_287 nanoseconds.
-		Weight::from_ref_time(83_420_670 as u64)
-			// Standard Error: 2_357
-			.saturating_add(Weight::from_ref_time(879_072 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().writes(12 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
+		// Minimum execution time: 81_232 nanoseconds.
+		Weight::from_ref_time(83_432_135)
+			// Standard Error: 1_903
+			.saturating_add(Weight::from_ref_time(920_509).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: VoterList CounterForListNodes (r:1 w:0)
-	// Storage: Staking SlashingSpans (r:1 w:0)
 	// Storage: VoterList ListBags (r:178 w:0)
 	// Storage: VoterList ListNodes (r:101 w:0)
 	// Storage: Staking Nominators (r:101 w:0)
@@ -356,53 +361,57 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking ErasStakers (r:0 w:1)
 	// Storage: Staking ErasTotalStake (r:0 w:1)
 	// Storage: Staking ErasStartSessionIndex (r:0 w:1)
+	// Storage: Staking MinimumActiveStake (r:0 w:1)
 	/// The range of component `v` is `[1, 10]`.
 	/// The range of component `n` is `[0, 100]`.
 	fn new_era(v: u32, n: u32, ) -> Weight {
-		// Minimum execution time: 432_765 nanoseconds.
-		Weight::from_ref_time(434_560_000 as u64)
-			// Standard Error: 1_840_727
-			.saturating_add(Weight::from_ref_time(60_273_780 as u64).saturating_mul(v as u64))
-			// Standard Error: 183_418
-			.saturating_add(Weight::from_ref_time(13_301_391 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(186 as u64))
-			.saturating_add(T::DbWeight::get().reads((5 as u64).saturating_mul(v as u64)))
-			.saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(4 as u64))
-			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(v as u64)))
+		// Minimum execution time: 443_914 nanoseconds.
+		Weight::from_ref_time(445_239_000)
+			// Standard Error: 1_702_013
+			.saturating_add(Weight::from_ref_time(55_886_094).saturating_mul(v.into()))
+			// Standard Error: 169_596
+			.saturating_add(Weight::from_ref_time(13_054_062).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(185))
+			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(v.into())))
 	}
 	// Storage: VoterList CounterForListNodes (r:1 w:0)
-	// Storage: VoterList ListBags (r:200 w:0)
+	// Storage: VoterList ListBags (r:178 w:0)
 	// Storage: VoterList ListNodes (r:1500 w:0)
 	// Storage: Staking Nominators (r:1500 w:0)
 	// Storage: Staking Validators (r:500 w:0)
 	// Storage: Staking Bonded (r:1500 w:0)
 	// Storage: Staking Ledger (r:1500 w:0)
+	// Storage: System BlockWeight (r:1 w:1)
+	// Storage: Staking MinimumActiveStake (r:0 w:1)
 	/// The range of component `v` is `[500, 1000]`.
 	/// The range of component `n` is `[500, 1000]`.
 	fn get_npos_voters(v: u32, n: u32, ) -> Weight {
-		// Minimum execution time: 24_634_585 nanoseconds.
-		Weight::from_ref_time(24_718_377_000)
-			// Standard Error: 324_839
-			.saturating_add(Weight::from_ref_time(3_654_508).saturating_mul(v.into()))
-			// Standard Error: 324_839
-			.saturating_add(Weight::from_ref_time(2_927_535).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(201))
+		// Minimum execution time: 25_042_404 nanoseconds.
+		Weight::from_ref_time(25_221_780_000)
+			// Standard Error: 587_812
+			.saturating_add(Weight::from_ref_time(6_736_902).saturating_mul(v.into()))
+			// Standard Error: 587_812
+			.saturating_add(Weight::from_ref_time(2_992_604).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(180))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	// Storage: Staking CounterForValidators (r:1 w:0)
 	// Storage: Staking Validators (r:501 w:0)
 	// Storage: System BlockWeight (r:1 w:1)
 	/// The range of component `v` is `[500, 1000]`.
 	fn get_npos_targets(v: u32, ) -> Weight {
-		// Minimum execution time: 3_556_361 nanoseconds.
-		Weight::from_ref_time(120_792_037 as u64)
-			// Standard Error: 57_285
-			.saturating_add(Weight::from_ref_time(7_333_197 as u64).saturating_mul(v as u64))
-			.saturating_add(T::DbWeight::get().reads(3 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(v as u64)))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 3_554_519 nanoseconds.
+		Weight::from_ref_time(111_958_458)
+			// Standard Error: 51_313
+			.saturating_add(Weight::from_ref_time(7_328_224).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking MinCommission (r:0 w:1)
 	// Storage: Staking MinValidatorBond (r:0 w:1)
@@ -411,9 +420,9 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking MaxNominatorsCount (r:0 w:1)
 	// Storage: Staking MinNominatorBond (r:0 w:1)
 	fn set_staking_configs_all_set() -> Weight {
-		// Minimum execution time: 7_322 nanoseconds.
-		Weight::from_ref_time(7_596_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 7_416 nanoseconds.
+		Weight::from_ref_time(7_844_000)
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking MinCommission (r:0 w:1)
 	// Storage: Staking MinValidatorBond (r:0 w:1)
@@ -422,9 +431,9 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking MaxNominatorsCount (r:0 w:1)
 	// Storage: Staking MinNominatorBond (r:0 w:1)
 	fn set_staking_configs_all_remove() -> Weight {
-		// Minimum execution time: 6_842 nanoseconds.
-		Weight::from_ref_time(7_029_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 6_765 nanoseconds.
+		Weight::from_ref_time(7_042_000)
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Nominators (r:1 w:1)
@@ -437,17 +446,23 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:1 w:1)
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	fn chill_other() -> Weight {
-		// Minimum execution time: 69_097 nanoseconds.
-		Weight::from_ref_time(69_731_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 69_321 nanoseconds.
+		Weight::from_ref_time(70_413_000)
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking MinCommission (r:1 w:0)
 	// Storage: Staking Validators (r:1 w:1)
 	fn force_apply_min_commission() -> Weight {
-		// Minimum execution time: 15_563 nanoseconds.
-		Weight::from_ref_time(15_867_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(2 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 14_915 nanoseconds.
+		Weight::from_ref_time(15_495_000)
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+	// Storage: Staking MinCommission (r:0 w:1)
+	fn set_min_commission() -> Weight {
+		// Minimum execution time: 4_184 nanoseconds.
+		Weight::from_ref_time(4_326_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 }
diff --git a/polkadot/runtime/test-runtime/src/lib.rs b/polkadot/runtime/test-runtime/src/lib.rs
index b32aa953332..83c0b3b05b5 100644
--- a/polkadot/runtime/test-runtime/src/lib.rs
+++ b/polkadot/runtime/test-runtime/src/lib.rs
@@ -348,8 +348,7 @@ impl pallet_staking::Config for Runtime {
 	type SessionsPerEra = SessionsPerEra;
 	type BondingDuration = BondingDuration;
 	type SlashDeferDuration = SlashDeferDuration;
-	// A majority of the council can cancel the slash.
-	type SlashCancelOrigin = frame_system::EnsureNever<()>;
+	type AdminOrigin = frame_system::EnsureNever<()>;
 	type SessionInterface = Self;
 	type EraPayout = pallet_staking::ConvertCurve<RewardCurve>;
 	type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator;
diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs
index 097dcfdd589..7118ad1e780 100644
--- a/polkadot/runtime/westend/src/lib.rs
+++ b/polkadot/runtime/westend/src/lib.rs
@@ -509,8 +509,7 @@ impl pallet_staking::Config for Runtime {
 	type SessionsPerEra = SessionsPerEra;
 	type BondingDuration = BondingDuration;
 	type SlashDeferDuration = SlashDeferDuration;
-	// A majority of the council can cancel the slash.
-	type SlashCancelOrigin = EnsureRoot<AccountId>;
+	type AdminOrigin = EnsureRoot<AccountId>;
 	type SessionInterface = Self;
 	type EraPayout = pallet_staking::ConvertCurve<RewardCurve>;
 	type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator;
diff --git a/polkadot/runtime/westend/src/weights/pallet_staking.rs b/polkadot/runtime/westend/src/weights/pallet_staking.rs
index 0c240630a9c..7fe992e49ce 100644
--- a/polkadot/runtime/westend/src/weights/pallet_staking.rs
+++ b/polkadot/runtime/westend/src/weights/pallet_staking.rs
@@ -16,21 +16,23 @@
 //! Autogenerated weights for `pallet_staking`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-11-15, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! HOSTNAME: `bm6`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! DATE: 2022-12-25, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// /home/benchbot/cargo_target_dir/production/polkadot
 // benchmark
 // pallet
-// --chain=westend-dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_staking
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=pallet_staking
+// --chain=westend-dev
 // --header=./file_header.txt
 // --output=./runtime/westend/src/weights/
 
@@ -50,10 +52,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: Staking Payee (r:0 w:1)
 	fn bond() -> Weight {
-		// Minimum execution time: 47_864 nanoseconds.
-		Weight::from_ref_time(48_374_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(4 as u64))
-			.saturating_add(T::DbWeight::get().writes(4 as u64))
+		// Minimum execution time: 47_938 nanoseconds.
+		Weight::from_ref_time(48_766_000)
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	// Storage: Staking Bonded (r:1 w:0)
 	// Storage: Staking Ledger (r:1 w:1)
@@ -61,10 +63,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListNodes (r:3 w:3)
 	// Storage: VoterList ListBags (r:2 w:2)
 	fn bond_extra() -> Weight {
-		// Minimum execution time: 92_224 nanoseconds.
-		Weight::from_ref_time(92_673_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(8 as u64))
-			.saturating_add(T::DbWeight::get().writes(7 as u64))
+		// Minimum execution time: 83_008 nanoseconds.
+		Weight::from_ref_time(84_097_000)
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(7))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking Nominators (r:1 w:0)
@@ -76,10 +78,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking Bonded (r:1 w:0)
 	// Storage: VoterList ListBags (r:2 w:2)
 	fn unbond() -> Weight {
-		// Minimum execution time: 89_173 nanoseconds.
-		Weight::from_ref_time(91_518_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().writes(8 as u64))
+		// Minimum execution time: 89_429 nanoseconds.
+		Weight::from_ref_time(90_577_000)
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking CurrentEra (r:1 w:0)
@@ -87,12 +89,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
-		// Minimum execution time: 41_525 nanoseconds.
-		Weight::from_ref_time(42_785_087 as u64)
-			// Standard Error: 689
-			.saturating_add(Weight::from_ref_time(16_918 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(4 as u64))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
+		// Minimum execution time: 40_837 nanoseconds.
+		Weight::from_ref_time(42_187_130)
+			// Standard Error: 894
+			.saturating_add(Weight::from_ref_time(19_689).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Staking CurrentEra (r:1 w:0)
@@ -107,12 +109,16 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: Staking Payee (r:0 w:1)
+	// Storage: Staking SpanSlash (r:0 w:2)
 	/// The range of component `s` is `[0, 100]`.
-	fn withdraw_unbonded_kill(_s: u32, ) -> Weight {
-		// Minimum execution time: 77_930 nanoseconds.
-		Weight::from_ref_time(79_791_309 as u64)
-			.saturating_add(T::DbWeight::get().reads(13 as u64))
-			.saturating_add(T::DbWeight::get().writes(11 as u64))
+	fn withdraw_unbonded_kill(s: u32, ) -> Weight {
+		// Minimum execution time: 79_648 nanoseconds.
+		Weight::from_ref_time(83_017_096)
+			// Standard Error: 2_010
+			.saturating_add(Weight::from_ref_time(922_930).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(13))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking MinValidatorBond (r:1 w:0)
@@ -126,22 +132,22 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	// Storage: Staking CounterForValidators (r:1 w:1)
 	fn validate() -> Weight {
-		// Minimum execution time: 61_039 nanoseconds.
-		Weight::from_ref_time(61_864_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(5 as u64))
+		// Minimum execution time: 60_320 nanoseconds.
+		Weight::from_ref_time(61_086_000)
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(5))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Nominators (r:1 w:1)
 	/// The range of component `k` is `[1, 128]`.
 	fn kick(k: u32, ) -> Weight {
-		// Minimum execution time: 33_744 nanoseconds.
-		Weight::from_ref_time(31_656_370 as u64)
-			// Standard Error: 7_390
-			.saturating_add(Weight::from_ref_time(6_320_562 as u64).saturating_mul(k as u64))
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(k as u64)))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(k as u64)))
+		// Minimum execution time: 33_877 nanoseconds.
+		Weight::from_ref_time(30_158_812)
+			// Standard Error: 9_093
+			.saturating_add(Weight::from_ref_time(6_467_073).saturating_mul(k.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking MinNominatorBond (r:1 w:0)
@@ -156,13 +162,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking CounterForNominators (r:1 w:1)
 	/// The range of component `n` is `[1, 16]`.
 	fn nominate(n: u32, ) -> Weight {
-		// Minimum execution time: 64_103 nanoseconds.
-		Weight::from_ref_time(63_617_315 as u64)
-			// Standard Error: 5_476
-			.saturating_add(Weight::from_ref_time(2_416_112 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 64_372 nanoseconds.
+		Weight::from_ref_time(64_284_684)
+			// Standard Error: 8_143
+			.saturating_add(Weight::from_ref_time(2_395_175).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Validators (r:1 w:0)
@@ -172,59 +178,59 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:1 w:1)
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	fn chill() -> Weight {
-		// Minimum execution time: 59_072 nanoseconds.
-		Weight::from_ref_time(59_664_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(8 as u64))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 58_793 nanoseconds.
+		Weight::from_ref_time(59_523_000)
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Payee (r:0 w:1)
 	fn set_payee() -> Weight {
-		// Minimum execution time: 16_287 nanoseconds.
-		Weight::from_ref_time(16_474_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 16_281 nanoseconds.
+		Weight::from_ref_time(16_747_000)
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Bonded (r:1 w:1)
 	// Storage: Staking Ledger (r:2 w:2)
 	fn set_controller() -> Weight {
-		// Minimum execution time: 23_295 nanoseconds.
-		Weight::from_ref_time(23_742_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(3 as u64))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
+		// Minimum execution time: 23_145 nanoseconds.
+		Weight::from_ref_time(23_556_000)
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	// Storage: Staking ValidatorCount (r:0 w:1)
 	fn set_validator_count() -> Weight {
-		// Minimum execution time: 4_606 nanoseconds.
-		Weight::from_ref_time(4_753_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_658 nanoseconds.
+		Weight::from_ref_time(4_781_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_no_eras() -> Weight {
-		// Minimum execution time: 4_714 nanoseconds.
-		Weight::from_ref_time(4_870_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_881 nanoseconds.
+		Weight::from_ref_time(5_148_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_new_era() -> Weight {
-		// Minimum execution time: 4_811 nanoseconds.
-		Weight::from_ref_time(4_915_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_713 nanoseconds.
+		Weight::from_ref_time(4_874_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking ForceEra (r:0 w:1)
 	fn force_new_era_always() -> Weight {
-		// Minimum execution time: 4_815 nanoseconds.
-		Weight::from_ref_time(4_888_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 4_864 nanoseconds.
+		Weight::from_ref_time(5_081_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Invulnerables (r:0 w:1)
 	/// The range of component `v` is `[0, 1000]`.
 	fn set_invulnerables(v: u32, ) -> Weight {
-		// Minimum execution time: 4_957 nanoseconds.
-		Weight::from_ref_time(5_458_970 as u64)
-			// Standard Error: 37
-			.saturating_add(Weight::from_ref_time(11_689 as u64).saturating_mul(v as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 5_060 nanoseconds.
+		Weight::from_ref_time(5_422_382)
+			// Standard Error: 29
+			.saturating_add(Weight::from_ref_time(11_331).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking Bonded (r:1 w:1)
 	// Storage: Staking SlashingSpans (r:1 w:0)
@@ -241,23 +247,23 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking SpanSlash (r:0 w:2)
 	/// The range of component `s` is `[0, 100]`.
 	fn force_unstake(s: u32, ) -> Weight {
-		// Minimum execution time: 72_209 nanoseconds.
-		Weight::from_ref_time(77_298_663 as u64)
-			// Standard Error: 3_183
-			.saturating_add(Weight::from_ref_time(888_800 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(12 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
+		// Minimum execution time: 71_417 nanoseconds.
+		Weight::from_ref_time(76_800_091)
+			// Standard Error: 2_434
+			.saturating_add(Weight::from_ref_time(923_979).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: Staking UnappliedSlashes (r:1 w:1)
 	/// The range of component `s` is `[1, 1000]`.
 	fn cancel_deferred_slash(s: u32, ) -> Weight {
-		// Minimum execution time: 118_262 nanoseconds.
-		Weight::from_ref_time(930_422_429 as u64)
-			// Standard Error: 58_358
-			.saturating_add(Weight::from_ref_time(4_891_639 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(1 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 113_334 nanoseconds.
+		Weight::from_ref_time(924_450_107)
+			// Standard Error: 58_953
+			.saturating_add(Weight::from_ref_time(4_923_031).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking CurrentEra (r:1 w:0)
 	// Storage: Staking ErasValidatorReward (r:1 w:0)
@@ -270,14 +276,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	/// The range of component `n` is `[0, 64]`.
 	fn payout_stakers_dead_controller(n: u32, ) -> Weight {
-		// Minimum execution time: 79_513 nanoseconds.
-		Weight::from_ref_time(93_058_704 as u64)
-			// Standard Error: 20_402
-			.saturating_add(Weight::from_ref_time(19_965_835 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(9 as u64))
-			.saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(2 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(n as u64)))
+		// Minimum execution time: 77_615 nanoseconds.
+		Weight::from_ref_time(91_849_000)
+			// Standard Error: 29_974
+			.saturating_add(Weight::from_ref_time(20_052_379).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(2))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
 	}
 	// Storage: Staking CurrentEra (r:1 w:0)
 	// Storage: Staking ErasValidatorReward (r:1 w:0)
@@ -291,14 +297,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	/// The range of component `n` is `[0, 64]`.
 	fn payout_stakers_alive_staked(n: u32, ) -> Weight {
-		// Minimum execution time: 91_791 nanoseconds.
-		Weight::from_ref_time(119_133_841 as u64)
-			// Standard Error: 31_093
-			.saturating_add(Weight::from_ref_time(26_717_359 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(10 as u64))
-			.saturating_add(T::DbWeight::get().reads((5 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(3 as u64))
-			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(n as u64)))
+		// Minimum execution time: 90_513 nanoseconds.
+		Weight::from_ref_time(115_255_437)
+			// Standard Error: 29_960
+			.saturating_add(Weight::from_ref_time(27_135_740).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(10))
+			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 	}
 	// Storage: Staking Ledger (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
@@ -308,12 +314,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:2 w:2)
 	/// The range of component `l` is `[1, 32]`.
 	fn rebond(l: u32, ) -> Weight {
-		// Minimum execution time: 82_457 nanoseconds.
-		Weight::from_ref_time(83_869_512 as u64)
-			// Standard Error: 4_174
-			.saturating_add(Weight::from_ref_time(46_937 as u64).saturating_mul(l as u64))
-			.saturating_add(T::DbWeight::get().reads(9 as u64))
-			.saturating_add(T::DbWeight::get().writes(8 as u64))
+		// Minimum execution time: 82_630 nanoseconds.
+		Weight::from_ref_time(83_204_882)
+			// Standard Error: 22_390
+			.saturating_add(Weight::from_ref_time(122_845).saturating_mul(l.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 	// Storage: System Account (r:1 w:1)
 	// Storage: Staking Bonded (r:1 w:1)
@@ -330,16 +336,15 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking SpanSlash (r:0 w:1)
 	/// The range of component `s` is `[1, 100]`.
 	fn reap_stash(s: u32, ) -> Weight {
-		// Minimum execution time: 82_568 nanoseconds.
-		Weight::from_ref_time(83_999_520 as u64)
-			// Standard Error: 2_098
-			.saturating_add(Weight::from_ref_time(884_734 as u64).saturating_mul(s as u64))
-			.saturating_add(T::DbWeight::get().reads(12 as u64))
-			.saturating_add(T::DbWeight::get().writes(12 as u64))
-			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
+		// Minimum execution time: 82_488 nanoseconds.
+		Weight::from_ref_time(84_514_448)
+			// Standard Error: 2_464
+			.saturating_add(Weight::from_ref_time(922_810).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(12))
+			.saturating_add(T::DbWeight::get().writes(12))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
 	// Storage: VoterList CounterForListNodes (r:1 w:0)
-	// Storage: Staking SlashingSpans (r:1 w:0)
 	// Storage: VoterList ListBags (r:178 w:0)
 	// Storage: VoterList ListNodes (r:101 w:0)
 	// Storage: Staking Nominators (r:101 w:0)
@@ -356,53 +361,57 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking ErasStakers (r:0 w:1)
 	// Storage: Staking ErasTotalStake (r:0 w:1)
 	// Storage: Staking ErasStartSessionIndex (r:0 w:1)
+	// Storage: Staking MinimumActiveStake (r:0 w:1)
 	/// The range of component `v` is `[1, 10]`.
 	/// The range of component `n` is `[0, 100]`.
 	fn new_era(v: u32, n: u32, ) -> Weight {
-		// Minimum execution time: 433_425 nanoseconds.
-		Weight::from_ref_time(435_379_000 as u64)
-			// Standard Error: 1_833_800
-			.saturating_add(Weight::from_ref_time(60_252_147 as u64).saturating_mul(v as u64))
-			// Standard Error: 182_728
-			.saturating_add(Weight::from_ref_time(13_188_805 as u64).saturating_mul(n as u64))
-			.saturating_add(T::DbWeight::get().reads(186 as u64))
-			.saturating_add(T::DbWeight::get().reads((5 as u64).saturating_mul(v as u64)))
-			.saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(n as u64)))
-			.saturating_add(T::DbWeight::get().writes(4 as u64))
-			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(v as u64)))
+		// Minimum execution time: 441_729 nanoseconds.
+		Weight::from_ref_time(443_065_000)
+			// Standard Error: 1_706_307
+			.saturating_add(Weight::from_ref_time(56_054_739).saturating_mul(v.into()))
+			// Standard Error: 170_024
+			.saturating_add(Weight::from_ref_time(12_968_442).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(185))
+			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(v.into())))
 	}
 	// Storage: VoterList CounterForListNodes (r:1 w:0)
-	// Storage: VoterList ListBags (r:200 w:0)
+	// Storage: VoterList ListBags (r:178 w:0)
 	// Storage: VoterList ListNodes (r:1500 w:0)
 	// Storage: Staking Nominators (r:1500 w:0)
 	// Storage: Staking Validators (r:500 w:0)
 	// Storage: Staking Bonded (r:1500 w:0)
 	// Storage: Staking Ledger (r:1500 w:0)
+	// Storage: System BlockWeight (r:1 w:1)
+	// Storage: Staking MinimumActiveStake (r:0 w:1)
 	/// The range of component `v` is `[500, 1000]`.
 	/// The range of component `n` is `[500, 1000]`.
 	fn get_npos_voters(v: u32, n: u32, ) -> Weight {
-		// Minimum execution time: 24_634_585 nanoseconds.
-		Weight::from_ref_time(24_718_377_000)
-			// Standard Error: 324_839
-			.saturating_add(Weight::from_ref_time(3_654_508).saturating_mul(v.into()))
-			// Standard Error: 324_839
-			.saturating_add(Weight::from_ref_time(2_927_535).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(201))
+		// Minimum execution time: 25_152_628 nanoseconds.
+		Weight::from_ref_time(25_317_200_000)
+			// Standard Error: 594_512
+			.saturating_add(Weight::from_ref_time(6_190_157).saturating_mul(v.into()))
+			// Standard Error: 594_512
+			.saturating_add(Weight::from_ref_time(3_302_412).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(180))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	// Storage: Staking CounterForValidators (r:1 w:0)
 	// Storage: Staking Validators (r:501 w:0)
 	// Storage: System BlockWeight (r:1 w:1)
 	/// The range of component `v` is `[500, 1000]`.
 	fn get_npos_targets(v: u32, ) -> Weight {
-		// Minimum execution time: 3_513_761 nanoseconds.
-		Weight::from_ref_time(168_738_313 as u64)
-			// Standard Error: 55_974
-			.saturating_add(Weight::from_ref_time(7_130_301 as u64).saturating_mul(v as u64))
-			.saturating_add(T::DbWeight::get().reads(3 as u64))
-			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(v as u64)))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 3_621_768 nanoseconds.
+		Weight::from_ref_time(3_647_367_000)
+			// Standard Error: 42_035
+			.saturating_add(Weight::from_ref_time(2_772_156).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	// Storage: Staking MinCommission (r:0 w:1)
 	// Storage: Staking MinValidatorBond (r:0 w:1)
@@ -411,9 +420,9 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking MaxNominatorsCount (r:0 w:1)
 	// Storage: Staking MinNominatorBond (r:0 w:1)
 	fn set_staking_configs_all_set() -> Weight {
-		// Minimum execution time: 8_232 nanoseconds.
-		Weight::from_ref_time(8_510_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 8_259 nanoseconds.
+		Weight::from_ref_time(8_629_000)
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking MinCommission (r:0 w:1)
 	// Storage: Staking MinValidatorBond (r:0 w:1)
@@ -422,9 +431,9 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: Staking MaxNominatorsCount (r:0 w:1)
 	// Storage: Staking MinNominatorBond (r:0 w:1)
 	fn set_staking_configs_all_remove() -> Weight {
-		// Minimum execution time: 7_257 nanoseconds.
-		Weight::from_ref_time(7_425_000 as u64)
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 7_335 nanoseconds.
+		Weight::from_ref_time(7_594_000)
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking Ledger (r:1 w:0)
 	// Storage: Staking Nominators (r:1 w:1)
@@ -437,17 +446,23 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
 	// Storage: VoterList ListBags (r:1 w:1)
 	// Storage: VoterList CounterForListNodes (r:1 w:1)
 	fn chill_other() -> Weight {
-		// Minimum execution time: 69_220 nanoseconds.
-		Weight::from_ref_time(70_070_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(11 as u64))
-			.saturating_add(T::DbWeight::get().writes(6 as u64))
+		// Minimum execution time: 69_559 nanoseconds.
+		Weight::from_ref_time(70_363_000)
+			.saturating_add(T::DbWeight::get().reads(11))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
 	// Storage: Staking MinCommission (r:1 w:0)
 	// Storage: Staking Validators (r:1 w:1)
 	fn force_apply_min_commission() -> Weight {
-		// Minimum execution time: 16_197 nanoseconds.
-		Weight::from_ref_time(16_518_000 as u64)
-			.saturating_add(T::DbWeight::get().reads(2 as u64))
-			.saturating_add(T::DbWeight::get().writes(1 as u64))
+		// Minimum execution time: 15_447 nanoseconds.
+		Weight::from_ref_time(15_760_000)
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+	// Storage: Staking MinCommission (r:0 w:1)
+	fn set_min_commission() -> Weight {
+		// Minimum execution time: 4_793 nanoseconds.
+		Weight::from_ref_time(4_929_000)
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 }
-- 
GitLab