From 5b54c8cae9c291545dcdb7b5575e442c72ea4713 Mon Sep 17 00:00:00 2001
From: Ashley <ashley.ruglys@gmail.com>
Date: Mon, 16 Aug 2021 17:44:56 +0200
Subject: [PATCH] Companion PR for 'Simplify `NativeExecutionDispatch` and
 remove the `native_executor_instance!`'  (9562) (#3643)

* Companion PR

* Add test executors

* Change comment to doc comment

* Update node/test/service/src/lib.rs

* Improve comments

* update Substrate

Co-authored-by: parity-processbot <>
---
 polkadot/Cargo.lock                           | 1074 +++++++----------
 polkadot/Cargo.toml                           |    2 +-
 .../bridges/bin/millau/node/src/service.rs    |   20 +-
 .../bridges/bin/rialto/node/src/service.rs    |   20 +-
 polkadot/node/client/src/lib.rs               |   84 +-
 .../test/polkadot-simnet/common/src/lib.rs    |   22 +-
 polkadot/node/test/service/src/lib.rs         |   22 +-
 7 files changed, 556 insertions(+), 688 deletions(-)

diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index c10d927546b..bec7ac030bd 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -38,56 +38,37 @@ checksum = "ccc9a9dd069569f212bc4330af9f17c4afb5e8ce185e83dbb14f1349dda18b10"
 
 [[package]]
 name = "aead"
-version = "0.3.2"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331"
+checksum = "6e3e798aa0c8239776f54415bc06f3d74b1850f3f830b45c35cfc80556973f70"
 dependencies = [
  "generic-array 0.14.4",
 ]
 
 [[package]]
 name = "aes"
-version = "0.4.0"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7001367fde4c768a19d1029f0a8be5abd9308e1119846d5bd9ad26297b8faf5"
+checksum = "495ee669413bfbe9e8cace80f4d3d78e6d8c8d99579f97fb93bde351b185f2d4"
 dependencies = [
- "aes-soft",
- "aesni",
- "block-cipher",
+ "cfg-if 1.0.0",
+ "cipher",
+ "cpufeatures",
+ "opaque-debug 0.3.0",
 ]
 
 [[package]]
 name = "aes-gcm"
-version = "0.6.0"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f5007801316299f922a6198d1d09a0bae95786815d066d5880d13f7c45ead1"
+checksum = "b2a930fd487faaa92a30afa92cc9dd1526a5cff67124abbbb1c617ce070f4dcf"
 dependencies = [
  "aead",
  "aes",
- "block-cipher",
+ "cipher",
+ "ctr",
  "ghash",
- "subtle 2.2.3",
-]
-
-[[package]]
-name = "aes-soft"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4925647ee64e5056cf231608957ce7c81e12d6d6e316b9ce1404778cc1d35fa7"
-dependencies = [
- "block-cipher",
- "byteorder",
- "opaque-debug 0.2.3",
-]
-
-[[package]]
-name = "aesni"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d050d39b0b7688b3a3254394c3e30a9d66c41dcf9b05b0e2dbdc623f6505d264"
-dependencies = [
- "block-cipher",
- "opaque-debug 0.2.3",
+ "subtle 2.4.1",
 ]
 
 [[package]]
@@ -701,15 +682,6 @@ dependencies = [
  "generic-array 0.14.4",
 ]
 
-[[package]]
-name = "block-cipher"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa136449e765dc7faa244561ccae839c394048667929af599b5d931ebe7b7f10"
-dependencies = [
- "generic-array 0.14.4",
-]
-
 [[package]]
 name = "block-padding"
 version = "0.1.5"
@@ -1038,24 +1010,26 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
 name = "chacha20"
-version = "0.4.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "086c0f07ac275808b7bf9a39f2fd013aae1498be83632814c8c4e0bd53f2dc58"
+checksum = "ea8756167ea0aca10e066cdbe7813bd71d2f24e69b0bc7b50509590cef2ce0b9"
 dependencies = [
- "stream-cipher",
+ "cfg-if 1.0.0",
+ "cipher",
+ "cpufeatures",
  "zeroize",
 ]
 
 [[package]]
 name = "chacha20poly1305"
-version = "0.5.1"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18b0c90556d8e3fec7cf18d84a2f53d27b21288f2fe481b830fadcf809e48205"
+checksum = "175a11316f33592cf2b71416ee65283730b5b7849813c4891d02a12906ed9acc"
 dependencies = [
  "aead",
  "chacha20",
+ "cipher",
  "poly1305",
- "stream-cipher",
  "zeroize",
 ]
 
@@ -1081,15 +1055,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7d88f30b1e74e7063df5711496f3ee6e74a9735d62062242d70cddf77717f18e"
 dependencies = [
  "multibase",
- "multihash",
+ "multihash 0.13.1",
  "unsigned-varint 0.5.1",
 ]
 
 [[package]]
 name = "cipher"
-version = "0.2.5"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"
+checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
 dependencies = [
  "generic-array 0.14.4",
 ]
@@ -1191,32 +1165,16 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
 
-[[package]]
-name = "core-foundation"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
-dependencies = [
- "core-foundation-sys 0.7.0",
- "libc",
-]
-
 [[package]]
 name = "core-foundation"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
 dependencies = [
- "core-foundation-sys 0.8.2",
+ "core-foundation-sys",
  "libc",
 ]
 
-[[package]]
-name = "core-foundation-sys"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
-
 [[package]]
 name = "core-foundation-sys"
 version = "0.8.2"
@@ -1433,14 +1391,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
 dependencies = [
  "generic-array 0.14.4",
- "subtle 2.2.3",
+ "subtle 2.4.1",
 ]
 
 [[package]]
 name = "ct-logs"
-version = "0.7.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e"
+checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8"
 dependencies = [
  "sct",
 ]
@@ -1455,6 +1413,15 @@ dependencies = [
  "syn",
 ]
 
+[[package]]
+name = "ctr"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
+dependencies = [
+ "cipher",
+]
+
 [[package]]
 name = "cuckoofilter"
 version = "0.5.0"
@@ -1475,7 +1442,7 @@ dependencies = [
  "byteorder",
  "digest 0.8.1",
  "rand_core 0.5.1",
- "subtle 2.2.3",
+ "subtle 2.4.1",
  "zeroize",
 ]
 
@@ -1488,7 +1455,7 @@ dependencies = [
  "byteorder",
  "digest 0.9.0",
  "rand_core 0.5.1",
- "subtle 2.2.3",
+ "subtle 2.4.1",
  "zeroize",
 ]
 
@@ -1756,19 +1723,6 @@ dependencies = [
  "termcolor",
 ]
 
-[[package]]
-name = "env_logger"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
-dependencies = [
- "atty",
- "humantime 2.0.1",
- "log",
- "regex",
- "termcolor",
-]
-
 [[package]]
 name = "env_logger"
 version = "0.9.0"
@@ -1981,7 +1935,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1999,7 +1953,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2018,7 +1972,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "Inflector",
  "chrono",
