From a4b4264a5a18dd389c1cf9f18410fceba72a2ad8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bastian=20K=C3=B6cher?= <bkchr@users.noreply.github.com>
Date: Wed, 24 Feb 2021 20:15:52 +0100
Subject: [PATCH] Update to latest Substrate & Polkadot (#341)

---
 cumulus/Cargo.lock                            | 627 +++++++++++-------
 .../consensus/relay-chain/src/import_queue.rs |   2 +-
 cumulus/client/network/src/tests.rs           |  24 +-
 .../src/validate_block/implementation.rs      |  16 +-
 cumulus/rococo-parachains/src/service.rs      |   2 +-
 cumulus/test/service/src/lib.rs               |   2 +-
 6 files changed, 416 insertions(+), 257 deletions(-)

diff --git a/cumulus/Cargo.lock b/cumulus/Cargo.lock
index efa679d6094..1875e93825d 100644
--- a/cumulus/Cargo.lock
+++ b/cumulus/Cargo.lock
@@ -323,6 +323,19 @@ dependencies = [
  "pin-project-lite 0.2.4",
 ]
 
+[[package]]
+name = "asynchronous-codec"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690"
+dependencies = [
+ "bytes 1.0.1",
+ "futures-sink",
+ "futures-util",
+ "memchr",
+ "pin-project-lite 0.2.4",
+]
+
 [[package]]
 name = "atomic"
 version = "0.5.0"
@@ -420,7 +433,7 @@ dependencies = [
  "cfg-if 0.1.10",
  "clang-sys",
  "clap",
- "env_logger",
+ "env_logger 0.7.1",
  "lazy_static",
  "lazycell",
  "log",
@@ -1091,7 +1104,7 @@ dependencies = [
  "cumulus-primitives-core",
  "cumulus-test-client",
  "cumulus-test-runtime",
- "env_logger",
+ "env_logger 0.7.1",
  "futures 0.3.12",
  "parity-scale-codec",
  "parking_lot 0.9.0",
@@ -1222,7 +1235,7 @@ dependencies = [
  "cumulus-primitives-parachain-inherent",
  "cumulus-test-client",
  "cumulus-test-relay-sproof-builder",
- "env_logger",
+ "env_logger 0.7.1",
  "frame-executive",
  "frame-support",
  "frame-system",
@@ -1696,7 +1709,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
 dependencies = [
  "atty",
- "humantime",
+ "humantime 1.3.0",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
+dependencies = [
+ "atty",
+ "humantime 2.1.0",
  "log",
  "regex",
  "termcolor",
@@ -1860,7 +1886,7 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126"
 dependencies = [
- "env_logger",
+ "env_logger 0.7.1",
  "log",
 ]
 
@@ -1919,7 +1945,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1937,7 +1963,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1955,7 +1981,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "Inflector",
  "chrono",
@@ -1978,7 +2004,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1994,7 +2020,7 @@ dependencies = [
 [[package]]
 name = "frame-metadata"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -2005,7 +2031,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2031,7 +2057,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -2043,7 +2069,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -2055,7 +2081,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro2 1.0.24",
  "quote 1.0.8",
@@ -2065,7 +2091,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -2081,12 +2107,24 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
 ]
 
+[[package]]
+name = "frame-try-runtime"
+version = "0.9.0"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
+dependencies = [
+ "frame-support",
+ "parity-scale-codec",
+ "sp-api",
+ "sp-runtime",
+ "sp-std",
+]
+
 [[package]]
 name = "fs-swap"
 version = "0.2.5"
@@ -2643,6 +2681,12 @@ dependencies = [
  "quick-error 1.2.3",
 ]
 
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
 [[package]]
 name = "hyper"
 version = "0.12.35"
@@ -2760,9 +2804,9 @@ dependencies = [
 
 [[package]]
 name = "if-watch"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16d7c5e361e6b05c882b4847dd98992534cebc6fcde7f4bc98225bcf10fd6d0d"
+checksum = "97b8538953a3f0d0d3868f0a706eb4273535e10d72acb5c82c1c23ae48835c85"
 dependencies = [
  "async-io",
  "futures 0.3.12",
@@ -2919,6 +2963,7 @@ checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7"
 dependencies = [
  "failure",
  "futures 0.1.30",
+ "hyper 0.12.35",
  "jsonrpc-core",
  "jsonrpc-pubsub",
  "log",
@@ -3052,7 +3097,7 @@ dependencies = [
 [[package]]
 name = "kusama-runtime"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "frame-executive",
@@ -3067,6 +3112,7 @@ dependencies = [
  "pallet-bounties",
  "pallet-collective",
  "pallet-democracy",
+ "pallet-election-provider-multi-phase",
  "pallet-elections-phragmen",
  "pallet-grandpa",
  "pallet-identity",
@@ -3206,16 +3252,15 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
 
 [[package]]
 name = "libp2p"
-version = "0.34.0"
+version = "0.35.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5133112ce42be9482f6a87be92a605dd6bbc9e93c297aee77d172ff06908f3a"
+checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a"
 dependencies = [
  "atomic",
  "bytes 1.0.1",
  "futures 0.3.12",
  "lazy_static",
  "libp2p-core",
- "libp2p-core-derive",
  "libp2p-deflate",
  "libp2p-dns",
  "libp2p-floodsub",
@@ -3230,6 +3275,7 @@ dependencies = [
  "libp2p-pnet",
  "libp2p-request-response",
  "libp2p-swarm",
+ "libp2p-swarm-derive",
  "libp2p-tcp",
  "libp2p-uds",
  "libp2p-wasm-ext",
@@ -3244,9 +3290,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-core"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dad04d3cef6c1df366a6ab58c9cf8b06497699e335d83ac2174783946ff847d6"
+checksum = "8a2d56aadc2c2bf22cd7797f86e56a65b5b3994a0136b65be3106938acae7a26"
 dependencies = [
  "asn1_der",
  "bs58",
@@ -3271,26 +3317,16 @@ dependencies = [
  "sha2 0.9.2",
  "smallvec 1.6.1",
  "thiserror",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
  "void",
  "zeroize",
 ]
 
-[[package]]
-name = "libp2p-core-derive"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4bc40943156e42138d22ed3c57ff0e1a147237742715937622a99b10fbe0156"
-dependencies = [
- "quote 1.0.8",
- "syn 1.0.60",
-]
-
 [[package]]
 name = "libp2p-deflate"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "935893c0e5b6ca6ef60d5225aab9182f97c8c5671df2fa9dee8f4ed72a90e6eb"
+checksum = "6d42eed63305f0420736fa487f9acef720c4528bd7852a6a760f5ccde4813345"
 dependencies = [
  "flate2",
  "futures 0.3.12",
@@ -3328,11 +3364,11 @@ dependencies = [
 
 [[package]]
 name = "libp2p-gossipsub"
-version = "0.27.0"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12451ba9493e87c91baf2a6dffce9ddf1fbc807a0861532d7cf477954f8ebbee"
+checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1"
 dependencies = [
- "asynchronous-codec",
+ "asynchronous-codec 0.6.0",
  "base64 0.13.0",
  "byteorder",
  "bytes 1.0.1",
@@ -3348,7 +3384,7 @@ dependencies = [
  "regex",
  "sha2 0.9.2",
  "smallvec 1.6.1",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
  "wasm-timer",
 ]
 
@@ -3370,12 +3406,12 @@ dependencies = [
 
 [[package]]
 name = "libp2p-kad"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "456f5de8e283d7800ca848b9b9a4e2a578b790bd8ae582b885e831353cf0e5df"
+checksum = "cf3da6c9acbcc05f93235d201d7d45ef4e8b88a45d8836f98becd8b4d443f066"
 dependencies = [
  "arrayvec 0.5.2",
- "asynchronous-codec",
+ "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
  "either",
  "fnv",
@@ -3389,16 +3425,16 @@ dependencies = [
  "sha2 0.9.2",
  "smallvec 1.6.1",
  "uint",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
  "void",
  "wasm-timer",
 ]
 
 [[package]]
 name = "libp2p-mdns"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b974db63233fc0e199f4ede7794294aae285c96f4b6010f853eac4099ef08590"
+checksum = "0e9e6374814d1b118d97ccabdfc975c8910bd16dc38a8bc058eeb08bf2080fe1"
 dependencies = [
  "async-io",
  "data-encoding",
@@ -3417,11 +3453,11 @@ dependencies = [
 
 [[package]]
 name = "libp2p-mplex"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2705dc94b01ab9e3779b42a09bbf3712e637ed213e875c30face247291a85af0"
+checksum = "350ce8b3923594aedabd5d6e3f875d058435052a29c3f32df378bc70d10be464"
 dependencies = [
- "asynchronous-codec",
+ "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
  "futures 0.3.12",
  "libp2p-core",
@@ -3430,7 +3466,7 @@ dependencies = [
  "parking_lot 0.11.1",
  "rand 0.7.3",
  "smallvec 1.6.1",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
 ]
 
 [[package]]
@@ -3472,18 +3508,18 @@ dependencies = [
 
 [[package]]
 name = "libp2p-plaintext"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e8c1ec305c9949351925cdc7196b9570f4330477f5e47fbf5bb340b57e26ed"
+checksum = "9d58defcadb646ae4b033e130b48d87410bf76394dc3335496cae99dac803e61"
 dependencies = [
- "asynchronous-codec",
+ "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
  "futures 0.3.12",
  "libp2p-core",
  "log",
  "prost",
  "prost-build",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
  "void",
 ]
 
@@ -3503,9 +3539,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-request-response"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d37637a4b33b5390322ccc068a33897d0aa541daf4fec99f6a7efbf37295346e"
+checksum = "10e5552827c33d8326502682da73a0ba4bfa40c1b55b216af3c303f32169dd89"
 dependencies = [
  "async-trait",
  "bytes 1.0.1",
@@ -3517,7 +3553,7 @@ dependencies = [
  "minicbor",
  "rand 0.7.3",
  "smallvec 1.6.1",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
  "wasm-timer",
 ]
 
@@ -3537,11 +3573,21 @@ dependencies = [
  "wasm-timer",
 ]
 
+[[package]]
+name = "libp2p-swarm-derive"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c564ebaa36a64839f51eaddb0243aaaa29ce64affb56129193cc3248b72af273"
+dependencies = [
+ "quote 1.0.8",
+ "syn 1.0.60",
+]
+
 [[package]]
 name = "libp2p-tcp"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dbd3d7076a478ac5a6aca55e74bdc250ac539b95de09b9d09915e0b8d01a6b2"
+checksum = "88a5aef80e519a6cb8e2663605142f97baaaea1a252eecbf8756184765f7471b"
 dependencies = [
  "async-io",
  "futures 0.3.12",
@@ -3600,9 +3646,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-yamux"
-version = "0.30.0"
+version = "0.30.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "490b8b27fc40fe35212df1b6a3d14bffaa4117cbff956fdc2892168a371102ad"
+checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a"
 dependencies = [
  "futures 0.3.12",
  "libp2p-core",
@@ -3727,9 +3773,9 @@ dependencies = [
 
 [[package]]
 name = "lru"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3aae342b73d57ad0b8b364bd12584819f2c1fe9114285dfcf8b0722607671635"
+checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba"
 dependencies = [
  "hashbrown",
 ]
@@ -3853,7 +3899,7 @@ dependencies = [
 [[package]]
 name = "metered-channel"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -4254,7 +4300,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4270,7 +4316,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4285,7 +4331,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4309,7 +4355,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4323,7 +4369,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4337,7 +4383,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4352,7 +4398,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4364,10 +4410,28 @@ dependencies = [
  "sp-std",
 ]
 
+[[package]]
+name = "pallet-election-provider-multi-phase"
+version = "3.0.0"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "serde",
+ "sp-arithmetic",
+ "sp-election-providers",
+ "sp-io",
+ "sp-npos-elections",
+ "sp-runtime",
+ "sp-std",
+ "static_assertions",
+]
+
 [[package]]
 name = "pallet-elections-phragmen"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4381,7 +4445,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4402,7 +4466,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4418,7 +4482,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4436,7 +4500,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4452,7 +4516,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4466,7 +4530,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4481,7 +4545,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4495,7 +4559,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4510,7 +4574,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4525,7 +4589,7 @@ dependencies = [
 [[package]]
 name = "pallet-randomness-collective-flip"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4538,7 +4602,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -4553,7 +4617,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4568,7 +4632,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4588,7 +4652,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4602,7 +4666,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4611,6 +4675,7 @@ dependencies = [
  "parity-scale-codec",
  "serde",
  "sp-application-crypto",
+ "sp-election-providers",
  "sp-io",
  "sp-npos-elections",
  "sp-runtime",
@@ -4622,7 +4687,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.24",
@@ -4633,7 +4698,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4647,7 +4712,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4664,7 +4729,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4678,7 +4743,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4694,7 +4759,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -4711,7 +4776,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -4722,7 +4787,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4737,7 +4802,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4752,7 +4817,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -4792,9 +4857,9 @@ dependencies = [
 
 [[package]]
 name = "parity-multiaddr"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bfda2e46fc5e14122649e2645645a81ee5844e0fb2e727ef560cc71a8b2d801"
+checksum = "d2c6805f98667a3828afb2ec2c396a8d610497e8d546f5447188aae47c5a79ec"
 dependencies = [
  "arrayref",
  "bs58",
@@ -4804,7 +4869,7 @@ dependencies = [
  "percent-encoding 2.1.0",
  "serde",
  "static_assertions",
- "unsigned-varint 0.6.0",
+ "unsigned-varint 0.7.0",
  "url 2.2.0",
 ]
 
@@ -5218,7 +5283,7 @@ checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325"
 [[package]]
 name = "polkadot-approval-distribution"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-node-network-protocol",
@@ -5233,7 +5298,7 @@ dependencies = [
 [[package]]
 name = "polkadot-availability-bitfield-distribution"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "parity-scale-codec",
@@ -5248,7 +5313,7 @@ dependencies = [
 [[package]]
 name = "polkadot-availability-distribution"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "parity-scale-codec",
@@ -5267,7 +5332,7 @@ dependencies = [
 [[package]]
 name = "polkadot-availability-recovery"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -5287,7 +5352,7 @@ dependencies = [
 [[package]]
 name = "polkadot-cli"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "frame-benchmarking-cli",
  "futures 0.3.12",
@@ -5302,12 +5367,13 @@ dependencies = [
  "substrate-build-script-utils",
  "thiserror",
  "tracing-futures",
+ "try-runtime-cli",
 ]
 
 [[package]]
 name = "polkadot-collator-protocol"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-node-network-protocol",
@@ -5323,7 +5389,7 @@ dependencies = [
 [[package]]
 name = "polkadot-core-primitives"
 version = "0.7.30"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "parity-scale-codec",
  "parity-util-mem",
@@ -5335,7 +5401,7 @@ dependencies = [
 [[package]]
 name = "polkadot-erasure-coding"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "parity-scale-codec",
  "polkadot-primitives",
@@ -5348,7 +5414,7 @@ dependencies = [
 [[package]]
 name = "polkadot-network-bridge"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "async-trait",
  "futures 0.3.12",
@@ -5366,7 +5432,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-collation-generation"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-erasure-coding",
@@ -5383,11 +5449,14 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-approval-voting"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
+ "derive_more 0.99.11",
  "futures 0.3.12",
  "futures-timer 3.0.2",
+ "kvdb",
+ "kvdb-rocksdb",
  "merlin",
  "parity-scale-codec",
  "polkadot-node-primitives",
@@ -5408,7 +5477,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-av-store"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "futures 0.3.12",
@@ -5430,7 +5499,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-backing"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "futures 0.3.12",
@@ -5449,7 +5518,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-bitfield-signing"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-node-subsystem",
@@ -5465,7 +5534,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-candidate-selection"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-node-primitives",
@@ -5481,7 +5550,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-candidate-validation"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "parity-scale-codec",
@@ -5498,7 +5567,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-chain-api"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-node-subsystem",
@@ -5512,7 +5581,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-proposer"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -5536,7 +5605,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-provisioner"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "futures 0.3.12",
@@ -5552,7 +5621,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-core-runtime-api"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "memory-lru",
@@ -5570,7 +5639,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-jaeger"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "async-std",
  "lazy_static",
@@ -5586,7 +5655,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-network-protocol"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "parity-scale-codec",
@@ -5602,7 +5671,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-primitives"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "parity-scale-codec",
@@ -5620,7 +5689,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "async-std",
  "async-trait",
@@ -5650,7 +5719,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem-test-helpers"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "async-trait",
  "futures 0.3.12",
@@ -5673,7 +5742,7 @@ dependencies = [
 [[package]]
 name = "polkadot-node-subsystem-util"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "async-trait",
  "futures 0.3.12",
@@ -5700,7 +5769,7 @@ dependencies = [
 [[package]]
 name = "polkadot-overseer"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "async-trait",
  "futures 0.3.12",
@@ -5718,7 +5787,7 @@ dependencies = [
 [[package]]
 name = "polkadot-parachain"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.12",
@@ -5745,7 +5814,7 @@ dependencies = [
 [[package]]
 name = "polkadot-pov-distribution"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "futures 0.3.12",
  "polkadot-node-network-protocol",
@@ -5760,7 +5829,7 @@ dependencies = [
 [[package]]
 name = "polkadot-primitives"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "frame-system",
@@ -5788,7 +5857,7 @@ dependencies = [
 [[package]]
 name = "polkadot-rpc"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "jsonrpc-core",
  "pallet-transaction-payment-rpc",
@@ -5818,7 +5887,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "frame-executive",
@@ -5833,6 +5902,7 @@ dependencies = [
  "pallet-bounties",
  "pallet-collective",
  "pallet-democracy",
+ "pallet-election-provider-multi-phase",
  "pallet-elections-phragmen",
  "pallet-grandpa",
  "pallet-identity",
@@ -5883,7 +5953,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-common"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "frame-support",
@@ -5919,7 +5989,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-parachains"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "derive_more 0.99.11",
@@ -5956,7 +6026,7 @@ dependencies = [
 [[package]]
 name = "polkadot-service"
 version = "0.8.3"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "frame-benchmarking",
  "frame-system-rpc-runtime-api",
@@ -6040,7 +6110,7 @@ dependencies = [
 [[package]]
 name = "polkadot-statement-distribution"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "arrayvec 0.5.2",
  "futures 0.3.12",
@@ -6058,7 +6128,7 @@ dependencies = [
 [[package]]
 name = "polkadot-statement-table"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "parity-scale-codec",
  "polkadot-primitives",
@@ -6068,7 +6138,7 @@ dependencies = [
 [[package]]
 name = "polkadot-test-client"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "parity-scale-codec",
  "polkadot-node-subsystem",
@@ -6093,7 +6163,7 @@ dependencies = [
 [[package]]
 name = "polkadot-test-runtime"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "frame-executive",
@@ -6132,6 +6202,7 @@ dependencies = [
  "sp-block-builder",
  "sp-consensus-babe",
  "sp-core",
+ "sp-election-providers",
  "sp-inherents",
  "sp-io",
  "sp-offchain",
@@ -6147,7 +6218,7 @@ dependencies = [
 [[package]]
 name = "polkadot-test-service"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "frame-benchmarking",
  "frame-system",
@@ -6880,6 +6951,24 @@ dependencies = [
  "winapi 0.3.9",
 ]
 
+[[package]]
+name = "remote-externalities"
+version = "0.9.0"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
+dependencies = [
+ "bincode",
+ "env_logger 0.8.3",
+ "futures 0.1.30",
+ "hex-literal 0.3.1",
+ "jsonrpc-core-client",
+ "log",
+ "sc-rpc",
+ "sc-rpc-api",
+ "sp-core",
+ "sp-io",
+ "tokio 0.1.22",
+]
+
 [[package]]
 name = "remove_dir_all"
 version = "0.5.3"
@@ -7006,7 +7095,7 @@ dependencies = [
 [[package]]
 name = "rococo-runtime"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "frame-executive",
  "frame-support",
@@ -7190,7 +7279,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "async-trait",
  "derive_more 0.99.11",
@@ -7218,7 +7307,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -7241,7 +7330,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -7258,7 +7347,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -7279,7 +7368,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.24",
@@ -7290,7 +7379,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "chrono",
  "fdlimit",
@@ -7328,7 +7417,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "fnv",
@@ -7362,7 +7451,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -7392,7 +7481,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "sc-client-api",
  "sp-blockchain",
@@ -7403,7 +7492,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "fork-tree",
@@ -7449,7 +7538,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.12",
@@ -7473,7 +7562,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -7486,7 +7575,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -7512,7 +7601,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "sc-client-api",
@@ -7526,7 +7615,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "lazy_static",
@@ -7555,7 +7644,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "parity-scale-codec",
@@ -7571,7 +7660,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -7586,7 +7675,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -7604,7 +7693,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "dyn-clone",
@@ -7643,7 +7732,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "finality-grandpa",
@@ -7667,7 +7756,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-warp-sync"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.12",
@@ -7687,7 +7776,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.12",
@@ -7705,7 +7794,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "async-trait",
  "derive_more 0.99.11",
@@ -7725,7 +7814,7 @@ dependencies = [
 [[package]]
 name = "sc-light"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "hash-db",
  "lazy_static",
@@ -7744,11 +7833,11 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "async-std",
  "async-trait",
- "asynchronous-codec",
+ "asynchronous-codec 0.5.0",
  "bitflags",
  "bs58",
  "bytes 1.0.1",
@@ -7797,7 +7886,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -7813,7 +7902,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
@@ -7840,7 +7929,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "libp2p",
@@ -7853,7 +7942,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -7862,7 +7951,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "hash-db",
@@ -7896,7 +7985,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.12",
@@ -7920,7 +8009,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.1.30",
  "jsonrpc-core",
@@ -7938,7 +8027,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "directories",
  "exit-future 0.2.0",
@@ -8001,7 +8090,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -8016,7 +8105,7 @@ dependencies = [
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -8036,7 +8125,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "chrono",
  "futures 0.3.12",
@@ -8058,7 +8147,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -8086,7 +8175,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.24",
@@ -8097,7 +8186,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-graph"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.12",
@@ -8119,7 +8208,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "futures-diagnose",
@@ -8524,7 +8613,7 @@ dependencies = [
 [[package]]
 name = "sp-allocator"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "sp-core",
@@ -8536,7 +8625,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "hash-db",
  "parity-scale-codec",
@@ -8552,7 +8641,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate",
@@ -8564,7 +8653,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -8576,7 +8665,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -8589,7 +8678,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -8601,7 +8690,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-inherents",
@@ -8612,7 +8701,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -8624,7 +8713,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "log",
@@ -8642,7 +8731,7 @@ dependencies = [
 [[package]]
 name = "sp-chain-spec"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "serde",
  "serde_json",
@@ -8651,7 +8740,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "futures-timer 3.0.2",
@@ -8677,7 +8766,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-aura"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -8692,7 +8781,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "merlin",
  "parity-scale-codec",
@@ -8712,7 +8801,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-arithmetic",
@@ -8722,7 +8811,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -8734,7 +8823,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -8778,7 +8867,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "kvdb",
  "parking_lot 0.11.1",
@@ -8787,17 +8876,28 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro2 1.0.24",
  "quote 1.0.8",
  "syn 1.0.60",
 ]
 
+[[package]]
+name = "sp-election-providers"
+version = "3.0.0"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
+dependencies = [
+ "parity-scale-codec",
+ "sp-arithmetic",
+ "sp-npos-elections",
+ "sp-std",
+]
+
 [[package]]
 name = "sp-externalities"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -8808,7 +8908,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -8825,7 +8925,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "parking_lot 0.11.1",
@@ -8837,7 +8937,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "hash-db",
@@ -8861,7 +8961,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -8872,7 +8972,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "async-trait",
  "derive_more 0.99.11",
@@ -8889,7 +8989,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -8902,7 +9002,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections-compact"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.24",
@@ -8913,7 +9013,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -8923,7 +9023,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "backtrace",
 ]
@@ -8931,7 +9031,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "serde",
  "sp-core",
@@ -8940,7 +9040,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -8961,7 +9061,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -8978,7 +9078,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -8990,7 +9090,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "serde",
  "serde_json",
@@ -8999,7 +9099,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9012,7 +9112,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -9022,7 +9122,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "hash-db",
  "log",
@@ -9044,12 +9144,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 
 [[package]]
 name = "sp-storage"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -9062,7 +9162,7 @@ dependencies = [
 [[package]]
 name = "sp-tasks"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "sp-core",
@@ -9075,7 +9175,7 @@ dependencies = [
 [[package]]
 name = "sp-test-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "parity-scale-codec",
  "parity-util-mem",
@@ -9088,7 +9188,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -9102,7 +9202,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -9115,7 +9215,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.12",
@@ -9131,7 +9231,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -9145,7 +9245,7 @@ dependencies = [
 [[package]]
 name = "sp-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "futures-core",
@@ -9157,7 +9257,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -9169,7 +9269,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -9302,7 +9402,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "platforms",
 ]
@@ -9310,7 +9410,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.12",
@@ -9333,7 +9433,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "async-std",
  "derive_more 0.99.11",
@@ -9347,7 +9447,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.1.30",
  "futures 0.3.12",
@@ -9374,7 +9474,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-runtime"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "cfg-if 1.0.0",
  "frame-executive",
@@ -9416,7 +9516,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-runtime-client"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "parity-scale-codec",
@@ -9437,7 +9537,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "futures 0.3.12",
  "substrate-test-utils-derive",
@@ -9447,7 +9547,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "proc-macro-crate",
  "quote 1.0.8",
@@ -9473,7 +9573,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#ca63242fc848b9bff739c246e07310dd15ec25eb"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -10104,6 +10204,28 @@ version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
 
+[[package]]
+name = "try-runtime-cli"
+version = "0.9.0"
+source = "git+https://github.com/paritytech/substrate?branch=master#beff566b53ea1eeb4e54edc9416211141195004f"
+dependencies = [
+ "frame-try-runtime",
+ "log",
+ "parity-scale-codec",
+ "remote-externalities",
+ "sc-cli",
+ "sc-client-api",
+ "sc-executor",
+ "sc-service",
+ "sp-api",
+ "sp-blockchain",
+ "sp-core",
+ "sp-externalities",
+ "sp-runtime",
+ "sp-state-machine",
+ "structopt",
+]
+
 [[package]]
 name = "twox-hash"
 version = "1.6.0"
@@ -10212,7 +10334,19 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2"
 dependencies = [
- "asynchronous-codec",
+ "asynchronous-codec 0.5.0",
+ "bytes 1.0.1",
+ "futures-io",
+ "futures-util",
+]
+
+[[package]]
+name = "unsigned-varint"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f"
+dependencies = [
+ "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
  "futures-io",
  "futures-util",
@@ -10703,7 +10837,7 @@ dependencies = [
 [[package]]
 name = "westend-runtime"
 version = "0.8.28"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "bitvec",
  "frame-executive",
@@ -10717,6 +10851,7 @@ dependencies = [
  "pallet-balances",
  "pallet-collective",
  "pallet-democracy",
+ "pallet-election-provider-multi-phase",
  "pallet-elections-phragmen",
  "pallet-grandpa",
  "pallet-identity",
@@ -10859,7 +10994,7 @@ dependencies = [
 [[package]]
 name = "xcm"
 version = "0.8.22"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -10867,7 +11002,7 @@ dependencies = [
 [[package]]
 name = "xcm-builder"
 version = "0.8.22"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -10883,7 +11018,7 @@ dependencies = [
 [[package]]
 name = "xcm-executor"
 version = "0.8.22"
-source = "git+https://github.com/paritytech/polkadot?branch=master#ce03f371598eed31465391b30f8fbc22470982dd"
+source = "git+https://github.com/paritytech/polkadot?branch=master#680a8777022fd6f0200abfafa40202d4aae42420"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -10898,9 +11033,9 @@ dependencies = [
 
 [[package]]
 name = "yamux"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aeb8c4043cac71c3c299dff107171c220d179492350ea198e109a414981b83c"
+checksum = "1cc7bd8c983209ed5d527f44b01c41b7dc146fd960c61cf9e1d25399841dc271"
 dependencies = [
  "futures 0.3.12",
  "log",
diff --git a/cumulus/client/consensus/relay-chain/src/import_queue.rs b/cumulus/client/consensus/relay-chain/src/import_queue.rs
index eeb6a0a95a5..c35397bba4e 100644
--- a/cumulus/client/consensus/relay-chain/src/import_queue.rs
+++ b/cumulus/client/consensus/relay-chain/src/import_queue.rs
@@ -106,7 +106,7 @@ pub fn import_queue<Client, Block: BlockT, I>(
 	client: Arc<Client>,
 	block_import: I,
 	inherent_data_providers: InherentDataProviders,
-	spawner: &impl sp_core::traits::SpawnNamed,
+	spawner: &impl sp_core::traits::SpawnEssentialNamed,
 	registry: Option<&substrate_prometheus_endpoint::Registry>,
 ) -> ClientResult<BasicQueue<Block, I::Transaction>>
 where
diff --git a/cumulus/client/network/src/tests.rs b/cumulus/client/network/src/tests.rs
index 08e5f4d0661..4e8c14812d4 100644
--- a/cumulus/client/network/src/tests.rs
+++ b/cumulus/client/network/src/tests.rs
@@ -145,6 +145,8 @@ async fn make_gossip_message_and_header(
 		&alice_public.into(),
 	)
 	.await
+	.ok()
+	.flatten()
 	.expect("Signing statement");
 
 	(signed, header)
@@ -203,7 +205,9 @@ fn check_signer_is_legit_validator() {
 	let (mut validator, api) = make_validator_and_api();
 
 	let (signed_statement, header) = block_on(make_gossip_message_and_header_using_genesis(api, 1));
-	let data = BlockAnnounceData::try_from(signed_statement).unwrap().encode();
+	let data = BlockAnnounceData::try_from(signed_statement)
+		.unwrap()
+		.encode();
 
 	let res = block_on(validator.validate(&header, &data));
 	assert_eq!(Validation::Failure { disconnect: true }, res.unwrap());
@@ -215,7 +219,9 @@ fn check_statement_is_correctly_signed() {
 
 	let (signed_statement, header) = block_on(make_gossip_message_and_header_using_genesis(api, 0));
 
-	let mut data = BlockAnnounceData::try_from(signed_statement).unwrap().encode();
+	let mut data = BlockAnnounceData::try_from(signed_statement)
+		.unwrap()
+		.encode();
 
 	// The signature comes at the end of the type, so change a bit to make the signature invalid.
 	let last = data.len() - 1;
@@ -256,11 +262,15 @@ fn check_statement_seconded() {
 		0,
 		&alice_public.into(),
 	))
+	.ok()
+	.flatten()
 	.expect("Signs statement");
+
 	let data = BlockAnnounceData {
 		receipt: Default::default(),
 		statement: signed_statement.convert_payload(),
-	}.encode();
+	}
+	.encode();
 
 	let res = block_on(validator.validate(&header, &data));
 	assert_eq!(Validation::Failure { disconnect: true }, res.unwrap());
@@ -272,7 +282,9 @@ fn check_header_match_candidate_receipt_header() {
 
 	let (signed_statement, mut header) =
 		block_on(make_gossip_message_and_header_using_genesis(api, 0));
-	let data = BlockAnnounceData::try_from(signed_statement).unwrap().encode();
+	let data = BlockAnnounceData::try_from(signed_statement)
+		.unwrap()
+		.encode();
 	header.number = 300;
 
 	let res = block_on(validator.validate(&header, &data));
@@ -297,7 +309,9 @@ fn relay_parent_not_imported_when_block_announce_is_processed() {
 
 		let (signed_statement, header) = make_gossip_message_and_header(api, block.hash(), 0).await;
 
-		let data = BlockAnnounceData::try_from(signed_statement).unwrap().encode();
+		let data = BlockAnnounceData::try_from(signed_statement)
+			.unwrap()
+			.encode();
 
 		let mut validation = validator.validate(&header, &data);
 
diff --git a/cumulus/pallets/parachain-system/src/validate_block/implementation.rs b/cumulus/pallets/parachain-system/src/validate_block/implementation.rs
index 5eb5553da49..dcb47efe82b 100644
--- a/cumulus/pallets/parachain-system/src/validate_block/implementation.rs
+++ b/cumulus/pallets/parachain-system/src/validate_block/implementation.rs
@@ -20,6 +20,7 @@ use frame_executive::ExecuteBlock;
 use sp_runtime::traits::{Block as BlockT, HashFor, Header as HeaderT, NumberFor};
 
 use sp_std::{boxed::Box, vec::Vec};
+use sp_io::KillChildStorageResult;
 
 use hash_db::{HashDB, EMPTY_PREFIX};
 
@@ -277,7 +278,7 @@ impl<'a, B: BlockT> Externalities for WitnessExt<'a, B> {
 		self.inner.place_child_storage(child_info, key, value)
 	}
 
-	fn kill_child_storage(&mut self, child_info: &ChildInfo, limit: Option<u32>) -> bool {
+	fn kill_child_storage(&mut self, child_info: &ChildInfo, limit: Option<u32>) -> (bool, u32) {
 		self.inner.kill_child_storage(child_info, limit)
 	}
 
@@ -460,9 +461,18 @@ fn host_default_child_storage_clear(storage_key: &[u8], key: &[u8]) {
 	with_externalities(|ext| ext.place_child_storage(&child_info, key.to_vec(), None))
 }
 
-fn host_default_child_storage_storage_kill(storage_key: &[u8], limit: Option<u32>) -> bool {
+fn host_default_child_storage_storage_kill(
+	storage_key: &[u8],
+	limit: Option<u32>,
+) -> KillChildStorageResult {
 	let child_info = ChildInfo::new_default(storage_key);
-	with_externalities(|ext| ext.kill_child_storage(&child_info, limit))
+	with_externalities(|ext| {
+		let (all_removed, num_removed) = ext.kill_child_storage(&child_info, limit);
+		match all_removed {
+			true => KillChildStorageResult::AllRemoved(num_removed),
+			false => KillChildStorageResult::SomeRemaining(num_removed),
+		}
+	})
 }
 
 fn host_default_child_storage_exists(storage_key: &[u8], key: &[u8]) -> bool {
diff --git a/cumulus/rococo-parachains/src/service.rs b/cumulus/rococo-parachains/src/service.rs
index b0d350b435c..5df044eaaf3 100644
--- a/cumulus/rococo-parachains/src/service.rs
+++ b/cumulus/rococo-parachains/src/service.rs
@@ -78,7 +78,7 @@ pub fn new_partial(
 		client.clone(),
 		client.clone(),
 		inherent_data_providers.clone(),
-		&task_manager.spawn_handle(),
+		&task_manager.spawn_essential_handle(),
 		registry.clone(),
 	)?;
 
diff --git a/cumulus/test/service/src/lib.rs b/cumulus/test/service/src/lib.rs
index 464ceb2c351..7f0eb99255e 100644
--- a/cumulus/test/service/src/lib.rs
+++ b/cumulus/test/service/src/lib.rs
@@ -97,7 +97,7 @@ pub fn new_partial(
 		client.clone(),
 		client.clone(),
 		inherent_data_providers.clone(),
-		&task_manager.spawn_handle(),
+		&task_manager.spawn_essential_handle(),
 		registry.clone(),
 	)?;
 
-- 
GitLab