From fd138d4adb9058b1c5c3fffc55b9e55b3d286970 Mon Sep 17 00:00:00 2001
From: Cecile Tonglet <cecile@parity.io>
Date: Wed, 21 Oct 2020 17:32:06 +0200
Subject: [PATCH] Companion PR for substrate #7328 (#1825)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* Update node/service/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* WIP

* "Update Substrate"

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: parity-processbot <>
---
 polkadot/Cargo.lock                         | 514 +++++++++++++-------
 polkadot/node/core/proposer/src/lib.rs      |   3 +
 polkadot/node/service/src/lib.rs            |   1 +
 polkadot/node/test-service/Cargo.toml       |   1 +
 polkadot/node/test-service/src/lib.rs       |   4 +-
 polkadot/validation/src/block_production.rs |   3 +
 6 files changed, 348 insertions(+), 178 deletions(-)

diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 1e0ce934e89..83add4090c7 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -215,9 +215,9 @@ checksum = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5"
 
 [[package]]
 name = "async-channel"
-version = "1.1.1"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee81ba99bee79f3c8ae114ae4baa7eaa326f63447cf2ec65e4393618b63f8770"
+checksum = "59740d83946db6a5af71ae25ddf9562c2b176b2ca42cf99a455f09f4a220d6b9"
 dependencies = [
  "concurrent-queue",
  "event-listener",
@@ -230,14 +230,41 @@ version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "90f47c78ea98277cb1f5e6f60ba4fc762f5eafe9f6511bc2f7dfd8b75c225650"
 dependencies = [
- "async-io",
- "futures-lite",
+ "async-io 0.1.5",
+ "futures-lite 0.1.10",
  "multitask",
- "parking",
+ "parking 1.0.5",
  "scoped-tls",
  "waker-fn",
 ]
 
+[[package]]
+name = "async-executor"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d373d78ded7d0b3fa8039375718cde0aace493f2e34fb60f51cbf567562ca801"
+dependencies = [
+ "async-task 4.0.3",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite 1.11.2",
+ "once_cell 1.4.1",
+ "vec-arena 1.0.0",
+]
+
+[[package]]
+name = "async-global-executor"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "124ac8c265e407641c3362b8f4d39cdb4e243885b71eef087be27199790f5a3a"
+dependencies = [
+ "async-executor 1.3.0",
+ "async-io 1.1.0",
+ "futures-lite 1.11.2",
+ "num_cpus",
+ "once_cell 1.4.1",
+]
+
 [[package]]
 name = "async-io"
 version = "0.1.5"
@@ -246,37 +273,71 @@ checksum = "ca8126ef9fb99355c6fd27575d691be4887b884137a5b6f48c2d961f13590c51"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
- "futures-lite",
+ "futures-lite 0.1.10",
  "libc",
- "once_cell 1.4.0",
- "parking",
+ "once_cell 1.4.1",
+ "parking 1.0.5",
  "socket2",
- "vec-arena",
+ "vec-arena 0.5.0",
+ "wepoll-sys-stjepang",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "async-io"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38628c78a34f111c5a6b98fc87dfc056cd1590b61afe748b145be4623c56d194"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite 1.11.2",
+ "libc",
+ "log 0.4.11",
+ "once_cell 1.4.1",
+ "parking 2.0.0",
+ "polling",
+ "socket2",
+ "vec-arena 1.0.0",
+ "waker-fn",
  "wepoll-sys-stjepang",
  "winapi 0.3.9",
 ]
 
+[[package]]
+name = "async-mutex"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
+dependencies = [
+ "event-listener",
+]
+
 [[package]]
 name = "async-std"
-version = "1.6.2"
+version = "1.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00d68a33ebc8b57800847d00787307f84a562224a14db069b0acefe4c2abbf5d"
+checksum = "a9fa76751505e8df1c7a77762f60486f60c71bbd9b8557f4da6ad47d083732ed"
 dependencies = [
- "async-task",
+ "async-global-executor",
+ "async-io 1.1.0",
+ "async-mutex",
+ "blocking 1.0.2",
  "crossbeam-utils",
  "futures-channel",
  "futures-core",
  "futures-io",
- "futures-timer 3.0.2",
+ "futures-lite 1.11.2",
+ "gloo-timers",
  "kv-log-macro",
  "log 0.4.11",
  "memchr",
  "num_cpus",
- "once_cell 1.4.0",
+ "once_cell 1.4.1",
  "pin-project-lite",
  "pin-utils",
  "slab",
- "smol 0.1.18",
  "wasm-bindgen-futures",
 ]
 
