diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index d70cc93ac5812071dcb065be114a2c07e158945d..8bcfce78b0d19b026591d74ceb21b3432ac9eae7 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -1234,7 +1234,7 @@ checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
 [[package]]
 name = "fork-tree"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1242,7 +1242,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1259,7 +1259,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "parity-scale-codec",
@@ -1277,7 +1277,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1292,7 +1292,7 @@ dependencies = [
 [[package]]
 name = "frame-metadata"
 version = "11.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -1303,7 +1303,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "bitmask",
  "frame-metadata",
@@ -1327,7 +1327,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support-procedural-tools",
  "proc-macro2 1.0.10",
@@ -1338,7 +1338,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -1350,7 +1350,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "proc-macro2 1.0.10",
  "quote 1.0.3",
@@ -1360,7 +1360,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
@@ -1376,7 +1376,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -3263,7 +3263,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3281,7 +3281,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3298,7 +3298,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3306,6 +3306,7 @@ dependencies = [
  "pallet-timestamp",
  "parity-scale-codec",
  "serde",
+ "sp-application-crypto",
  "sp-consensus-babe",
  "sp-consensus-vrf",
  "sp-inherents",
@@ -3319,7 +3320,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3334,7 +3335,7 @@ dependencies = [
 [[package]]
 name = "pallet-collective"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3350,7 +3351,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3365,7 +3366,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3379,7 +3380,7 @@ dependencies = [
 [[package]]
 name = "pallet-finality-tracker"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3395,7 +3396,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3413,7 +3414,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -3429,7 +3430,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3449,7 +3450,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3465,7 +3466,7 @@ dependencies = [
 [[package]]
 name = "pallet-membership"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3479,7 +3480,7 @@ dependencies = [
 [[package]]
 name = "pallet-nicks"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3493,7 +3494,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3508,7 +3509,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3527,7 +3528,7 @@ dependencies = [
 [[package]]
 name = "pallet-randomness-collective-flip"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3540,7 +3541,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "enumflags2",
  "frame-support",
@@ -3555,7 +3556,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3570,7 +3571,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3588,7 +3589,7 @@ dependencies = [
 [[package]]
 name = "pallet-session-benchmarking"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3602,7 +3603,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3617,7 +3618,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3640,7 +3641,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.10",
@@ -3651,7 +3652,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3665,7 +3666,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3683,7 +3684,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3696,7 +3697,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -3714,7 +3715,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -3727,7 +3728,7 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3742,7 +3743,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3758,7 +3759,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4266,6 +4267,8 @@ dependencies = [
  "parity-scale-codec",
  "polkadot-primitives",
  "sc-client-api",
+ "sc-finality-grandpa",
+ "sc-finality-grandpa-rpc",
  "sc-rpc",
  "sp-api",
  "sp-blockchain",
@@ -5295,7 +5298,7 @@ dependencies = [
 [[package]]
 name = "sc-authority-discovery"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "bytes 0.5.4",
  "derive_more 0.99.5",
@@ -5322,7 +5325,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -5338,7 +5341,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "impl-trait-for-tuples",
  "sc-chain-spec-derive",
@@ -5354,7 +5357,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.10",
@@ -5365,7 +5368,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "ansi_term 0.12.1",
  "app_dirs",
@@ -5407,7 +5410,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "fnv",
@@ -5443,7 +5446,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "blake2-rfc",
  "hash-db",
@@ -5472,7 +5475,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "sc-client-api",
  "sp-blockchain",
@@ -5483,7 +5486,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "fork-tree",
@@ -5524,7 +5527,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -5537,7 +5540,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "futures-timer 3.0.2",
@@ -5558,7 +5561,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "log 0.4.8",
  "sc-client-api",
@@ -5572,7 +5575,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "lazy_static",
@@ -5600,7 +5603,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "log 0.4.8",
@@ -5617,7 +5620,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "log 0.4.8",
  "parity-scale-codec",
@@ -5632,7 +5635,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "cranelift-codegen",
  "cranelift-wasm",
@@ -5653,7 +5656,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "assert_matches",
  "derive_more 0.99.5",
@@ -5687,10 +5690,27 @@ dependencies = [
  "substrate-prometheus-endpoint",
 ]
 
+[[package]]
+name = "sc-finality-grandpa-rpc"
+version = "0.8.0-dev"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
+dependencies = [
+ "derive_more 0.99.5",
+ "finality-grandpa",
+ "futures 0.3.4",
+ "jsonrpc-core",
+ "jsonrpc-core-client",
+ "jsonrpc-derive",
+ "log 0.4.8",
+ "sc-finality-grandpa",
+ "serde",
+ "serde_json",
+]
+
 [[package]]
 name = "sc-informant"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "ansi_term 0.12.1",
  "futures 0.3.4",
@@ -5707,7 +5727,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "hex",
@@ -5722,7 +5742,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "bitflags",
  "bytes 0.5.4",
@@ -5774,7 +5794,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "futures-timer 3.0.2",
@@ -5790,7 +5810,7 @@ dependencies = [
 [[package]]
 name = "sc-network-test"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "env_logger 0.7.1",
  "futures 0.3.4",
@@ -5817,7 +5837,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "bytes 0.5.4",
  "fnv",
@@ -5844,7 +5864,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "libp2p",
@@ -5857,7 +5877,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "hash-db",
@@ -5889,7 +5909,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "futures 0.3.4",
@@ -5913,7 +5933,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-http-server",
@@ -5928,7 +5948,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "exit-future",
@@ -5986,7 +6006,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "log 0.4.8",
  "parity-scale-codec",
@@ -6000,7 +6020,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "bytes 0.5.4",
  "futures 0.3.4",
@@ -6022,7 +6042,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "erased-serde",
  "log 0.4.8",
@@ -6037,7 +6057,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-graph"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "futures 0.3.4",
@@ -6057,7 +6077,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "futures 0.3.4",
@@ -6442,7 +6462,7 @@ dependencies = [
 [[package]]
 name = "sp-allocator"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "log 0.4.8",
@@ -6454,7 +6474,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "hash-db",
  "parity-scale-codec",
@@ -6469,7 +6489,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate",
@@ -6481,7 +6501,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -6493,7 +6513,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "integer-sqrt",
  "num-traits 0.2.11",
@@ -6507,7 +6527,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -6519,7 +6539,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-inherents",
@@ -6530,7 +6550,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -6542,7 +6562,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "log 0.4.8",
@@ -6558,7 +6578,7 @@ dependencies = [
 [[package]]
 name = "sp-chain-spec"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "serde",
  "serde_json",
@@ -6567,7 +6587,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "futures 0.3.4",
@@ -6589,7 +6609,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-aura"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -6603,8 +6623,9 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
+ "merlin",
  "parity-scale-codec",
  "sp-api",
  "sp-application-crypto",
@@ -6619,7 +6640,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -6631,7 +6652,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "base58",
  "blake2-rfc",
@@ -6672,7 +6693,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "kvdb",
  "parking_lot 0.10.2",
@@ -6681,7 +6702,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "proc-macro2 1.0.10",
  "quote 1.0.3",
@@ -6691,7 +6712,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -6702,7 +6723,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -6715,7 +6736,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-tracker"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-inherents",
@@ -6725,7 +6746,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "parity-scale-codec",
@@ -6737,7 +6758,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "hash-db",
@@ -6757,7 +6778,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -6768,7 +6789,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -6778,7 +6799,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "backtrace",
  "log 0.4.8",
@@ -6787,7 +6808,7 @@ dependencies = [
 [[package]]
 name = "sp-phragmen"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "serde",
@@ -6799,7 +6820,7 @@ dependencies = [
 [[package]]
 name = "sp-phragmen-compact"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2 1.0.10",
@@ -6810,7 +6831,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "serde",
  "sp-core",
@@ -6819,7 +6840,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "hash256-std-hasher",
  "impl-trait-for-tuples",
@@ -6840,7 +6861,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "primitive-types",
@@ -6855,7 +6876,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -6867,7 +6888,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "serde",
  "serde_json",
@@ -6876,7 +6897,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -6887,7 +6908,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "parity-scale-codec",
  "sp-runtime",
@@ -6897,7 +6918,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "hash-db",
  "log 0.4.8",
@@ -6916,12 +6937,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 
 [[package]]
 name = "sp-storage"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "impl-serde 0.2.3",
  "ref-cast",
@@ -6933,7 +6954,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -6947,7 +6968,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "tracing",
 ]
@@ -6955,7 +6976,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "derive_more 0.99.5",
  "futures 0.3.4",
@@ -6970,7 +6991,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -6984,7 +7005,7 @@ dependencies = [
 [[package]]
 name = "sp-utils"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "futures-core",
@@ -6995,7 +7016,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "impl-serde 0.2.3",
  "parity-scale-codec",
@@ -7007,7 +7028,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -7135,7 +7156,7 @@ dependencies = [
 [[package]]
 name = "substrate-browser-utils"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "chrono",
  "clear_on_drop",
@@ -7162,7 +7183,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "platforms",
 ]
@@ -7170,7 +7191,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.4",
@@ -7191,7 +7212,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.8.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "async-std",
  "derive_more 0.99.5",
@@ -7205,7 +7226,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-client"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "hash-db",
@@ -7226,7 +7247,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-runtime"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "cfg-if",
  "frame-executive",
@@ -7265,7 +7286,7 @@ dependencies = [
 [[package]]
 name = "substrate-test-runtime-client"
 version = "2.0.0-dev"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 dependencies = [
  "futures 0.3.4",
  "parity-scale-codec",
@@ -7285,7 +7306,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder-runner"
 version = "1.0.5"
-source = "git+https://github.com/paritytech/substrate#303941324a74645a3c1fab859d9a7e1bda95bedd"
+source = "git+https://github.com/paritytech/substrate#c0ccc24d02080ab4fbb2c65440327fc72acb6c42"
 
 [[package]]
 name = "substrate-wasm-builder-runner"
diff --git a/polkadot/rpc/Cargo.toml b/polkadot/rpc/Cargo.toml
index 9ff646c053383c08a7ffe6688ec2970da7802d18..e8be9c60e64b547031f43c98e01a5df05bf335a6 100644
--- a/polkadot/rpc/Cargo.toml
+++ b/polkadot/rpc/Cargo.toml
@@ -12,6 +12,8 @@ sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "mas
 sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master"  }
 sp-api = { git = "https://github.com/paritytech/substrate", branch = "master"  }
 sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "master" }
+sc-finality-grandpa-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
 txpool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "master" }
 frame-rpc-system = { package = "substrate-frame-rpc-system", git = "https://github.com/paritytech/substrate", branch = "master"  }
 pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/polkadot/rpc/src/lib.rs b/polkadot/rpc/src/lib.rs
index cc54917ffafe61755b7d16a6c57c743ec82e57c8..0063c95ddb221d297b3689ad18446d2eda3aa395 100644
--- a/polkadot/rpc/src/lib.rs
+++ b/polkadot/rpc/src/lib.rs
@@ -20,7 +20,7 @@
 
 use std::sync::Arc;
 
-use polkadot_primitives::{Block, AccountId, Nonce, Balance};
+use polkadot_primitives::{Block, BlockNumber, AccountId, Nonce, Balance, Hash};
 use sp_api::ProvideRuntimeApi;
 use txpool_api::TransactionPool;
 use sp_blockchain::HeaderBackend;
@@ -29,8 +29,16 @@ use sc_client_api::light::{Fetcher, RemoteBlockchain};
 /// A type representing all RPC extensions.
 pub type RpcExtension = jsonrpc_core::IoHandler<sc_rpc::Metadata>;
 
+/// Dependencies for GRANDPA
+pub struct GrandpaDeps {
+	/// Voting round info.
+	pub shared_voter_state: sc_finality_grandpa::SharedVoterState,
+	/// Authority set info.
+	pub shared_authority_set: sc_finality_grandpa::SharedAuthoritySet<Hash, BlockNumber>,
+}
+
 /// Instantiate all RPC extensions.
-pub fn create_full<C, P, UE>(client: Arc<C>, pool: Arc<P>) -> RpcExtension where
+pub fn create_full<C, P, UE>(client: Arc<C>, pool: Arc<P>, grandpa_deps: GrandpaDeps) -> RpcExtension where
 	C: ProvideRuntimeApi<Block>,
 	C: HeaderBackend<Block>,
 	C: Send + Sync + 'static,
@@ -41,14 +49,26 @@ pub fn create_full<C, P, UE>(client: Arc<C>, pool: Arc<P>) -> RpcExtension where
 {
 	use frame_rpc_system::{FullSystem, SystemApi};
 	use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi};
+	use sc_finality_grandpa_rpc::{GrandpaApi, GrandpaRpcHandler};
 
 	let mut io = jsonrpc_core::IoHandler::default();
+	let GrandpaDeps {
+		shared_voter_state,
+		shared_authority_set,
+	} = grandpa_deps;
+
 	io.extend_with(
 		SystemApi::to_delegate(FullSystem::new(client.clone(), pool))
 	);
 	io.extend_with(
 		TransactionPaymentApi::to_delegate(TransactionPayment::new(client))
 	);
+	io.extend_with(
+		GrandpaApi::to_delegate(GrandpaRpcHandler::new(
+			shared_authority_set,
+			shared_voter_state,
+		))
+	);
 	io
 }
 
diff --git a/polkadot/service/src/lib.rs b/polkadot/service/src/lib.rs
index 3b18a4d5ee3360803bc387e71b5868962688db99..6955ed712e969e0e0aa9c5a751761c24745a7a71 100644
--- a/polkadot/service/src/lib.rs
+++ b/polkadot/service/src/lib.rs
@@ -26,7 +26,7 @@ use polkadot_primitives::{parachain, Hash, BlockId, AccountId, Nonce, Balance};
 #[cfg(feature = "full-node")]
 use polkadot_network::{legacy::gossip::Known, protocol as network_protocol};
 use service::{error::Error as ServiceError, ServiceBuilder};
-use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider};
+use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState};
 use sc_executor::native_executor_instance;
 use log::info;
 pub use service::{
@@ -151,6 +151,7 @@ macro_rules! new_full_start {
 		set_prometheus_registry(&mut $config)?;
 
 		let mut import_setup = None;
+		let mut rpc_setup = None;
 		let inherent_data_providers = inherents::InherentDataProviders::new();
 		let builder = service::ServiceBuilder::new_full::<
 			Block, $runtime, $executor
@@ -203,10 +204,19 @@ macro_rules! new_full_start {
 				Ok(import_queue)
 			})?
 			.with_rpc_extensions(|builder| -> Result<polkadot_rpc::RpcExtension, _> {
-				Ok(polkadot_rpc::create_full(builder.client().clone(), builder.pool()))
+				let grandpa_link = import_setup.as_ref().map(|s| &s.1)
+					.expect("GRANDPA LinkHalf is present for full services or set up failed; qed.");
+				let shared_authority_set = grandpa_link.shared_authority_set();
+				let shared_voter_state = SharedVoterState::empty();
+				let grandpa_deps = polkadot_rpc::GrandpaDeps {
+					shared_voter_state: shared_voter_state.clone(),
+					shared_authority_set: shared_authority_set.clone(),
+				};
+				rpc_setup = Some((shared_voter_state));
+				Ok(polkadot_rpc::create_full(builder.client().clone(), builder.pool(), grandpa_deps))
 			})?;
 
-		(builder, import_setup, inherent_data_providers)
+		(builder, import_setup, inherent_data_providers, rpc_setup)
 	}}
 }
 
@@ -241,7 +251,8 @@ macro_rules! new_full {
 		let authority_discovery_enabled = $authority_discovery_enabled;
 		let slot_duration = $slot_duration;
 
-		let (builder, mut import_setup, inherent_data_providers) = new_full_start!($config, $runtime, $dispatch);
+		let (builder, mut import_setup, inherent_data_providers, mut rpc_setup) =
+			new_full_start!($config, $runtime, $dispatch);
 
 		let backend = builder.backend().clone();
 
@@ -255,6 +266,9 @@ macro_rules! new_full {
 		let (block_import, link_half, babe_link) = import_setup.take()
 			.expect("Link Half and Block Import are present for Full Services or setup failed before. qed");
 
+		let shared_voter_state = rpc_setup.take()
+			.expect("The SharedVoterState is present for Full Services or setup failed before. qed");
+
 		let client = service.client();
 		let known_oracle = client.clone();
 
@@ -470,6 +484,7 @@ macro_rules! new_full {
 				telemetry_on_connect: Some(service.telemetry_on_connect_stream()),
 				voting_rule,
 				prometheus_registry: service.prometheus_registry(),
+				shared_voter_state,
 			};
 
 			service.spawn_essential_task(