From 9240042048eb425e49c8d9747bd20295d0b2bb08 Mon Sep 17 00:00:00 2001
From: Ashley <ashley.ruglys@gmail.com>
Date: Fri, 11 Oct 2019 00:50:41 +1300
Subject: [PATCH] Changes for substrate#3699 (#466)

* change upstream and branch

* Fix build

* remove doc renamings

* Fix tests

* .

* Revert changing fork and branch

* Update Cargo.toml

* Update parachains.rs
---
 polkadot/Cargo.lock                | 164 ++++++++++++++++-------------
 polkadot/runtime/Cargo.toml        |   1 +
 polkadot/runtime/src/lib.rs        |   3 +-
 polkadot/runtime/src/parachains.rs |  13 ++-
 polkadot/runtime/src/slots.rs      |   2 +-
 5 files changed, 102 insertions(+), 81 deletions(-)

diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 786ac3fa79b..38617b5277f 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -835,7 +835,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 [[package]]
 name = "fork-tree"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -2830,6 +2830,7 @@ dependencies = [
  "srml-indices 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "srml-membership 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "srml-offences 1.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
+ "srml-randomness-collective-flip 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "srml-session 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "srml-staking 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "srml-staking-reward-curve 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -3699,7 +3700,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 [[package]]
 name = "sr-api-macros"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
  "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3711,7 +3712,7 @@ dependencies = [
 [[package]]
 name = "sr-io"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3728,7 +3729,7 @@ dependencies = [
 [[package]]
 name = "sr-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3747,7 +3748,7 @@ dependencies = [
 [[package]]
 name = "sr-staking-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -3757,7 +3758,7 @@ dependencies = [
 [[package]]
 name = "sr-std"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -3765,7 +3766,7 @@ dependencies = [
 [[package]]
 name = "sr-version"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-serde 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3777,7 +3778,7 @@ dependencies = [
 [[package]]
 name = "srml-authority-discovery"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3794,7 +3795,7 @@ dependencies = [
 [[package]]
 name = "srml-authorship"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3810,7 +3811,7 @@ dependencies = [
 [[package]]
 name = "srml-babe"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3830,7 +3831,7 @@ dependencies = [
 [[package]]
 name = "srml-balances"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3845,7 +3846,7 @@ dependencies = [
 [[package]]
 name = "srml-collective"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3861,7 +3862,7 @@ dependencies = [
 [[package]]
 name = "srml-democracy"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3876,7 +3877,7 @@ dependencies = [
 [[package]]
 name = "srml-elections"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3892,7 +3893,7 @@ dependencies = [
 [[package]]
 name = "srml-executive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3906,7 +3907,7 @@ dependencies = [
 [[package]]
 name = "srml-finality-tracker"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3921,7 +3922,7 @@ dependencies = [
 [[package]]
 name = "srml-grandpa"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3939,7 +3940,7 @@ dependencies = [
 [[package]]
 name = "srml-im-online"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3957,7 +3958,7 @@ dependencies = [
 [[package]]
 name = "srml-indices"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3974,7 +3975,7 @@ dependencies = [
 [[package]]
 name = "srml-membership"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3988,7 +3989,7 @@ dependencies = [
 [[package]]
 name = "srml-metadata"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3999,7 +4000,7 @@ dependencies = [
 [[package]]
 name = "srml-offences"
 version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4011,10 +4012,23 @@ dependencies = [
  "srml-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
 ]
 
+[[package]]
+name = "srml-randomness-collective-flip"
+version = "2.0.0"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
+dependencies = [
+ "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
+ "sr-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
+ "srml-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
+ "srml-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
+]
+
 [[package]]
 name = "srml-session"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4033,7 +4047,7 @@ dependencies = [
 [[package]]
 name = "srml-staking"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4053,7 +4067,7 @@ dependencies = [
 [[package]]
 name = "srml-staking-reward-curve"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4064,7 +4078,7 @@ dependencies = [
 [[package]]
 name = "srml-sudo"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4078,7 +4092,7 @@ dependencies = [
 [[package]]
 name = "srml-support"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4098,7 +4112,7 @@ dependencies = [
 [[package]]
 name = "srml-support-procedural"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4110,7 +4124,7 @@ dependencies = [
 [[package]]
 name = "srml-support-procedural-tools"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4122,7 +4136,7 @@ dependencies = [
 [[package]]
 name = "srml-support-procedural-tools-derive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4132,7 +4146,7 @@ dependencies = [
 [[package]]
 name = "srml-system"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4149,7 +4163,7 @@ dependencies = [
 [[package]]
 name = "srml-timestamp"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4164,7 +4178,7 @@ dependencies = [
 [[package]]
 name = "srml-treasury"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4250,7 +4264,7 @@ dependencies = [
 [[package]]
 name = "substrate-application-crypto"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4262,7 +4276,7 @@ dependencies = [
 [[package]]
 name = "substrate-authority-discovery"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4284,7 +4298,7 @@ dependencies = [
 [[package]]
 name = "substrate-authority-discovery-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4306,7 +4320,7 @@ dependencies = [
 [[package]]
 name = "substrate-chain-spec"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "impl-trait-for-tuples 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4321,7 +4335,7 @@ dependencies = [
 [[package]]
 name = "substrate-chain-spec-derive"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4332,7 +4346,7 @@ dependencies = [
 [[package]]
 name = "substrate-cli"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "ansi_term 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4368,7 +4382,7 @@ dependencies = [
 [[package]]
 name = "substrate-client"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4398,7 +4412,7 @@ dependencies = [
 [[package]]
 name = "substrate-client-db"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common?rev=b0317f649ab2c665b7987b8475878fc4d2e1f81d)",
@@ -4422,7 +4436,7 @@ dependencies = [
 [[package]]
 name = "substrate-consensus-babe"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "fork-tree 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4459,7 +4473,7 @@ dependencies = [
 [[package]]
 name = "substrate-consensus-babe-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4473,7 +4487,7 @@ dependencies = [
 [[package]]
 name = "substrate-consensus-common"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4492,7 +4506,7 @@ dependencies = [
 [[package]]
 name = "substrate-consensus-slots"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures-timer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4510,7 +4524,7 @@ dependencies = [
 [[package]]
 name = "substrate-consensus-uncles"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4524,7 +4538,7 @@ dependencies = [
 [[package]]
 name = "substrate-executor"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4547,7 +4561,7 @@ dependencies = [
 [[package]]
 name = "substrate-finality-grandpa"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "finality-grandpa 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "fork-tree 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4576,7 +4590,7 @@ dependencies = [
 [[package]]
 name = "substrate-finality-grandpa-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4589,7 +4603,7 @@ dependencies = [
 [[package]]
 name = "substrate-header-metadata"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4599,7 +4613,7 @@ dependencies = [
 [[package]]
 name = "substrate-inherents"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4610,7 +4624,7 @@ dependencies = [
 [[package]]
 name = "substrate-keyring"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4622,7 +4636,7 @@ dependencies = [
 [[package]]
 name = "substrate-keystore"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4637,7 +4651,7 @@ dependencies = [
 [[package]]
 name = "substrate-network"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4679,7 +4693,7 @@ dependencies = [
 [[package]]
 name = "substrate-offchain"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
  "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4704,7 +4718,7 @@ dependencies = [
 [[package]]
 name = "substrate-offchain-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "substrate-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4713,7 +4727,7 @@ dependencies = [
 [[package]]
 name = "substrate-panic-handler"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4722,7 +4736,7 @@ dependencies = [
 [[package]]
 name = "substrate-peerset"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
  "libp2p 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4735,7 +4749,7 @@ dependencies = [
 [[package]]
 name = "substrate-phragmen"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "sr-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4744,7 +4758,7 @@ dependencies = [
 [[package]]
 name = "substrate-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4777,7 +4791,7 @@ dependencies = [
 [[package]]
 name = "substrate-rpc"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
  "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4785,6 +4799,7 @@ dependencies = [
  "jsonrpc-pubsub 13.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "sr-version 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4802,7 +4817,7 @@ dependencies = [
 [[package]]
 name = "substrate-rpc-api"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4824,7 +4839,7 @@ dependencies = [
 [[package]]
 name = "substrate-rpc-primitives"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
  "substrate-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4833,7 +4848,7 @@ dependencies = [
 [[package]]
 name = "substrate-rpc-servers"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "jsonrpc-core 13.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "jsonrpc-http-server 13.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4848,7 +4863,7 @@ dependencies = [
 [[package]]
 name = "substrate-serializer"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4857,7 +4872,7 @@ dependencies = [
 [[package]]
 name = "substrate-service"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "exit-future 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4899,7 +4914,7 @@ dependencies = [
 [[package]]
 name = "substrate-session"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
  "sr-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)",
@@ -4910,7 +4925,7 @@ dependencies = [
 [[package]]
 name = "substrate-state-db"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4921,7 +4936,7 @@ dependencies = [
 [[package]]
 name = "substrate-state-machine"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4939,7 +4954,7 @@ dependencies = [
 [[package]]
 name = "substrate-telemetry"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4961,7 +4976,7 @@ dependencies = [
 [[package]]
 name = "substrate-transaction-graph"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4975,7 +4990,7 @@ dependencies = [
 [[package]]
 name = "substrate-transaction-pool"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4991,7 +5006,7 @@ dependencies = [
 [[package]]
 name = "substrate-trie"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "memory-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -5010,7 +5025,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 [[package]]
 name = "substrate-wasm-interface"
 version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#aba25769f23dc1bbfeb18b4326cb67234076bd7c"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#f3a830d3e37d78a869c78c037cc2ac6f0c4e5ddd"
 dependencies = [
  "wasmi 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -6234,6 +6249,7 @@ dependencies = [
 "checksum srml-membership 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
 "checksum srml-metadata 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
 "checksum srml-offences 1.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
+"checksum srml-randomness-collective-flip 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
 "checksum srml-session 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
 "checksum srml-staking 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
 "checksum srml-staking-reward-curve 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)" = "<none>"
diff --git a/polkadot/runtime/Cargo.toml b/polkadot/runtime/Cargo.toml
index 4367f830921..24a773cea77 100644
--- a/polkadot/runtime/Cargo.toml
+++ b/polkadot/runtime/Cargo.toml
@@ -42,6 +42,7 @@ im-online = { package = "srml-im-online", git = "https://github.com/paritytech/s
 indices = { package = "srml-indices", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
 membership = { package = "srml-membership", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
 offences = { package = "srml-offences", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
+randomness-collective-flip = { package = "srml-randomness-collective-flip", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
 session = { package = "srml-session", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
 srml-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
 staking = { package = "srml-staking", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" }
diff --git a/polkadot/runtime/src/lib.rs b/polkadot/runtime/src/lib.rs
index 73f114152b1..69224ae5311 100644
--- a/polkadot/runtime/src/lib.rs
+++ b/polkadot/runtime/src/lib.rs
@@ -521,6 +521,7 @@ construct_runtime!(
 	{
 		// Basic stuff; balances is uncallable initially.
 		System: system::{Module, Call, Storage, Config, Event},
+		RandomnessCollectiveFlip: randomness_collective_flip::{Module, Storage},
 
 		// Must be before session.
 		Babe: babe::{Module, Call, Storage, Config, Inherent(Timestamp)},
@@ -629,7 +630,7 @@ impl_runtime_apis! {
 		}
 
 		fn random_seed() -> <Block as BlockT>::Hash {
-			System::random_seed()
+			RandomnessCollectiveFlip::random_seed()
 		}
 	}
 
diff --git a/polkadot/runtime/src/parachains.rs b/polkadot/runtime/src/parachains.rs
index eaa67ce2c88..a31b9e6ea93 100644
--- a/polkadot/runtime/src/parachains.rs
+++ b/polkadot/runtime/src/parachains.rs
@@ -538,7 +538,7 @@ impl<T: Trait> Module<T> {
 
 		let mut seed = {
 			let phrase = b"validator_role_pairs";
-			let seed = system::Module::<T>::random(&phrase[..]);
+			let seed = randomness_collective_flip::Module::<T>::random(&phrase[..]);
 			let seed_len = seed.as_ref().len();
 			let needed_bytes = validator_count * 4;
 
@@ -887,7 +887,7 @@ mod tests {
 	use substrate_trie::NodeCodec;
 	use sr_primitives::{
 		Perbill,
-		traits::{BlakeTwo256, IdentityLookup, ConvertInto},
+		traits::{BlakeTwo256, IdentityLookup, ConvertInto, OnInitialize},
 		testing::{UintAuthorityId, Header},
 		curve::PiecewiseLinear,
 	};
@@ -1056,6 +1056,7 @@ mod tests {
 
 	type Parachains = Module<Test>;
 	type System = system::Module<Test>;
+	type RandomnessCollectiveFlip = randomness_collective_flip::Module<Test>;
 
 	fn new_test_ext(parachains: Vec<(ParaId, Vec<u8>, Vec<u8>)>) -> TestExternalities<Blake2Hasher> {
 		use staking::StakerStatus;
@@ -1540,16 +1541,18 @@ mod tests {
 			check_roster(&duty_roster_0);
 
 			System::initialize(&1, &H256::from([1; 32]), &Default::default(), &Default::default());
+			RandomnessCollectiveFlip::on_initialize(1);
 			let duty_roster_1 = Parachains::calculate_duty_roster().0;
 			check_roster(&duty_roster_1);
-			assert!(duty_roster_0 != duty_roster_1);
+			assert_ne!(duty_roster_0, duty_roster_1);
 
 
 			System::initialize(&2, &H256::from([2; 32]), &Default::default(), &Default::default());
+			RandomnessCollectiveFlip::on_initialize(2);
 			let duty_roster_2 = Parachains::calculate_duty_roster().0;
 			check_roster(&duty_roster_2);
-			assert!(duty_roster_0 != duty_roster_2);
-			assert!(duty_roster_1 != duty_roster_2);
+			assert_ne!(duty_roster_0, duty_roster_2);
+			assert_ne!(duty_roster_1, duty_roster_2);
 		});
 	}
 
diff --git a/polkadot/runtime/src/slots.rs b/polkadot/runtime/src/slots.rs
index 6f8920e266f..944c6b6057e 100644
--- a/polkadot/runtime/src/slots.rs
+++ b/polkadot/runtime/src/slots.rs
@@ -437,7 +437,7 @@ impl<T: Trait> Module<T> {
 			if early_end + T::EndingPeriod::get() == now {
 				// Just ended!
 				let ending_period = T::EndingPeriod::get();
-				let offset = T::BlockNumber::decode(&mut<system::Module<T>>::random_seed().as_ref())
+				let offset = T::BlockNumber::decode(&mut<randomness_collective_flip::Module<T>>::random_seed().as_ref())
 					.expect("secure hashes always bigger than block numbers; qed") % ending_period;
 				let res = <Winning<T>>::get(offset).unwrap_or_default();
 				let mut i = T::BlockNumber::zero();
-- 
GitLab