@@ -286,6 +347,12 @@ version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c17772156ef2829aadc587461c7753af20b7e8db1529bc66855add962a3b35d3"
 
+[[package]]
+name = "async-task"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"
+
 [[package]]
 name = "async-tls"
 version = "0.8.0"
@@ -539,9 +606,9 @@ checksum = "d2468ff7bf85066b4a3678fede6fe66db31846d753ff0adfbfab2c6a6e81612b"
 dependencies = [
  "async-channel",
  "atomic-waker",
- "futures-lite",
- "once_cell 1.4.0",
- "parking",
+ "futures-lite 0.1.10",
+ "once_cell 1.4.1",
+ "parking 1.0.5",
  "waker-fn",
 ]
 
@@ -553,11 +620,25 @@ checksum = "76e94bf99b692f54c9d05f97454d3faf11134523fe5b180564a3fb6ed63bcc0a"
 dependencies = [
  "async-channel",
  "atomic-waker",
- "futures-lite",
- "once_cell 1.4.0",
+ "futures-lite 0.1.10",
+ "once_cell 1.4.1",
  "waker-fn",
 ]
 
+[[package]]
+name = "blocking"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9"
+dependencies = [
+ "async-channel",
+ "async-task 4.0.3",
+ "atomic-waker",
+ "fastrand",
+ "futures-lite 1.11.2",
+ "once_cell 1.4.1",
+]
+
 [[package]]
 name = "bs58"
 version = "0.3.1"
@@ -738,9 +819,9 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "1.1.1"
+version = "1.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83c06aff61f2d899eb87c379df3cbf7876f14471dcab474e0b6dc90ab96c080"
+checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
 dependencies = [
  "cache-padded",
 ]
@@ -1287,9 +1368,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "2.2.0"
+version = "2.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "699d84875f1b72b4da017e6b0f77dfa88c0137f089958a88974d15938cbc2976"
+checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
 
 [[package]]
 name = "exit-future"
@@ -1336,9 +1417,12 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
 
 [[package]]
 name = "fastrand"
-version = "1.3.3"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36a9cb09840f81cd211e435d00a4e487edd263dc3c8ff815c32dd76ad668ebed"
+checksum = "ca5faf057445ce5c9d4329e382b2ce7ca38550ef3b73a5348362d5f24e0c7fe3"
+dependencies = [
+ "instant",
+]
 
 [[package]]
 name = "fdlimit"
@@ -1429,7 +1513,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1437,7 +1521,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1455,7 +1539,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "chrono",
  "frame-benchmarking",
@@ -1475,7 +1559,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1491,7 +1575,7 @@ dependencies = [
 [[package]]
 name = "frame-metadata"
 version = "12.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -1502,14 +1586,14 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "bitmask",
  "frame-metadata",
  "frame-support-procedural",
  "impl-trait-for-tuples",
  "log 0.4.11",
- "once_cell 1.4.0",
+ "once_cell 1.4.1",
  "parity-scale-codec",
  "paste",
  "serde",
@@ -1527,7 +1611,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support-procedural-tools",
  "proc-macro2 1.0.18",
@@ -1538,7 +1622,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -1550,7 +1634,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "proc-macro2 1.0.18",
  "quote 1.0.7",
@@ -1560,7 +1644,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -1576,7 +1660,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -1590,7 +1674,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -1742,7 +1826,22 @@ dependencies = [
  "futures-core",
  "futures-io",
  "memchr",
- "parking",
+ "parking 1.0.5",
+ "pin-project-lite",
+ "waker-fn",
+]
+
+[[package]]
+name = "futures-lite"
+version = "1.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e6c079abfac3ab269e2927ec048dabc89d009ebfdda6b8ee86624f30c689658"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking 2.0.0",
  "pin-project-lite",
  "waker-fn",
 ]
@@ -1771,7 +1870,7 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
 dependencies = [
- "once_cell 1.4.0",
+ "once_cell 1.4.1",
 ]
 
 [[package]]