@@ -2044,7 +1998,7 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2057,7 +2011,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2072,7 +2026,7 @@ dependencies = [
 [[package]]
 name = "frame-metadata"
 version = "14.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -2083,7 +2037,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2109,7 +2063,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -2121,7 +2075,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 1.0.0",
@@ -2133,7 +2087,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2143,7 +2097,7 @@ dependencies = [
 [[package]]
 name = "frame-support-test"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-metadata",
  "frame-support",
@@ -2164,7 +2118,7 @@ dependencies = [
 [[package]]
 name = "frame-support-test-pallet"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -2174,10 +2128,9 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
- "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
  "serde",
@@ -2191,7 +2144,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2205,7 +2158,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -2214,10 +2167,9 @@ dependencies = [
 [[package]]
 name = "frame-try-runtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
- "parity-scale-codec",
  "sp-api",
  "sp-runtime",
  "sp-std",
@@ -2375,7 +2327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b"
 dependencies = [
  "futures-io",
- "rustls 0.19.1",
+ "rustls",
  "webpki",
 ]
 
@@ -2494,10 +2446,11 @@ dependencies = [
 
 [[package]]
 name = "ghash"
-version = "0.3.0"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6e27f0689a6e15944bdce7e45425efb87eaa8ab0c6e87f11d0987a9133e2531"
+checksum = "b442c439366184de619215247d24e908912b175e824a530253845ac4c251a5c1"
 dependencies = [
+ "opaque-debug 0.3.0",
  "polyval",
 ]
 
@@ -2550,25 +2503,6 @@ dependencies = [
  "web-sys",
 ]
 
-[[package]]
-name = "h2"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "log",
- "slab",
- "tokio 0.2.21",
- "tokio-util 0.3.1",
-]
-
 [[package]]
 name = "handlebars"
 version = "3.5.1"
@@ -2663,17 +2597,6 @@ dependencies = [
  "digest 0.9.0",
 ]
 
-[[package]]
-name = "hmac-drbg"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b"
-dependencies = [
- "digest 0.8.1",
- "generic-array 0.12.3",
- "hmac 0.7.1",
-]
-
 [[package]]
 name = "hmac-drbg"
 version = "0.3.0"
@@ -2707,16 +2630,6 @@ dependencies = [
  "itoa",
 ]
 
-[[package]]
-name = "http-body"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
-dependencies = [
- "bytes 0.5.6",
- "http",
-]
-
 [[package]]
 name = "http-body"
 version = "0.4.2"
@@ -2730,15 +2643,15 @@ dependencies = [
 
 [[package]]
 name = "httparse"
-version = "1.3.4"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"
 
 [[package]]
 name = "httpdate"
-version = "0.3.2"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
+checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440"
 
 [[package]]
 name = "humantime"
@@ -2757,44 +2670,20 @@ checksum = "3c1ad908cc71012b7bea4d0c53ba96a8cba9962f048fa68d143376143d863b7a"
 
 [[package]]
 name = "hyper"
-version = "0.13.9"
+version = "0.14.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ad767baac13b44d4529fcf58ba2cd0995e36e7b435bc5b039de6f47e880dbf"
-dependencies = [
- "bytes 0.5.6",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body 0.3.1",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project 1.0.7",
- "socket2 0.3.17",
- "tokio 0.2.21",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "hyper"
-version = "0.14.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf09f61b52cfcf4c00de50df88ae423d6c02354e385a86341133b5338630ad1"
+checksum = "0b61cf2d1aebcf6e6352c97b81dc2244ca29194be1b276f5d8ad5c6330fffb11"
 dependencies = [
  "bytes 1.0.1",
  "futures-channel",
  "futures-core",
  "futures-util",
  "http",
- "http-body 0.4.2",
+ "http-body",
  "httparse",
  "httpdate",
  "itoa",
- "pin-project 1.0.7",
+ "pin-project-lite 0.2.4",
  "socket2 0.4.0",
  "tokio 1.10.0",
  "tower-service",
@@ -2804,19 +2693,18 @@ dependencies = [
 
 [[package]]
 name = "hyper-rustls"
-version = "0.21.0"
+version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6"
+checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64"
 dependencies = [
- "bytes 0.5.6",
  "ct-logs",
  "futures-util",
- "hyper 0.13.9",
+ "hyper",
  "log",
- "rustls 0.18.0",
- "rustls-native-certs 0.4.0",
- "tokio 0.2.21",
- "tokio-rustls 0.14.0",
+ "rustls",
+ "rustls-native-certs",
+ "tokio 1.10.0",
+ "tokio-rustls 0.22.0",
  "webpki",
 ]
 
@@ -2973,9 +2861,9 @@ dependencies = [
 
 [[package]]
 name = "ip_network"
-version = "0.3.4"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f"
+checksum = "09b746553d2f4a1ca26fab939943ddfb217a091f34f53571620a8e3d30691303"
 
 [[package]]
 name = "ipconfig"
@@ -3129,7 +3017,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff"
 dependencies = [
  "futures 0.3.16",
- "hyper 0.14.5",
+ "hyper",
  "jsonrpc-core",
  "jsonrpc-server-utils",
  "log",
@@ -3225,7 +3113,7 @@ dependencies = [
  "beef",
  "futures-channel",
  "futures-util",
- "hyper 0.14.5",
+ "hyper",
  "log",
  "serde",
  "serde_json",
@@ -3245,8 +3133,8 @@ dependencies = [
  "jsonrpsee-types",
  "log",
  "pin-project 1.0.7",
- "rustls 0.19.1",
- "rustls-native-certs 0.5.0",
+ "rustls",
+ "rustls-native-certs",
  "serde",
  "serde_json",
  "soketto 0.6.0",
@@ -3455,9 +3343,9 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
 
 [[package]]
 name = "libp2p"
-version = "0.37.1"
+version = "0.39.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b"
+checksum = "9004c06878ef8f3b4b4067e69a140d87ed20bf777287f82223e49713b36ee433"
 dependencies = [
  "atomic",
  "bytes 1.0.1",
@@ -3485,7 +3373,7 @@ dependencies = [
  "libp2p-wasm-ext",
  "libp2p-websocket",
  "libp2p-yamux",
- "parity-multiaddr",
+ "multiaddr",
  "parking_lot 0.11.1",
  "pin-project 1.0.7",
  "smallvec",
@@ -3494,9 +3382,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-core"
-version = "0.28.2"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71dd51b562e14846e65bad00e5808d0644376e6588668c490d3c48e1dfeb4a9a"
+checksum = "af9b4abdeaa420593a297c8592f63fad4234f4b88dc9343b8fd8e736c35faa59"
 dependencies = [
  "asn1_der",
  "bs58",
@@ -3506,15 +3394,15 @@ dependencies = [
  "futures 0.3.16",
  "futures-timer 3.0.2",
  "lazy_static",
- "libsecp256k1 0.3.5",
+ "libsecp256k1 0.5.0",
  "log",
- "multihash",
+ "multiaddr",
+ "multihash 0.14.0",
  "multistream-select",
- "parity-multiaddr",
  "parking_lot 0.11.1",
  "pin-project 1.0.7",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "rand 0.7.3",
  "ring",
  "rw-stream-sink",
@@ -3528,9 +3416,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-deflate"
-version = "0.28.0"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08"
+checksum = "66097fccc0b7f8579f90a03ea76ba6196332ea049fd07fd969490a06819dcdc8"
 dependencies = [
  "flate2",
  "futures 0.3.16",
@@ -3539,9 +3427,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-dns"
-version = "0.28.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b"
+checksum = "58ff08b3196b85a17f202d80589e93b1660a574af67275706657fdc762e42c32"
 dependencies = [
  "async-std-resolver",
  "futures 0.3.16",
@@ -3553,9 +3441,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-floodsub"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf"
+checksum = "404eca8720967179dac7a5b4275eb91f904a53859c69ca8d018560ad6beb214f"
 dependencies = [
  "cuckoofilter",
  "fnv",
@@ -3563,17 +3451,17 @@ dependencies = [
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "rand 0.7.3",
  "smallvec",
 ]
 
 [[package]]
 name = "libp2p-gossipsub"
-version = "0.30.0"
+version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73cb9a89a301afde1e588c73f7e9131e12a5388725f290a9047b878862db1b53"
+checksum = "b1cc48709bcbc3a3321f08a73560b4bbb4166a7d56f6fdb615bc775f4f91058e"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "base64 0.13.0",
@@ -3585,8 +3473,8 @@ dependencies = [
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "rand 0.7.3",
  "regex",
  "sha2 0.9.2",
@@ -3597,25 +3485,25 @@ dependencies = [
 
 [[package]]
 name = "libp2p-identify"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46"
+checksum = "a7b61f6cf07664fb97016c318c4d4512b3dd4cc07238607f3f0163245f99008e"
 dependencies = [
  "futures 0.3.16",
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "smallvec",
  "wasm-timer",
 ]
 
 [[package]]
 name = "libp2p-kad"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820"
+checksum = "50ed78489c87924235665a0ab345b298ee34dff0f7ad62c0ba6608b2144fb75e"
 dependencies = [
  "arrayvec 0.5.2",
  "asynchronous-codec 0.6.0",
@@ -3626,8 +3514,8 @@ dependencies = [
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "rand 0.7.3",
  "sha2 0.9.2",
  "smallvec",
@@ -3639,9 +3527,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-mdns"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c221897b3fd7f215de7ecfec215c5eba598e5b61c605b5f8b56fe8a4fb507724"
+checksum = "a29e6cbc2a24b8471b6567e580a0e8e7b70a6d0f0ea2be0844d1e842d7d4fa33"
 dependencies = [
  "async-io",
  "data-encoding",
@@ -3660,9 +3548,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-mplex"
-version = "0.28.0"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d"
+checksum = "313d9ea526c68df4425f580024e67a9d3ffd49f2c33de5154b1f5019816f7a99"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
@@ -3678,9 +3566,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-noise"
-version = "0.30.0"
+version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd"
+checksum = "3f1db7212f342b6ba7c981cc40e31f76e9e56cb48e65fa4c142ecaca5839523e"
 dependencies = [
  "bytes 1.0.1",
  "curve25519-dalek 3.0.0",
@@ -3688,21 +3576,21 @@ dependencies = [
  "lazy_static",
  "libp2p-core",
  "log",
- "prost",
- "prost-build",
- "rand 0.7.3",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
+ "rand 0.8.4",
  "sha2 0.9.2",
  "snow",
  "static_assertions",
- "x25519-dalek 1.1.0",
+ "x25519-dalek",
  "zeroize",
 ]
 
 [[package]]
 name = "libp2p-ping"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1"
+checksum = "2482cfd9eb0b7a0baaf3e7b329dc4f2785181a161b1a47b7192f8d758f54a439"
 dependencies = [
  "futures 0.3.16",
  "libp2p-core",
@@ -3715,26 +3603,26 @@ dependencies = [
 
 [[package]]
 name = "libp2p-plaintext"
-version = "0.28.0"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11"
+checksum = "13b4783e5423870b9a5c199f65a7a3bc66d86ab56b2b9beebf3c338d889cf8e4"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
  "futures 0.3.16",
  "libp2p-core",
  "log",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "unsigned-varint 0.7.0",
  "void",
 ]
 
 [[package]]
 name = "libp2p-pnet"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599"
+checksum = "07cb4dd4b917e5b40ddefe49b96b07adcd8d342e0317011d175b7b2bb1dcc974"
 dependencies = [
  "futures 0.3.16",
  "log",
@@ -3746,9 +3634,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-relay"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d"
+checksum = "0133f6cfd81cdc16e716de2982e012c62e6b9d4f12e41967b3ee361051c622aa"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
@@ -3758,8 +3646,8 @@ dependencies = [
  "libp2p-swarm",
  "log",
  "pin-project 1.0.7",
- "prost",
- "prost-build",
+ "prost 0.8.0",
+ "prost-build 0.8.0",
  "rand 0.7.3",
  "smallvec",
  "unsigned-varint 0.7.0",
@@ -3769,9 +3657,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-request-response"
-version = "0.11.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3"
+checksum = "06cdae44b6821466123af93cbcdec7c9e6ba9534a8af9cdc296446d39416d241"
 dependencies = [
  "async-trait",
  "bytes 1.0.1",
@@ -3789,9 +3677,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-swarm"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92"
+checksum = "7083861341e1555467863b4cd802bea1e8c4787c0f7b5110097d0f1f3248f9a9"
 dependencies = [
  "either",
  "futures 0.3.16",
@@ -3805,9 +3693,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-swarm-derive"
-version = "0.23.0"
+version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed"
+checksum = "ab8cb308d4fc854869f5abb54fdab0833d2cf670d407c745849dc47e6e08d79c"
 dependencies = [
  "quote",
  "syn",
@@ -3815,9 +3703,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-tcp"
-version = "0.28.0"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9"
+checksum = "79edd26b6b4bb5feee210dcda562dca186940dfecb0024b979c3f50824b3bf28"
 dependencies = [
  "async-io",
  "futures 0.3.16",
@@ -3832,9 +3720,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-uds"
-version = "0.28.0"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5"
+checksum = "280e793440dd4e9f273d714f4497325c72cddb0fe85a49f9a03c88f41dd20182"
 dependencies = [
  "async-std",
  "futures 0.3.16",
@@ -3844,9 +3732,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-wasm-ext"
-version = "0.28.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cef45d61e43c313531b5e903e4e8415212ff6338e0c54c47da5b9b412b5760de"
+checksum = "f553b7140fad3d7a76f50497b0ea591e26737d9607428a75509fc191e4d1b1f6"
 dependencies = [
  "futures 0.3.16",
  "js-sys",
@@ -3858,9 +3746,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-websocket"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74"
+checksum = "ddf99dcbf5063e9d59087f61b1e85c686ceab2f5abedb472d32288065c0e5e27"
 dependencies = [
  "either",
  "futures 0.3.16",
@@ -3876,9 +3764,9 @@ dependencies = [
 
 [[package]]
 name = "libp2p-yamux"
-version = "0.32.0"
+version = "0.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4"
+checksum = "214cc0dd9c37cbed27f0bb1eba0c41bbafdb93a8be5e9d6ae1e6b4b42cd044bf"
 dependencies = [
  "futures 0.3.16",
  "libp2p-core",
@@ -3901,17 +3789,20 @@ dependencies = [
 
 [[package]]
 name = "libsecp256k1"
-version = "0.3.5"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962"
+checksum = "bd1137239ab33b41aa9637a88a28249e5e70c40a42ccc92db7f12cc356c1fcd7"
 dependencies = [
  "arrayref",
- "crunchy",
- "digest 0.8.1",
- "hmac-drbg 0.2.0",
+ "base64 0.12.3",
+ "digest 0.9.0",
+ "hmac-drbg",
+ "libsecp256k1-core",
+ "libsecp256k1-gen-ecmult",
+ "libsecp256k1-gen-genmult",
  "rand 0.7.3",
- "sha2 0.8.2",
- "subtle 2.2.3",
+ "serde",
+ "sha2 0.9.2",
  "typenum",
 ]
 
@@ -3924,7 +3815,7 @@ dependencies = [
  "arrayref",
  "base64 0.12.3",
  "digest 0.9.0",
- "hmac-drbg 0.3.0",
+ "hmac-drbg",
  "libsecp256k1-core",
  "libsecp256k1-gen-ecmult",
  "libsecp256k1-gen-genmult",
@@ -3942,7 +3833,7 @@ checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80"
 dependencies = [
  "crunchy",
  "digest 0.9.0",
- "subtle 2.2.3",
+ "subtle 2.4.1",
 ]
 
 [[package]]
@@ -4333,6 +4224,24 @@ version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238"
 
+[[package]]
+name = "multiaddr"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48ee4ea82141951ac6379f964f71b20876d43712bea8faf6dd1a375e08a46499"
+dependencies = [
+ "arrayref",
+ "bs58",
+ "byteorder",
+ "data-encoding",
+ "multihash 0.14.0",
+ "percent-encoding 2.1.0",
+ "serde",
+ "static_assertions",
+ "unsigned-varint 0.7.0",
+ "url 2.2.0",
+]
+
 [[package]]
 name = "multibase"
 version = "0.8.0"
@@ -4361,13 +4270,26 @@ dependencies = [
  "unsigned-varint 0.5.1",
 ]
 
+[[package]]
+name = "multihash"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8"
+dependencies = [
+ "digest 0.9.0",
+ "generic-array 0.14.4",
+ "multihash-derive",
+ "sha2 0.9.2",
+ "unsigned-varint 0.7.0",
+]
+
 [[package]]
 name = "multihash-derive"
-version = "0.7.0"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f5653449cd45d502a53480ee08d7a599e8f4893d2bacb33c63d65bc20af6c1a"
+checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99"
 dependencies = [
- "proc-macro-crate 0.1.5",
+ "proc-macro-crate 1.0.0",
  "proc-macro-error 1.0.4",
  "proc-macro2",
  "quote",
@@ -4651,7 +4573,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b"
 [[package]]
 name = "pallet-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4666,7 +4588,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4680,7 +4602,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4703,7 +4625,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4758,7 +4680,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4836,7 +4758,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4852,7 +4774,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4867,7 +4789,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4888,7 +4810,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4905,7 +4827,7 @@ dependencies = [
 [[package]]
 name = "pallet-gilt"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4919,7 +4841,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4941,7 +4863,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4956,7 +4878,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4975,7 +4897,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4991,7 +4913,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5006,7 +4928,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "ckb-merkle-mountain-range",
  "frame-benchmarking",
@@ -5023,7 +4945,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-primitives"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5039,7 +4961,7 @@ dependencies = [
 [[package]]
 name = "pallet-mmr-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -5050,20 +4972,18 @@ dependencies = [
  "sp-api",
  "sp-blockchain",
  "sp-core",
- "sp-rpc",
  "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-multisig"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "parity-scale-codec",
- "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -5072,7 +4992,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5085,7 +5005,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5101,7 +5021,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5123,13 +5043,12 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "parity-scale-codec",
- "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -5138,9 +5057,8 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "enumflags2",
  "frame-support",
  "frame-system",
  "parity-scale-codec",
@@ -5152,7 +5070,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5167,7 +5085,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5187,7 +5105,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5203,7 +5121,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5216,7 +5134,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5226,7 +5144,6 @@ dependencies = [
  "pallet-authorship",
  "pallet-session",
  "parity-scale-codec",
- "paste 1.0.5",
  "rand_chacha 0.2.2",
  "serde",
  "sp-application-crypto",
@@ -5234,13 +5151,12 @@ dependencies = [
  "sp-runtime",
  "sp-staking",
  "sp-std",
- "static_assertions",
 ]
 
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -5251,7 +5167,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -5260,7 +5176,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5273,12 +5189,11 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
  "sp-inherents",
@@ -5291,7 +5206,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5306,7 +5221,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5322,7 +5237,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -5339,7 +5254,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -5350,7 +5265,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5366,7 +5281,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5381,9 +5296,8 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "enumflags2",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
@@ -5432,24 +5346,6 @@ dependencies = [
  "snap",
 ]
 
-[[package]]
-name = "parity-multiaddr"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4"
-dependencies = [
- "arrayref",
- "bs58",
- "byteorder",
- "data-encoding",
- "multihash",
- "percent-encoding 2.1.0",
- "serde",
- "static_assertions",
- "unsigned-varint 0.7.0",
- "url 2.2.0",
-]
-
 [[package]]
 name = "parity-scale-codec"
 version = "2.2.0"
@@ -7273,20 +7169,24 @@ dependencies = [
 
 [[package]]
 name = "poly1305"
-version = "0.6.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b42192ab143ed7619bf888a7f9c6733a9a2153b218e2cd557cfdb52fbf9bb1"
+checksum = "9fcffab1f78ebbdf4b93b68c1ffebc24037eedf271edaca795732b24e5e4e349"
 dependencies = [
+ "cpufeatures",
+ "opaque-debug 0.3.0",
  "universal-hash",
 ]
 
 [[package]]
 name = "polyval"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9a50142b55ab3ed0e9f68dfb3709f1d90d29da24e91033f28b96330643107dc"
+checksum = "e597450cbf209787f0e6de80bf3795c6b2356a380ee87837b545aded8dbc1823"
 dependencies = [
- "cfg-if 0.1.10",
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "opaque-debug 0.3.0",
  "universal-hash",
 ]
 
@@ -7470,7 +7370,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2"
 dependencies = [
  "bytes 1.0.1",
- "prost-derive",
+ "prost-derive 0.7.0",
+]
+
+[[package]]
+name = "prost"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de5e2533f59d08fcf364fd374ebda0692a70bd6d7e66ef97f306f45c6c5d8020"
+dependencies = [
+ "bytes 1.0.1",
+ "prost-derive 0.8.0",
 ]
 
 [[package]]
@@ -7485,8 +7395,26 @@ dependencies = [
  "log",
  "multimap",
  "petgraph",
- "prost",
- "prost-types",
+ "prost 0.7.0",
+ "prost-types 0.7.0",
+ "tempfile",
+ "which",
+]
+
+[[package]]
+name = "prost-build"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "355f634b43cdd80724ee7848f95770e7e70eefa6dcf14fea676216573b8fd603"
+dependencies = [
+ "bytes 1.0.1",
+ "heck",
+ "itertools 0.10.0",
+ "log",
+ "multimap",
+ "petgraph",
+ "prost 0.8.0",
+ "prost-types 0.8.0",
  "tempfile",
  "which",
 ]
@@ -7504,6 +7432,19 @@ dependencies = [
  "syn",
 ]
 
+[[package]]
+name = "prost-derive"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "600d2f334aa05acb02a755e217ef1ab6dea4d51b58b7846588b747edec04efba"
+dependencies = [
+ "anyhow",
+ "itertools 0.10.0",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
 [[package]]
 name = "prost-types"
 version = "0.7.0"
@@ -7511,7 +7452,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb"
 dependencies = [
  "bytes 1.0.1",
- "prost",
+ "prost 0.7.0",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "603bbd6394701d13f3f25aada59c7de9d35a6a5887cfc156181234a44002771b"
+dependencies = [
+ "bytes 1.0.1",
+ "prost 0.8.0",
 ]
 
 [[package]]
@@ -7881,10 +7832,9 @@ dependencies = [
 [[package]]
 name = "remote-externalities"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "env_logger 0.8.4",
- "hex",
+ "env_logger 0.9.0",
  "jsonrpsee-proc-macros",
  "jsonrpsee-ws-client",
  "log",
@@ -8085,19 +8035,6 @@ dependencies = [
  "semver 0.11.0",
 ]
 
-[[package]]
-name = "rustls"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cac94b333ee2aac3284c5b8a1b7fb4dd11cba88c244e3fe33cdbd047af0eb693"
-dependencies = [
- "base64 0.12.3",
- "log",
- "ring",
- "sct",
- "webpki",
-]
-
 [[package]]
 name = "rustls"
 version = "0.19.1"
@@ -8111,18 +8048,6 @@ dependencies = [
  "webpki",
 ]
 
-[[package]]
-name = "rustls-native-certs"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8"
-dependencies = [
- "openssl-probe",
- "rustls 0.18.0",
- "schannel",
- "security-framework 1.0.0",
-]
-
 [[package]]
 name = "rustls-native-certs"
 version = "0.5.0"
@@ -8130,9 +8055,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092"
 dependencies = [
  "openssl-probe",
- "rustls 0.19.1",
+ "rustls",
  "schannel",
- "security-framework 2.2.0",
+ "security-framework",
 ]
 
 [[package]]
@@ -8170,9 +8095,9 @@ checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
 
 [[package]]
 name = "salsa20"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15"
+checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0"
 dependencies = [
  "cipher",
 ]
@@ -8189,7 +8114,7 @@ dependencies = [
 [[package]]
 name = "sc-allocator"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "log",
  "sp-core",
@@ -8200,23 +8125,21 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "derive_more",
- "either",
  "futures 0.3.16",
  "futures-timer 3.0.2",
  "ip_network",
  "libp2p",
  "log",
  "parity-scale-codec",
- "prost",
- "prost-build",
+ "prost 0.7.0",
+ "prost-build 0.7.0",
  "rand 0.7.3",
  "sc-client-api",
  "sc-network",
- "serde_json",
  "sp-api",
  "sp-authority-discovery",
  "sp-blockchain",
@@ -8229,7 +8152,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "futures-timer 3.0.2",
@@ -8252,7 +8175,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -8268,7 +8191,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -8284,7 +8207,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -8295,7 +8218,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "chrono",
  "fdlimit",
@@ -8333,14 +8256,11 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "derive_more",
  "fnv",
  "futures 0.3.16",
  "hash-db",
- "kvdb",
- "lazy_static",
  "log",
  "parity-scale-codec",
  "parking_lot 0.11.1",
@@ -8352,24 +8272,20 @@ dependencies = [
  "sp-core",
  "sp-database",
  "sp-externalities",
- "sp-inherents",
  "sp-keystore",
  "sp-runtime",
  "sp-state-machine",
- "sp-std",
  "sp-storage",
  "sp-trie",
  "sp-utils",
- "sp-version",
  "substrate-prometheus-endpoint",
 ]
 
 [[package]]
 name = "sc-client-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "blake2-rfc",
  "hash-db",
  "kvdb",
  "kvdb-memorydb",
@@ -8378,10 +8294,8 @@ dependencies = [
  "log",
  "parity-db",
  "parity-scale-codec",
- "parity-util-mem",
  "parking_lot 0.11.1",
  "sc-client-api",
- "sc-executor",
  "sc-state-db",
  "sp-arithmetic",
  "sp-blockchain",
@@ -8390,13 +8304,12 @@ dependencies = [
  "sp-runtime",
  "sp-state-machine",
  "sp-trie",
- "substrate-prometheus-endpoint",
 ]
 
 [[package]]
 name = "sc-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "futures 0.3.16",
@@ -8421,13 +8334,12 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "derive_more",
  "fork-tree",
  "futures 0.3.16",
- "futures-timer 3.0.2",
  "log",
  "merlin",
  "num-bigint",
@@ -8441,7 +8353,6 @@ dependencies = [
  "sc-consensus",
  "sc-consensus-epochs",
  "sc-consensus-slots",
- "sc-consensus-uncles",
  "sc-keystore",
  "sc-telemetry",
  "schnorrkel",
@@ -8459,7 +8370,6 @@ dependencies = [
  "sp-io",
  "sp-keystore",
  "sp-runtime",
- "sp-utils",
  "sp-version",
  "substrate-prometheus-endpoint",
 ]
@@ -8467,7 +8377,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "derive_more",
  "futures 0.3.16",
@@ -8491,7 +8401,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -8504,7 +8414,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-manual-seal"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "assert_matches",
  "async-trait",
@@ -8515,7 +8425,6 @@ dependencies = [
  "jsonrpc-derive",
  "log",
  "parity-scale-codec",
- "parking_lot 0.11.1",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-babe",
@@ -8530,7 +8439,6 @@ dependencies = [
  "sp-consensus-slots",
  "sp-core",
  "sp-inherents",
- "sp-keyring",
  "sp-keystore",
  "sp-runtime",
  "sp-timestamp",
@@ -8540,19 +8448,17 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "futures 0.3.16",
  "futures-timer 3.0.2",
- "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
  "sc-client-api",
  "sc-consensus",
  "sc-telemetry",
  "sp-api",
- "sp-application-crypto",
  "sp-arithmetic",
  "sp-blockchain",
  "sp-consensus",
@@ -8562,14 +8468,13 @@ dependencies = [
  "sp-runtime",
  "sp-state-machine",
  "sp-timestamp",
- "sp-trie",
  "thiserror",
 ]
 
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "sc-client-api",
  "sp-authorship",
@@ -8580,14 +8485,12 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "derive_more",
  "lazy_static",
- "libsecp256k1 0.3.5",
+ "libsecp256k1 0.6.0",
  "log",
  "parity-scale-codec",
- "parity-wasm 0.42.2",
  "parking_lot 0.11.1",
  "sc-executor-common",
  "sc-executor-wasmi",
@@ -8598,7 +8501,6 @@ dependencies = [
  "sp-io",
  "sp-panic-handler",
  "sp-runtime-interface",
- "sp-serializer",
  "sp-tasks",
  "sp-trie",
  "sp-version",
@@ -8609,7 +8511,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "derive_more",
  "parity-scale-codec",
@@ -8626,7 +8528,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -8641,14 +8543,13 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
  "log",
  "parity-scale-codec",
  "parity-wasm 0.42.2",
- "pwasm-utils",
  "sc-allocator",
  "sc-executor-common",
  "scoped-tls",
@@ -8661,7 +8562,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -8670,11 +8571,9 @@ dependencies = [
  "fork-tree",
  "futures 0.3.16",
  "futures-timer 3.0.2",
- "linked-hash-map",
  "log",
  "parity-scale-codec",
  "parking_lot 0.11.1",
- "pin-project 1.0.7",
  "rand 0.8.4",
  "sc-block-builder",
  "sc-client-api",
@@ -8691,7 +8590,6 @@ dependencies = [
  "sp-consensus",
  "sp-core",
  "sp-finality-grandpa",
- "sp-inherents",
  "sp-keystore",
  "sp-runtime",
  "sp-utils",
@@ -8702,7 +8600,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "derive_more",
  "finality-grandpa",
@@ -8726,7 +8624,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.16",
@@ -8744,30 +8642,24 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.16",
- "futures-util",
  "hex",
- "merlin",
  "parking_lot 0.11.1",
- "rand 0.7.3",
  "serde_json",
  "sp-application-crypto",
  "sp-core",
  "sp-keystore",
- "subtle 2.2.3",
 ]
 
 [[package]]
 name = "sc-light"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "hash-db",
- "lazy_static",
  "parity-scale-codec",
  "parking_lot 0.11.1",
  "sc-client-api",
@@ -8783,18 +8675,16 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-std",
  "async-trait",
  "asynchronous-codec 0.5.0",
  "bitflags",
- "bs58",
  "bytes 1.0.1",
  "cid",
  "derive_more",
  "either",
- "erased-serde",
  "fnv",
  "fork-tree",
  "futures 0.3.16",
@@ -8806,12 +8696,11 @@ dependencies = [
  "linked_hash_set",
  "log",
  "lru",
- "nohash-hasher",
  "parity-scale-codec",
  "parking_lot 0.11.1",
  "pin-project 1.0.7",
- "prost",
- "prost-build",
+ "prost 0.7.0",
+ "prost-build 0.7.0",
  "rand 0.7.3",
  "sc-block-builder",
  "sc-client-api",
@@ -8838,7 +8727,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "futures-timer 3.0.2",
@@ -8855,14 +8744,14 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "bytes 0.5.6",
+ "bytes 1.0.1",
  "fnv",
  "futures 0.3.16",
  "futures-timer 3.0.2",
  "hex",
- "hyper 0.13.9",
+ "hyper",
  "hyper-rustls",
  "log",
  "num_cpus",
@@ -8870,7 +8759,6 @@ dependencies = [
  "parking_lot 0.11.1",
  "rand 0.7.3",
  "sc-client-api",
- "sc-keystore",
  "sc-network",
  "sp-api",
  "sp-core",
@@ -8883,7 +8771,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "libp2p",
@@ -8896,7 +8784,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -8905,7 +8793,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "hash-db",
@@ -8917,8 +8805,6 @@ dependencies = [
  "sc-block-builder",
  "sc-chain-spec",
  "sc-client-api",
- "sc-executor",
- "sc-keystore",
  "sc-rpc-api",
  "sc-tracing",
  "sc-transaction-pool-api",
@@ -8931,8 +8817,6 @@ dependencies = [
  "sp-rpc",
  "sp-runtime",
  "sp-session",
- "sp-state-machine",
- "sp-tracing",
  "sp-utils",
  "sp-version",
 ]
@@ -8940,7 +8824,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "derive_more",
  "futures 0.3.16",
@@ -8965,7 +8849,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "jsonrpc-core",
@@ -8974,16 +8858,14 @@ dependencies = [
  "jsonrpc-pubsub",
  "jsonrpc-ws-server",
  "log",
- "serde",
  "serde_json",
- "sp-runtime",
  "substrate-prometheus-endpoint",
 ]
 
 [[package]]
 name = "sc-service"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "directories",
@@ -8993,7 +8875,6 @@ dependencies = [
  "hash-db",
  "jsonrpc-core",
  "jsonrpc-pubsub",
- "lazy_static",
  "log",
  "parity-scale-codec",
  "parity-util-mem",
@@ -9027,7 +8908,6 @@ dependencies = [
  "sp-core",
  "sp-externalities",
  "sp-inherents",
- "sp-io",
  "sp-keystore",
  "sp-runtime",
  "sp-session",
@@ -9050,7 +8930,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -9059,13 +8939,12 @@ dependencies = [
  "parking_lot 0.11.1",
  "sc-client-api",
  "sp-core",
- "thiserror",
 ]
 
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -9087,7 +8966,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "chrono",
  "futures 0.3.16",
@@ -9098,20 +8977,17 @@ dependencies = [
  "rand 0.7.3",
  "serde",
  "serde_json",
- "take_mut",
  "thiserror",
- "void",
  "wasm-timer",
 ]
 
 [[package]]
 name = "sc-tracing"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "ansi_term 0.12.1",
  "atty",
- "erased-serde",
  "lazy_static",
  "log",
  "once_cell",
@@ -9120,31 +8996,26 @@ dependencies = [
  "rustc-hash",
  "sc-client-api",
  "sc-rpc-server",
- "sc-telemetry",
  "sc-tracing-proc-macro",
  "serde",
- "serde_json",
  "sp-api",
- "sp-block-builder",
  "sp-blockchain",
  "sp-core",
  "sp-rpc",
  "sp-runtime",
- "sp-storage",
  "sp-tracing",
  "thiserror",
  "tracing",
  "tracing-log",
  "tracing-subscriber",
  "wasm-bindgen",
- "wasm-timer",
  "web-sys",
 ]
 
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -9155,9 +9026,8 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "derive_more",
  "futures 0.3.16",
  "intervalier",
  "linked-hash-map",
@@ -9184,12 +9054,11 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "derive_more",
  "futures 0.3.16",
  "log",
- "parity-scale-codec",
  "serde",
  "sp-blockchain",
  "sp-runtime",
@@ -9245,7 +9114,7 @@ dependencies = [
  "rand 0.7.3",
  "rand_core 0.5.1",
  "sha2 0.8.2",
- "subtle 2.2.3",
+ "subtle 2.4.1",
  "zeroize",
 ]
 
@@ -9280,19 +9149,6 @@ dependencies = [
  "zeroize",
 ]
 
-[[package]]
-name = "security-framework"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b"
-dependencies = [
- "bitflags",
- "core-foundation 0.7.0",
- "core-foundation-sys 0.7.0",
- "libc",
- "security-framework-sys 1.0.0",
-]
-
 [[package]]
 name = "security-framework"
 version = "2.2.0"
@@ -9300,20 +9156,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3670b1d2fdf6084d192bc71ead7aabe6c06aa2ea3fbd9cc3ac111fa5c2b1bd84"
 dependencies = [
  "bitflags",
- "core-foundation 0.9.1",
- "core-foundation-sys 0.8.2",
- "libc",
- "security-framework-sys 2.2.0",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7"
-dependencies = [
- "core-foundation-sys 0.7.0",
+ "core-foundation",
+ "core-foundation-sys",
  "libc",
+ "security-framework-sys",
 ]
 
 [[package]]
@@ -9322,7 +9168,7 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3676258fd3cfe2c9a0ec99ce3038798d847ce3e4bb17746373eb9f0f1ac16339"
 dependencies = [
- "core-foundation-sys 0.8.2",
+ "core-foundation-sys",
  "libc",
 ]
 
@@ -9576,20 +9422,20 @@ checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451"
 
 [[package]]
 name = "snow"
-version = "0.7.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32bf8474159a95551661246cda4976e89356999e3cbfef36f493dacc3fae1e8e"
+checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7"
 dependencies = [
  "aes-gcm",
  "blake2",
  "chacha20poly1305",
- "rand 0.7.3",
- "rand_core 0.5.1",
+ "rand 0.8.4",
+ "rand_core 0.6.1",
  "ring",
- "rustc_version 0.2.3",
+ "rustc_version 0.3.3",
  "sha2 0.9.2",
- "subtle 2.2.3",
- "x25519-dalek 0.6.0",
+ "subtle 2.4.1",
+ "x25519-dalek",
 ]
 
 [[package]]
@@ -9648,7 +9494,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "hash-db",
  "log",
@@ -9665,7 +9511,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate 1.0.0",
@@ -9677,7 +9523,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -9689,7 +9535,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -9703,7 +9549,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9715,7 +9561,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -9727,7 +9573,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9739,7 +9585,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "log",
@@ -9757,7 +9603,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "futures 0.3.16",
@@ -9776,7 +9622,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "merlin",
@@ -9798,7 +9644,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sp-arithmetic",
@@ -9808,7 +9654,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -9820,7 +9666,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -9833,7 +9679,7 @@ dependencies = [
  "hex",
  "impl-serde",
  "lazy_static",
- "libsecp256k1 0.3.5",
+ "libsecp256k1 0.6.0",
  "log",
  "merlin",
  "num-traits",
@@ -9864,7 +9710,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "kvdb",
  "parking_lot 0.11.1",
@@ -9873,7 +9719,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -9883,7 +9729,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -9894,7 +9740,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -9911,7 +9757,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -9925,11 +9771,11 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "hash-db",
- "libsecp256k1 0.3.5",
+ "libsecp256k1 0.6.0",
  "log",
  "parity-scale-codec",
  "parking_lot 0.11.1",
@@ -9950,7 +9796,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -9961,7 +9807,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -9978,7 +9824,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "ruzstd",
  "zstd",
@@ -9987,7 +9833,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -10000,7 +9846,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections-solution-type"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -10011,7 +9857,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -10021,7 +9867,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "backtrace",
 ]
@@ -10029,18 +9875,17 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "rustc-hash",
  "serde",
  "sp-core",
- "tracing-core",
 ]
 
 [[package]]
 name = "sp-runtime"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -10061,7 +9906,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -10078,7 +9923,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.0.0",
@@ -10090,7 +9935,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "serde",
  "serde_json",
@@ -10099,7 +9944,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -10112,7 +9957,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -10122,7 +9967,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "hash-db",
  "log",
@@ -10145,12 +9990,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 
 [[package]]
 name = "sp-storage"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -10163,7 +10008,7 @@ dependencies = [
 [[package]]
 name = "sp-tasks"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "log",
  "sp-core",
@@ -10176,7 +10021,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "futures-timer 3.0.2",
@@ -10193,7 +10038,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "erased-serde",
  "log",
@@ -10211,7 +10056,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -10220,7 +10065,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "log",
@@ -10235,7 +10080,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -10249,10 +10094,9 @@ dependencies = [
 [[package]]
 name = "sp-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
- "futures-core",
  "futures-timer 3.0.2",
  "lazy_static",
  "prometheus",
@@ -10261,7 +10105,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -10276,10 +10120,9 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "parity-scale-codec",
- "proc-macro-crate 1.0.0",
  "proc-macro2",
  "quote",
  "syn",
@@ -10288,7 +10131,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -10388,15 +10231,6 @@ dependencies = [
  "rand 0.8.4",
 ]
 
-[[package]]
-name = "stream-cipher"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09f8ed9974042b8c3672ff3030a69fcc03b74c47c3d1ecb7755e8a3626011e88"
-dependencies = [
- "generic-array 0.14.4",
-]
-
 [[package]]
 name = "strsim"
 version = "0.8.0"
@@ -10464,7 +10298,7 @@ dependencies = [
 [[package]]
 name = "substrate-browser-utils"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "chrono",
  "console_error_panic_hook",
@@ -10489,7 +10323,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "platforms",
 ]
@@ -10497,7 +10331,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.16",
@@ -10509,7 +10343,6 @@ dependencies = [
  "sc-client-api",
  "sc-rpc-api",
  "sc-transaction-pool-api",
- "serde",
  "sp-api",
  "sp-block-builder",
  "sp-blockchain",
@@ -10520,25 +10353,24 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-std",
  "derive_more",
  "futures-util",
- "hyper 0.13.9",
+ "hyper",
  "log",
  "prometheus",
- "tokio 0.2.21",
+ "tokio 1.10.0",
 ]
 
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "async-trait",
  "futures 0.3.16",
- "hash-db",
  "hex",
  "parity-scale-codec",
  "sc-client-api",
@@ -10562,7 +10394,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "futures 0.3.16",
  "substrate-test-utils-derive",
@@ -10572,7 +10404,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "quote",
@@ -10582,10 +10414,9 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "ansi_term 0.12.1",
- "atty",
  "build-helper",
  "cargo_metadata",
  "sp-maybe-compressed-blob",
@@ -10603,9 +10434,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
 
 [[package]]
 name = "subtle"
-version = "2.2.3"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
 
 [[package]]
 name = "syn"
@@ -10641,12 +10472,6 @@ dependencies = [
  "unicode-xid",
 ]
 
-[[package]]
-name = "take_mut"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
-
 [[package]]
 name = "tap"
 version = "1.0.0"
@@ -10744,7 +10569,7 @@ dependencies = [
 [[package]]
 name = "test-runner"
 version = "0.9.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
  "frame-system",
  "futures 0.3.16",
@@ -10776,7 +10601,6 @@ dependencies = [
  "sp-finality-grandpa",
  "sp-inherents",
  "sp-keyring",
- "sp-keystore",
  "sp-offchain",
  "sp-runtime",
  "sp-runtime-interface",
@@ -10913,11 +10737,9 @@ checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58"
 dependencies = [
  "bytes 0.5.6",
  "fnv",
- "futures-core",
  "iovec",
  "lazy_static",
  "libc",
- "memchr",
  "mio 0.6.22",
  "mio-uds",
  "num_cpus",
@@ -10957,25 +10779,24 @@ dependencies = [
 
 [[package]]
 name = "tokio-rustls"
-version = "0.14.0"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "228139ddd4fea3fa345a29233009635235833e52807af7ea6448ead03890d6a9"
+checksum = "03d15e5669243a45f630a5167d101b942174ca94b615445b2057eace1c818736"
 dependencies = [
  "futures-core",
- "rustls 0.18.0",
+ "rustls",
  "tokio 0.2.21",
  "webpki",
 ]
 
 [[package]]
 name = "tokio-rustls"
-version = "0.15.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03d15e5669243a45f630a5167d101b942174ca94b615445b2057eace1c818736"
+checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
 dependencies = [
- "futures-core",
- "rustls 0.19.1",
- "tokio 0.2.21",
+ "rustls",
+ "tokio 1.10.0",
  "webpki",
 ]
 
@@ -11041,7 +10862,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
 dependencies = [
  "cfg-if 1.0.0",
- "log",
  "pin-project-lite 0.2.4",
  "tracing-attributes",
  "tracing-core",
@@ -11100,9 +10920,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.2.18"
+version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa5553bf0883ba7c9cbe493b085c29926bd41b66afc31ff72cf17ff4fb60dcd5"
+checksum = "ab69019741fca4d98be3c62d2b75254528b5432233fd8a4d2739fec20278de48"
 dependencies = [
  "ansi_term 0.12.1",
  "chrono",
@@ -11200,22 +11020,17 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
 [[package]]
 name = "try-runtime-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#7342a2fb587c895b5d117e3983e6e0f91868b03b"
+source = "git+https://github.com/paritytech/substrate?branch=master#67f28cdba85c362da17909c69c19952e3ef931c7"
 dependencies = [
- "frame-try-runtime",
  "log",
  "parity-scale-codec",
  "remote-externalities",
  "sc-chain-spec",
  "sc-cli",
- "sc-client-api",
  "sc-executor",
  "sc-service",
  "serde",
- "sp-api",
- "sp-blockchain",
  "sp-core",
- "sp-externalities",
  "sp-keystore",
  "sp-runtime",
  "sp-state-machine",
@@ -11243,7 +11058,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "04f8ab788026715fa63b31960869617cba39117e520eb415b0139543e325ab59"
 dependencies = [
  "cfg-if 0.1.10",
- "rand 0.3.23",
+ "rand 0.7.3",
  "static_assertions",
 ]
 
@@ -11323,7 +11138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402"
 dependencies = [
  "generic-array 0.14.4",
- "subtle 2.2.3",
+ "subtle 2.4.1",
 ]
 
 [[package]]
@@ -11992,17 +11807,6 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
 
-[[package]]
-name = "x25519-dalek"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "637ff90c9540fa3073bb577e65033069e4bae7c79d49d74aa3ffdf5342a53217"
-dependencies = [
- "curve25519-dalek 2.1.0",
- "rand_core 0.5.1",
- "zeroize",
-]
-
 [[package]]
 name = "x25519-dalek"
 version = "1.1.0"
@@ -12133,9 +11937,9 @@ dependencies = [
 
 [[package]]
 name = "zeroize"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81a974bcdd357f0dca4d41677db03436324d45a4c9ed2d0b873a5a360ce41c36"
+checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd"
 dependencies = [
  "zeroize_derive",
 ]
diff --git a/polkadot/Cargo.toml b/polkadot/Cargo.toml
index 38702a3142f..ce6f8ddd1c5 100644
--- a/polkadot/Cargo.toml
+++ b/polkadot/Cargo.toml
@@ -145,4 +145,4 @@ polkadot = { path = "/usr/bin/polkadot" }
 
 
 [package.metadata.spellcheck]
-config = "./scripts/gitlab/spellcheck.toml"
\ No newline at end of file
+config = "./scripts/gitlab/spellcheck.toml"
diff --git a/polkadot/bridges/bin/millau/node/src/service.rs b/polkadot/bridges/bin/millau/node/src/service.rs
index 3f9894a29a1..06d8a456cc7 100644
--- a/polkadot/bridges/bin/millau/node/src/service.rs
+++ b/polkadot/bridges/bin/millau/node/src/service.rs
@@ -31,7 +31,6 @@
 use millau_runtime::{self, opaque::Block, RuntimeApi};
 use sc_client_api::{ExecutorProvider, RemoteBackend};
 use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams};
-use sc_executor::native_executor_instance;
 pub use sc_executor::NativeExecutor;
 
 use sc_keystore::LocalKeystore;
@@ -42,12 +41,19 @@ use sp_consensus_aura::sr25519::AuthorityPair as AuraPair;
 use std::{sync::Arc, time::Duration};
 
 // Our native executor instance.
-native_executor_instance!(
-	pub Executor,
-	millau_runtime::api::dispatch,
-	millau_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+pub struct Executor;
+
+impl sc_executor::NativeExecutionDispatch for Executor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		millau_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		millau_runtime::native_version()
+	}
+}
 
 type FullClient = sc_service::TFullClient<Block, RuntimeApi, Executor>;
 type FullBackend = sc_service::TFullBackend<Block>;
diff --git a/polkadot/bridges/bin/rialto/node/src/service.rs b/polkadot/bridges/bin/rialto/node/src/service.rs
index 2a1305eb6aa..eb52b27ba1e 100644
--- a/polkadot/bridges/bin/rialto/node/src/service.rs
+++ b/polkadot/bridges/bin/rialto/node/src/service.rs
@@ -33,7 +33,6 @@
 use rialto_runtime::{self, opaque::Block, RuntimeApi};
 use sc_client_api::{ExecutorProvider, RemoteBackend};
 use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams};
-use sc_executor::native_executor_instance;
 pub use sc_executor::NativeExecutor;
 
 use sc_keystore::LocalKeystore;
@@ -44,12 +43,19 @@ use sp_consensus_aura::sr25519::AuthorityPair as AuraPair;
 use std::{sync::Arc, time::Duration};
 
 // Our native executor instance.
-native_executor_instance!(
-	pub Executor,
-	rialto_runtime::api::dispatch,
-	rialto_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+pub struct Executor;
+
+impl sc_executor::NativeExecutionDispatch for Executor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		rialto_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		rialto_runtime::native_version()
+	}
+}
 
 type FullClient = sc_service::TFullClient<Block, RuntimeApi, Executor>;
 type FullBackend = sc_service::TFullBackend<Block>;
diff --git a/polkadot/node/client/src/lib.rs b/polkadot/node/client/src/lib.rs
index d71eb950277..86a83759844 100644
--- a/polkadot/node/client/src/lib.rs
+++ b/polkadot/node/client/src/lib.rs
@@ -23,7 +23,6 @@ use polkadot_primitives::v1::{
 	AccountId, Balance, Block, BlockNumber, Hash, Header, Nonce, ParachainHost,
 };
 use sc_client_api::{AuxStore, Backend as BackendT, BlockchainEvents, KeyIterator, UsageProvider};
-use sc_executor::native_executor_instance;
 use sp_api::{CallApiAt, NumberFor, ProvideRuntimeApi};
 use sp_blockchain::HeaderBackend;
 use sp_consensus::BlockStatus;
@@ -39,36 +38,71 @@ pub type FullBackend = sc_service::TFullBackend<Block>;
 
 pub type FullClient<RuntimeApi, Executor> = sc_service::TFullClient<Block, RuntimeApi, Executor>;
 
-native_executor_instance!(
-	pub PolkadotExecutor,
-	polkadot_runtime::api::dispatch,
-	polkadot_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+/// The native executor instance for Polkadot.
+pub struct PolkadotExecutor;
+
+impl sc_executor::NativeExecutionDispatch for PolkadotExecutor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		polkadot_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		polkadot_runtime::native_version()
+	}
+}
+
+#[cfg(feature = "kusama")]
+/// The native executor instance for Kusama.
+pub struct KusamaExecutor;
 
 #[cfg(feature = "kusama")]
-native_executor_instance!(
-	pub KusamaExecutor,
-	kusama_runtime::api::dispatch,
-	kusama_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+impl sc_executor::NativeExecutionDispatch for KusamaExecutor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		kusama_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		kusama_runtime::native_version()
+	}
+}
 
 #[cfg(feature = "westend")]
-native_executor_instance!(
-	pub WestendExecutor,
-	westend_runtime::api::dispatch,
-	westend_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+/// The native executor instance for Westend.
+pub struct WestendExecutor;
+
+#[cfg(feature = "westend")]
+impl sc_executor::NativeExecutionDispatch for WestendExecutor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		westend_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		westend_runtime::native_version()
+	}
+}
 
 #[cfg(feature = "rococo")]
-native_executor_instance!(
-	pub RococoExecutor,
-	rococo_runtime::api::dispatch,
-	rococo_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+/// The native executor instance for Rococo.
+pub struct RococoExecutor;
+
+#[cfg(feature = "rococo")]
+impl sc_executor::NativeExecutionDispatch for RococoExecutor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		rococo_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		rococo_runtime::native_version()
+	}
+}
 
 /// A set of APIs that polkadot-like runtimes must implement.
 pub trait RuntimeApiCollection:
diff --git a/polkadot/node/test/polkadot-simnet/common/src/lib.rs b/polkadot/node/test/polkadot-simnet/common/src/lib.rs
index 32e481e2f14..93726bee27d 100644
--- a/polkadot/node/test/polkadot-simnet/common/src/lib.rs
+++ b/polkadot/node/test/polkadot-simnet/common/src/lib.rs
@@ -40,12 +40,22 @@ type BlockImport<B, BE, C, SC> = BabeBlockImport<B, C, GrandpaBlockImport<BE, B,
 type Block = polkadot_primitives::v1::Block;
 type SelectChain = sc_consensus::LongestChain<TFullBackend<Block>, Block>;
 
-sc_executor::native_executor_instance!(
-	pub Executor,
-	polkadot_runtime::api::dispatch,
-	polkadot_runtime::native_version,
-	(benchmarking::benchmarking::HostFunctions, SignatureVerificationOverride),
-);
+/// Declare an instance of the native executor named `Executor`. Include the wasm binary as the
+/// equivalent wasm code.
+pub struct Executor;
+
+impl sc_executor::NativeExecutionDispatch for Executor {
+	type ExtendHostFunctions =
+		(benchmarking::benchmarking::HostFunctions, SignatureVerificationOverride);
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		polkadot_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		polkadot_runtime::native_version()
+	}
+}
 
 /// `ChainInfo` implementation.
 pub struct PolkadotChainInfo;
diff --git a/polkadot/node/test/service/src/lib.rs b/polkadot/node/test/service/src/lib.rs
index 3915524a52f..9a5959e247c 100644
--- a/polkadot/node/test/service/src/lib.rs
+++ b/polkadot/node/test/service/src/lib.rs
@@ -35,7 +35,6 @@ use polkadot_test_runtime::{
 };
 use sc_chain_spec::ChainSpec;
 use sc_client_api::execution_extensions::ExecutionStrategies;
-use sc_executor::native_executor_instance;
 use sc_network::{
 	config::{NetworkConfiguration, TransportConfig},
 	multiaddr,
@@ -55,12 +54,21 @@ use substrate_test_client::{
 	BlockchainEventsExt, RpcHandlersExt, RpcTransactionError, RpcTransactionOutput,
 };
 
-native_executor_instance!(
-	pub PolkadotTestExecutor,
-	polkadot_test_runtime::api::dispatch,
-	polkadot_test_runtime::native_version,
-	frame_benchmarking::benchmarking::HostFunctions,
-);
+/// Declare an instance of the native executor named `PolkadotTestExecutor`. Include the wasm binary as the
+/// equivalent wasm code.
+pub struct PolkadotTestExecutor;
+
+impl sc_executor::NativeExecutionDispatch for PolkadotTestExecutor {
+	type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+	fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
+		polkadot_test_runtime::api::dispatch(method, data)
+	}
+
+	fn native_version() -> sc_executor::NativeVersion {
+		polkadot_test_runtime::native_version()
+	}
+}
 
 /// The client type being used by the test service.
 pub type Client = FullClient<polkadot_test_runtime::RuntimeApi, PolkadotTestExecutor>;
-- 
GitLab