@@ -2705,9 +2804,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a"
 
 [[package]]
 name = "libc"
-version = "0.2.72"
+version = "0.2.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9f8082297d534141b30c8d39e9b1773713ab50fdbe4ff30f750d063b3bfd701"
+checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"
 
 [[package]]
 name = "libloading"
@@ -3529,7 +3628,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c09c35271e7dcdb5f709779111f2c8e8ab8e06c1b587c1c6a9e179d865aaa5b4"
 dependencies = [
- "async-task",
+ "async-task 3.0.0",
  "concurrent-queue",
  "fastrand",
 ]
@@ -3720,11 +3819,11 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
+checksum = "260e51e7efe62b592207e9e13a68e43692a7a279171d6ba57abd208bf23645ad"
 dependencies = [
- "parking_lot 0.10.2",
+ "parking_lot 0.11.0",
 ]
 
 [[package]]
@@ -3757,7 +3856,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3773,7 +3872,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3788,7 +3887,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3813,7 +3912,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3827,7 +3926,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3843,7 +3942,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3858,7 +3957,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3873,7 +3972,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3894,7 +3993,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -3910,7 +4009,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3930,7 +4029,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3947,7 +4046,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3961,7 +4060,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3977,7 +4076,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3991,7 +4090,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4006,7 +4105,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4027,7 +4126,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4043,7 +4142,7 @@ dependencies = [
 [[package]]
 name = "pallet-randomness-collective-flip"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4056,7 +4155,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -4071,7 +4170,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4086,7 +4185,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4106,7 +4205,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4122,7 +4221,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4136,7 +4235,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4158,7 +4257,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.18",
@@ -4169,7 +4268,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4183,7 +4282,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4201,7 +4300,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4218,7 +4317,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -4236,7 +4335,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -4249,7 +4348,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4264,7 +4363,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4280,7 +4379,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4432,6 +4531,12 @@ version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "50d4a6da31f8144a32532fe38fe8fb439a6842e0ec633f0037f0144c14e7f907"
 
+[[package]]
+name = "parking"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
+
 [[package]]
 name = "parking_lot"
 version = "0.7.1"
@@ -5578,6 +5683,7 @@ dependencies = [
  "rand 0.7.3",
  "sc-authority-discovery",
  "sc-chain-spec",
+ "sc-cli",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-babe",
@@ -5632,6 +5738,19 @@ dependencies = [
  "substrate-prometheus-endpoint",
 ]
 
+[[package]]
+name = "polling"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0720e0b9ea9d52451cf29d3413ba8a9303f8815d9d9653ef70e03ff73e65566"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "log 0.4.11",
+ "wepoll-sys-stjepang",
+ "winapi 0.3.9",
+]
+
 [[package]]
 name = "poly1305"
 version = "0.6.0"
@@ -6252,7 +6371,7 @@ checksum = "952cd6b98c85bbc30efa1ba5783b8abf12fec8b3287ffa52605b9432313e34e4"
 dependencies = [
  "cc",
  "libc",
- "once_cell 1.4.0",
+ "once_cell 1.4.1",
  "spin",
  "untrusted",
  "web-sys",
@@ -6445,7 +6564,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "bytes 0.5.6",
  "derive_more 0.99.11",
@@ -6474,7 +6593,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -6498,7 +6617,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -6515,7 +6634,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -6536,7 +6655,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.18",
@@ -6547,7 +6666,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
@@ -6567,6 +6686,7 @@ dependencies = [
  "rand 0.7.3",
  "regex",
  "rpassword",
+ "sc-cli-proc-macro",
  "sc-client-api",
  "sc-consensus-babe",
  "sc-consensus-epochs",
@@ -6597,10 +6717,21 @@ dependencies = [
  "tracing-subscriber",
 ]
 
+[[package]]
+name = "sc-cli-proc-macro"
+version = "2.0.0"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2 1.0.18",
+ "quote 1.0.7",
+ "syn 1.0.33",
+]
+
 [[package]]
 name = "sc-client-api"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "fnv",
@@ -6637,7 +6768,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -6667,7 +6798,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "sc-client-api",
  "sp-blockchain",
@@ -6678,7 +6809,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "fork-tree",
@@ -6723,7 +6854,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.5",
@@ -6747,7 +6878,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -6760,7 +6891,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -6783,7 +6914,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "log 0.4.11",
  "sc-client-api",
@@ -6797,7 +6928,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "lazy_static",
@@ -6816,6 +6947,7 @@ dependencies = [
  "sp-panic-handler",
  "sp-runtime-interface",
  "sp-serializer",
+ "sp-tasks",
  "sp-trie",
  "sp-version",
  "sp-wasm-interface",
@@ -6825,7 +6957,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "log 0.4.11",
@@ -6842,7 +6974,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "log 0.4.11",
  "parity-scale-codec",
@@ -6857,7 +6989,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "log 0.4.11",
  "parity-scale-codec",
@@ -6875,7 +7007,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "finality-grandpa",
@@ -6912,7 +7044,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "finality-grandpa",
@@ -6936,7 +7068,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.5",
@@ -6954,7 +7086,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "async-trait",
  "derive_more 0.99.11",
@@ -6974,7 +7106,7 @@ dependencies = [
 [[package]]
 name = "sc-light"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "hash-db",
  "lazy_static",
@@ -6993,7 +7125,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "async-std",
  "async-trait",
@@ -7047,7 +7179,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -7062,7 +7194,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
@@ -7089,7 +7221,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "libp2p",
@@ -7102,7 +7234,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "log 0.4.11",
  "substrate-prometheus-endpoint",
@@ -7111,7 +7243,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "hash-db",
@@ -7144,7 +7276,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.5",
@@ -7168,7 +7300,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.1.29",
  "jsonrpc-core",
@@ -7186,7 +7318,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "directories",
@@ -7243,13 +7375,14 @@ dependencies = [
  "substrate-prometheus-endpoint",
  "tempfile",
  "tracing",
+ "tracing-futures",
  "wasm-timer",
 ]
 
 [[package]]
 name = "sc-state-db"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "log 0.4.11",
  "parity-scale-codec",
@@ -7263,7 +7396,7 @@ dependencies = [
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -7282,7 +7415,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "futures-timer 3.0.2",
@@ -7303,7 +7436,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "erased-serde",
  "log 0.4.11",
@@ -7322,7 +7455,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-graph"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.5",
@@ -7343,7 +7476,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.5",
@@ -7720,14 +7853,14 @@ version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "620cbb3c6e34da57d3a248cda0cd01cd5848164dc062e764e65d06fe3ea7aed5"
 dependencies = [
- "async-task",
+ "async-task 3.0.0",
  "blocking 0.4.7",
  "concurrent-queue",
  "fastrand",
  "futures-io",
  "futures-util",
  "libc",
- "once_cell 1.4.0",
+ "once_cell 1.4.1",
  "scoped-tls",
  "slab",
  "socket2",
@@ -7742,12 +7875,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "67583f4ccc13bbb105a0752058d8ad66c47753d85445952809bcaca891954f83"
 dependencies = [
  "async-channel",
- "async-executor",
- "async-io",
+ "async-executor 0.1.2",
+ "async-io 0.1.5",
  "blocking 0.5.0",
  "cfg-if",
  "easy-parallel",
- "futures-lite",
+ "futures-lite 0.1.10",
  "num_cpus",
 ]
 
@@ -7810,7 +7943,7 @@ dependencies = [
 [[package]]
 name = "sp-allocator"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "log 0.4.11",
@@ -7822,7 +7955,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "hash-db",
  "parity-scale-codec",
@@ -7837,7 +7970,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate",
@@ -7849,7 +7982,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -7861,7 +7994,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "integer-sqrt",
  "num-traits 0.2.12",
@@ -7874,7 +8007,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -7886,7 +8019,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-inherents",
@@ -7897,7 +8030,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -7909,7 +8042,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "log 0.4.11",
@@ -7926,7 +8059,7 @@ dependencies = [
 [[package]]
 name = "sp-chain-spec"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "serde",
  "serde_json",
@@ -7935,7 +8068,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.5",
@@ -7961,7 +8094,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "merlin",
  "parity-scale-codec",
@@ -7981,7 +8114,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -7990,7 +8123,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -8002,7 +8135,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -8045,7 +8178,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "kvdb",
  "parking_lot 0.10.2",
@@ -8054,7 +8187,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "proc-macro2 1.0.18",
  "quote 1.0.7",
@@ -8064,7 +8197,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -8075,7 +8208,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "finality-grandpa",
  "log 0.4.11",
@@ -8092,7 +8225,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "parity-scale-codec",
@@ -8104,7 +8237,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "hash-db",
@@ -8128,7 +8261,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -8139,7 +8272,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "async-trait",
  "derive_more 0.99.11",
@@ -8155,7 +8288,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -8167,7 +8300,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections-compact"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.18",
@@ -8178,7 +8311,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -8188,7 +8321,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "backtrace",
  "log 0.4.11",
@@ -8197,7 +8330,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "serde",
  "sp-core",
@@ -8206,7 +8339,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -8228,7 +8361,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "primitive-types",
@@ -8244,7 +8377,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -8256,7 +8389,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "serde",
  "serde_json",
@@ -8265,7 +8398,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -8278,7 +8411,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -8288,7 +8421,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "hash-db",
  "log 0.4.11",
@@ -8309,12 +8442,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 
 [[package]]
 name = "sp-storage"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -8324,10 +8457,23 @@ dependencies = [
  "sp-std",
 ]
 
+[[package]]
+name = "sp-tasks"
+version = "2.0.0"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
+dependencies = [
+ "log 0.4.11",
+ "sp-core",
+ "sp-externalities",
+ "sp-io",
+ "sp-runtime-interface",
+ "sp-std",
+]
+
 [[package]]
 name = "sp-timestamp"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -8341,7 +8487,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "log 0.4.11",
  "parity-scale-codec",
@@ -8354,7 +8500,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "derive_more 0.99.11",
  "futures 0.3.5",
@@ -8369,7 +8515,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -8383,7 +8529,7 @@ dependencies = [
 [[package]]
 name = "sp-utils"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "futures-core",
@@ -8395,7 +8541,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -8407,7 +8553,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -8548,7 +8694,7 @@ dependencies = [
 [[package]]
 name = "substrate-browser-utils"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "chrono",
  "console_error_panic_hook",
@@ -8574,7 +8720,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "platforms",
 ]
@@ -8582,7 +8728,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.5",
@@ -8605,7 +8751,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "async-std",
  "derive_more 0.99.11",
@@ -8619,7 +8765,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.1.29",
  "futures 0.3.5",
@@ -8646,7 +8792,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "futures 0.3.5",
  "substrate-test-utils-derive",
@@ -8656,7 +8802,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/substrate#c2469ebdfbb9d051f892c7b896e835d78d60838d"
+source = "git+https://github.com/paritytech/substrate#a4673586a469a1a2c6e17ab9dea048a1307cb9cf"
 dependencies = [
  "proc-macro-crate",
  "quote 1.0.7",
@@ -8869,7 +9015,7 @@ checksum = "b0165e045cc2ae1660270ca65e1676dbaab60feb0f91b10f7d0665e9b47e31f2"
 dependencies = [
  "failure",
  "hmac",
- "once_cell 1.4.0",
+ "once_cell 1.4.1",
  "pbkdf2",
  "rand 0.7.3",
  "rustc-hash",
@@ -9245,6 +9391,16 @@ dependencies = [
  "lazy_static",
 ]
 
+[[package]]
+name = "tracing-futures"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
 [[package]]
 name = "tracing-log"
 version = "0.1.1"
@@ -9478,6 +9634,12 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "17dfb54bf57c9043f4616cb03dab30eff012cc26631b797d8354b916708db919"
 
+[[package]]
+name = "vec-arena"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eafc1b9b2dfc6f5529177b62cf806484db55b32dc7c9658a118e11bbeb33061d"
+
 [[package]]
 name = "vec_map"
 version = "0.8.2"
diff --git a/polkadot/node/core/proposer/src/lib.rs b/polkadot/node/core/proposer/src/lib.rs
index 8fd432a1be9..ed1a5223098 100644
--- a/polkadot/node/core/proposer/src/lib.rs
+++ b/polkadot/node/core/proposer/src/lib.rs
@@ -6,6 +6,7 @@ use polkadot_primitives::v1::{
 	Block, Hash, Header,
 };
 use sc_block_builder::{BlockBuilderApi, BlockBuilderProvider};
+use sp_core::traits::SpawnNamed;
 use sp_api::{ApiExt, ProvideRuntimeApi};
 use sp_blockchain::HeaderBackend;
 use sp_consensus::{Proposal, RecordProof};
@@ -25,12 +26,14 @@ pub struct ProposerFactory<TxPool, Backend, Client> {
 
 impl<TxPool, Backend, Client> ProposerFactory<TxPool, Backend, Client> {
 	pub fn new(
+		spawn_handle: impl SpawnNamed + 'static,
 		client: Arc<Client>,
 		transaction_pool: Arc<TxPool>,
 		overseer: OverseerHandler,
 	) -> Self {
 		ProposerFactory {
 			inner: sc_basic_authorship::ProposerFactory::new(
+				spawn_handle,
 				client,
 				transaction_pool,
 				None,
diff --git a/polkadot/node/service/src/lib.rs b/polkadot/node/service/src/lib.rs
index 6f445db19db..07cb10b92c1 100644
--- a/polkadot/node/service/src/lib.rs
+++ b/polkadot/node/service/src/lib.rs
@@ -446,6 +446,7 @@ pub fn new_full<RuntimeApi, Executor>(
 			consensus_common::CanAuthorWithNativeVersion::new(client.executor().clone());
 
 		let proposer = ProposerFactory::new(
+			task_manager.spawn_handle(),
 			client.clone(),
 			transaction_pool,
 			overseer_handler.clone(),
diff --git a/polkadot/node/test-service/Cargo.toml b/polkadot/node/test-service/Cargo.toml
index bc00a1933dd..4b1a0a922ee 100644
--- a/polkadot/node/test-service/Cargo.toml
+++ b/polkadot/node/test-service/Cargo.toml
@@ -34,6 +34,7 @@ inherents = { package = "sp-inherents", git = "https://github.com/paritytech/sub
 pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master" }
 pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "master" }
 sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master" }
 sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
 sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
 sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/polkadot/node/test-service/src/lib.rs b/polkadot/node/test-service/src/lib.rs
index 06d9e2db1d4..f17ab6bca7a 100644
--- a/polkadot/node/test-service/src/lib.rs
+++ b/polkadot/node/test-service/src/lib.rs
@@ -60,6 +60,7 @@ native_executor_instance!(
 );
 
 /// Create a new Polkadot test service for a full node.
+#[sc_cli::prefix_logs_with(config.network.node_name.as_str())]
 pub fn polkadot_test_new_full(
 	config: Configuration,
 	authority_discovery_disabled: bool,
@@ -112,14 +113,13 @@ pub fn node_config(
 	spec.set_storage(storage);
 
 	let mut network_config = NetworkConfiguration::new(
-		format!("Polkadot Test Node for: {}", key_seed),
+		key_seed.to_string(),
 		"network/test/0.1",
 		Default::default(),
 		None,
 	);
 	let informant_output_format = OutputFormat {
 		enable_color: false,
-		prefix: format!("[{}] ", key_seed),
 	};
 
 	network_config.boot_nodes = boot_nodes;
diff --git a/polkadot/validation/src/block_production.rs b/polkadot/validation/src/block_production.rs
index 047a12a457b..517d8ced816 100644
--- a/polkadot/validation/src/block_production.rs
+++ b/polkadot/validation/src/block_production.rs
@@ -28,6 +28,7 @@ use std::{
 use sp_blockchain::HeaderBackend;
 use block_builder::{BlockBuilderApi, BlockBuilderProvider};
 use consensus::{Proposal, RecordProof};
+use primitives::traits::SpawnNamed;
 use polkadot_primitives::v0::{NEW_HEADS_IDENTIFIER, Block, Header, AttestedCandidate};
 use runtime_primitives::traits::{DigestFor, HashFor};
 use txpool_api::TransactionPool;
@@ -47,11 +48,13 @@ pub struct ProposerFactory<Client, TxPool, Backend> {
 impl<Client, TxPool, Backend> ProposerFactory<Client, TxPool, Backend> {
 	/// Create a new proposer factory.
 	pub fn new(
+		spawn_handle: Box<dyn SpawnNamed>,
 		client: Arc<Client>,
 		transaction_pool: Arc<TxPool>,
 		prometheus: Option<&PrometheusRegistry>,
 	) -> Self {
 		let factory = sc_basic_authorship::ProposerFactory::new(
+			spawn_handle,
 			client,
 			transaction_pool,
 			prometheus,
-- 
GitLab