diff --git a/Cargo.lock b/Cargo.lock index ec2c92c1c5c9b..8ae89de0bf589 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -389,7 +389,7 @@ dependencies = [ [[package]] name = "browser-utils" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1134,7 +1134,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#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1142,7 +1142,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -1156,7 +1156,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1167,7 +1167,7 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "frame-metadata 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -1191,7 +1191,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support-procedural-tools 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1202,7 +1202,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support-procedural-tools-derive 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1214,7 +1214,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1224,7 +1224,7 @@ dependencies = [ [[package]] name = "frame-system" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1241,7 +1241,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -1536,7 +1536,7 @@ dependencies = [ [[package]] name = "grafana-data-source" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "async-std 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2102,15 +2102,6 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "parity-bytes 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb" version = "0.3.1" @@ -2121,15 +2112,6 @@ dependencies = [ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb-memorydb" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb-memorydb" version = "0.3.1" @@ -2140,23 +2122,6 @@ dependencies = [ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb-rocksdb" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb-rocksdb" version = "0.4.1" @@ -2990,7 +2955,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3008,7 +2973,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3025,7 +2990,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3046,7 +3011,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3060,7 +3025,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3076,7 +3041,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3091,7 +3056,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3104,7 +3069,7 @@ dependencies = [ [[package]] name = "pallet-finality-tracker" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3120,7 +3085,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3138,7 +3103,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "enumflags2 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3153,7 +3118,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3172,7 +3137,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3189,7 +3154,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3203,7 +3168,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3217,7 +3182,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3232,7 +3197,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3245,7 +3210,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3264,7 +3229,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3284,7 +3249,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3295,7 +3260,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3309,7 +3274,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3325,7 +3290,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3338,7 +3303,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core-client 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3346,6 +3311,7 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-rpc 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3355,7 +3321,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3368,7 +3334,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3382,7 +3348,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3707,9 +3673,9 @@ dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb-memorydb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-memorydb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-rocksdb 0.4.1 (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.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3737,7 +3703,14 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-service 0.7.17", "sc-cli 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-client-db 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-executor 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-service 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "structopt 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3751,6 +3724,7 @@ dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures-timer 1.0.3 (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.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-cli 0.7.17", "polkadot-network 0.7.17", "polkadot-primitives 0.7.17", @@ -3759,10 +3733,12 @@ dependencies = [ "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-network 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-consensus 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-keyring 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3800,6 +3776,7 @@ dependencies = [ "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-keyring 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "wasm-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3856,6 +3833,7 @@ dependencies = [ "polkadot-primitives 0.7.17", "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-rpc 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-transaction-pool 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "substrate-frame-rpc-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4603,7 +4581,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4619,6 +4597,7 @@ dependencies = [ "sc-keystore 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-network 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-authority-discovery 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4628,12 +4607,14 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-block-builder 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-consensus 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4642,7 +4623,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "sc-chain-spec-derive 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4657,7 +4638,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4668,7 +4649,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" 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)", @@ -4703,7 +4684,7 @@ dependencies = [ [[package]] name = "sc-client" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4736,7 +4717,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4767,7 +4748,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4793,7 +4774,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "fork-tree 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4833,7 +4814,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4842,17 +4823,19 @@ dependencies = [ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-telemetry 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-consensus 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", ] [[package]] name = "sc-consensus-uncles" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4866,7 +4849,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4893,7 +4876,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4908,7 +4891,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4924,7 +4907,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)", "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4948,7 +4931,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "finality-grandpa 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "fork-tree 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4978,7 +4961,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4993,7 +4976,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5037,7 +5020,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5053,7 +5036,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" 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)", @@ -5080,7 +5063,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p 0.14.0-alpha.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5091,7 +5074,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5120,7 +5103,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5142,7 +5125,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-http-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5157,7 +5140,7 @@ dependencies = [ [[package]] name = "sc-service" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5204,7 +5187,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5215,7 +5198,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5236,7 +5219,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "grafana-data-source 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5252,7 +5235,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5267,7 +5250,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5565,8 +5548,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "sp-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ + "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api-proc-macro 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5579,7 +5563,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" 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)", @@ -5591,7 +5575,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5603,7 +5587,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5616,7 +5600,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5628,7 +5612,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5639,7 +5623,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5651,7 +5635,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5667,7 +5651,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5679,6 +5663,7 @@ dependencies = [ "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-version 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", ] @@ -5686,7 +5671,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5702,7 +5687,7 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" 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)", @@ -5741,7 +5726,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5751,7 +5736,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5761,7 +5746,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5774,7 +5759,7 @@ dependencies = [ [[package]] name = "sp-finality-tracker" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5784,7 +5769,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5796,7 +5781,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5813,7 +5798,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5824,7 +5809,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5833,7 +5818,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5842,7 +5827,7 @@ dependencies = [ [[package]] name = "sp-phragmen" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5852,7 +5837,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5861,7 +5846,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5880,7 +5865,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5895,7 +5880,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "Inflector 0.11.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5907,7 +5892,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5916,7 +5901,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5926,7 +5911,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5936,7 +5921,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" 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)", @@ -5955,12 +5940,12 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" [[package]] name = "sp-storage" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-serde 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5971,7 +5956,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5984,7 +5969,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5998,7 +5983,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "memory-db 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6012,7 +5997,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-serde 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6024,7 +6009,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6128,7 +6113,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-system-rpc-runtime-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6139,6 +6124,7 @@ dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -7434,11 +7420,8 @@ dependencies = [ "checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kv-log-macro 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c54d9f465d530a752e6ebdc217e081a7a614b48cb200f6f0aee21ba6bc9aabb" -"checksum kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cecee8d85a74f6b8284710d52a7d1196f09e31f8217e1f184a475b509d360554" "checksum kvdb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8396be0e5561ccd1bf7ff0b2007487cdd7a87a056873fe6ea906b35d4dbf7ed8" -"checksum kvdb-memorydb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a5d70712b1fe0f02ce7ee36a962fcb0b15d0fe11262ba21a4aa839ef22cf60d" "checksum kvdb-memorydb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4d25ef14155e418515c4839e9144c839de3506e68946f255a32b7f166095493d" -"checksum kvdb-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "54cc6b52f7e511de9f07fd77cda70247adfc6b8192e4b5a1b6dbca416dc425b5" "checksum kvdb-rocksdb 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "af488cc16c3801705c8d681c3a32c8faa8fafc7fb5309dee0f573f3c6a19d395" "checksum kvdb-web 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37a0e36637fb86454de401e7cb88f40eb0ad1b9bcee837d46785e7c451f1ebf4" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" diff --git a/availability-store/Cargo.toml b/availability-store/Cargo.toml index 12a41fd6ac008..dedb863928e91 100644 --- a/availability-store/Cargo.toml +++ b/availability-store/Cargo.toml @@ -14,18 +14,18 @@ log = "0.4.8" futures = "0.3.1" tokio = { version = "0.2.4", features = ["rt-core"] } exit-future = "0.2.0" -codec = { package = "parity-scale-codec", version = "1.1.0", default-features = false, features = ["derive"] } +codec = { package = "parity-scale-codec", version = "1.1.0", features = ["derive"] } sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } consensus_common = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } client = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } keystore = { package = "sc-keystore", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -kvdb = "0.2.0" -kvdb-memorydb = "0.2.0" +kvdb = "0.3.1" +kvdb-memorydb = "0.3.1" [target.'cfg(not(target_os = "unknown"))'.dependencies] -kvdb-rocksdb = "0.3" +kvdb-rocksdb = "0.4.1" diff --git a/availability-store/src/lib.rs b/availability-store/src/lib.rs index 1a6c298211c8e..d62eafae0d7e6 100644 --- a/availability-store/src/lib.rs +++ b/availability-store/src/lib.rs @@ -32,19 +32,20 @@ use polkadot_primitives::{ ParachainHost, }, }; -use sp_runtime::traits::{BlakeTwo256, Hash as HashT, ProvideRuntimeApi}; +use sp_runtime::traits::{BlakeTwo256, Hash as HashT, HasherFor}; use sp_blockchain::{Result as ClientResult}; use client::{ BlockchainEvents, BlockBody, }; -use sp_api::ApiExt; -use std::pin::Pin; +use sp_api::{ApiExt, ProvideRuntimeApi}; + use log::warn; use std::sync::Arc; use std::collections::HashSet; use std::path::PathBuf; use std::io; +use std::pin::Pin; mod worker; mod store; @@ -200,9 +201,11 @@ impl Store { keystore: KeyStorePtr, ) -> ClientResult> where - P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, P::Api: ParachainHost, P::Api: ApiExt, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let to_worker = self.to_worker.clone(); diff --git a/availability-store/src/worker.rs b/availability-store/src/worker.rs index 5ae200e8cfbe6..9621797d0869e 100644 --- a/availability-store/src/worker.rs +++ b/availability-store/src/worker.rs @@ -21,8 +21,8 @@ use std::thread; use log::{error, info, trace, warn}; use sp_blockchain::{Result as ClientResult}; -use sp_runtime::traits::{Header as HeaderT, ProvideRuntimeApi, Block as BlockT}; -use sp_api::ApiExt; +use sp_runtime::traits::{Header as HeaderT, Block as BlockT, HasherFor}; +use sp_api::{ApiExt, ProvideRuntimeApi}; use client::{ BlockchainEvents, BlockBody, blockchain::ProvideCache, @@ -207,8 +207,10 @@ where fn fetch_candidates

(client: &P, extrinsics: Vec<::Extrinsic>, parent: &BlockId) -> ClientResult>> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let api = client.runtime_api(); @@ -228,9 +230,11 @@ where /// Creates a task to prune entries in availability store upon block finalization. async fn prune_unneeded_availability(client: Arc

, mut sender: S) where - P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, P::Api: ParachainHost + ApiExt, S: Sink + Clone + Send + Sync + Unpin, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let mut finality_notification_stream = client.finality_notification_stream(); @@ -624,16 +628,19 @@ impl Drop for AvailabilityBlockImport { } impl BlockImport for AvailabilityBlockImport where - I: BlockImport + Send + Sync, + I: BlockImport> + Send + Sync, I::Error: Into, - P: ProvideRuntimeApi + ProvideCache, + P: ProvideRuntimeApi + ProvideCache, P::Api: ParachainHost, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend { type Error = ConsensusError; + type Transaction = sp_api::TransactionFor; fn import_block( &mut self, - block: BlockImportParams, + block: BlockImportParams, new_cache: HashMap>, ) -> Result { trace!( @@ -745,9 +752,11 @@ impl AvailabilityBlockImport { to_worker: mpsc::UnboundedSender, ) -> Self where - P: ProvideRuntimeApi + BlockBody + BlockchainEvents + Send + Sync + 'static, + P: ProvideRuntimeApi + BlockBody + BlockchainEvents + Send + Sync + 'static, P::Api: ParachainHost, P::Api: ApiExt, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let (signal, exit) = exit_future::signal(); diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 889a0cb08c45b..b13dc48a94baa 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -14,6 +14,13 @@ futures = { version = "0.3.1", features = ["compat"] } futures01 = { package = "futures", version = "0.1.29" } structopt = "=0.3.7" sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } service = { package = "polkadot-service", path = "../service", default-features = false } tokio = { version = "0.1.22", optional = true } diff --git a/cli/src/lib.rs b/cli/src/lib.rs index c8555ac8dc313..2878ead43d54d 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -31,10 +31,11 @@ use futures::{ use tokio::runtime::Runtime; use log::info; use structopt::StructOpt; +use sp_api::ConstructRuntimeApi; pub use service::{ - AbstractService, CustomConfiguration, ProvideRuntimeApi, CoreApi, ParachainHost, IsKusama, self, - WrappedExecutor + AbstractService, CustomConfiguration, ProvideRuntimeApi, CoreApi, ParachainHost, IsKusama, + WrappedExecutor, Block, self, RuntimeApiCollection, TFullClient }; pub use sc_cli::{VersionInfo, IntoExit, NoCustom, SharedParams}; @@ -101,6 +102,25 @@ pub fn run(exit: E, version: sc_cli::VersionInfo) -> error::Result< } } +#[cfg(feature = "cli")] +use sp_core::Blake2Hasher; + +#[cfg(feature = "cli")] +// We can't simply use `service::TLightClient` due to a +// Rust bug: https://github.com/rust-lang/rust/issues/43580 +type TLightClient = sc_client::Client< + sc_client::light::backend::Backend, Blake2Hasher>, + sc_client::light::call_executor::GenesisCallExecutor< + sc_client::light::backend::Backend, Blake2Hasher>, + sc_client::LocalCallExecutor< + sc_client::light::backend::Backend, Blake2Hasher>, + sc_executor::NativeExecutor + > + >, + Block, + Runtime +>; + /// Execute the given `cmd` with the given runtime. #[cfg(feature = "cli")] fn execute_cmd_with_runtime( @@ -110,14 +130,23 @@ fn execute_cmd_with_runtime( spec: Option, ) -> error::Result<()> where - R: service::ConstructRuntimeApi> - + service::ConstructRuntimeApi> + R: ConstructRuntimeApi> + Send + Sync + 'static, - >>::RuntimeApi: service::RuntimeApiCollection, - >>::RuntimeApi: service::RuntimeApiCollection, + >>::RuntimeApi: + RuntimeApiCollection, Block>>, + >>::RuntimeApi: + RuntimeApiCollection, Block>>, E: service::Codec + Send + Sync + 'static, D: service::NativeExecutionDispatch + 'static, X: IntoExit, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + <>>::RuntimeApi as sp_api::ApiExt>::StateBackend: + sp_api::StateBackend, + // Rust bug: https://github.com/rust-lang/rust/issues/43580 + R: ConstructRuntimeApi< + Block, + TLightClient + >, { let is_kusama = spec.as_ref().map_or(false, |s| s.is_kusama()); // Use preloaded spec diff --git a/collator/Cargo.toml b/collator/Cargo.toml index 010bc6917aa58..829a9a03f45f9 100644 --- a/collator/Cargo.toml +++ b/collator/Cargo.toml @@ -7,11 +7,13 @@ edition = "2018" [dependencies] futures = "0.3.1" -client = { package = "sc-client", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client-api = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } consensus_common = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } polkadot-primitives = { path = "../primitives" } polkadot-cli = { path = "../cli" } @@ -21,6 +23,7 @@ polkadot-service = { path = "../service" } log = "0.4.8" tokio = "0.1.22" futures-timer = "1.0" +codec = { package = "parity-scale-codec", version = "1.1.0" } [dev-dependencies] keyring = { package = "sp-keyring", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/collator/src/lib.rs b/collator/src/lib.rs index a4eac26ef757a..12e51573f55da 100644 --- a/collator/src/lib.rs +++ b/collator/src/lib.rs @@ -52,8 +52,8 @@ use std::pin::Pin; use futures::{future, Future, Stream, FutureExt, TryFutureExt, StreamExt, task::Spawn}; use log::warn; -use client::BlockchainEvents; -use primitives::{Pair, Blake2Hasher}; +use sc_client::BlockchainEvents; +use sp_core::{Pair, Blake2Hasher}; use polkadot_primitives::{ BlockId, Hash, Block, parachain::{ @@ -128,7 +128,7 @@ impl fmt::Display for Error { } /// The Polkadot client type. -pub type PolkadotClient = client::Client; +pub type PolkadotClient = sc_client::Client; /// Something that can build a `ParachainContext`. pub trait BuildParachainContext { @@ -136,15 +136,20 @@ pub trait BuildParachainContext { type ParachainContext: self::ParachainContext; /// Build the `ParachainContext`. - fn build( + fn build( self, client: Arc>, spawner: SP, network: Arc, ) -> Result where - B: client_api::backend::Backend + 'static, - E: client::CallExecutor + Clone + Send + Sync + 'static, + PolkadotClient: ProvideRuntimeApi, + as ProvideRuntimeApi>::Api: service::RuntimeApiCollection, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + < as ProvideRuntimeApi>::Api as sp_api::ApiExt>::StateBackend: + sp_api::StateBackend, + Extrinsic: codec::Codec + Send + Sync + 'static, + E: sc_client::CallExecutor + Clone + Send + Sync + 'static, SP: Spawn + Clone + Send + Sync + 'static; } @@ -236,7 +241,7 @@ struct ApiContext { } impl RelayChainContext for ApiContext where - P: ProvideRuntimeApi + Send + Sync, + P: ProvideRuntimeApi + Send + Sync, P::Api: ParachainHost, E: futures::Future + Clone + Send + Sync + 'static, SP: Spawn + Clone + Send + Sync @@ -266,7 +271,7 @@ impl RelayChainContext for ApiContext( +fn run_collator_node( service: S, exit: E, para_id: ParaId, @@ -275,19 +280,27 @@ fn run_collator_node( ) -> polkadot_cli::error::Result<()> where S: AbstractService, - client::Client: ProvideRuntimeApi, - as ProvideRuntimeApi>::Api: - ParachainHost, + sc_client::Client: ProvideRuntimeApi, + as ProvideRuntimeApi>::Api: + service::RuntimeApiCollection< + Extrinsic, + Error = sp_blockchain::Error, + StateBackend = sc_client_api::StateBackendFor + >, // Rust bug: https://github.com/rust-lang/rust/issues/24159 - S::Backend: service::Backend, + S::Backend: service::Backend, // Rust bug: https://github.com/rust-lang/rust/issues/24159 - S::CallExecutor: service::CallExecutor, + >::State: + sp_api::StateBackend>, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + S::CallExecutor: service::CallExecutor, // Rust bug: https://github.com/rust-lang/rust/issues/24159 S::SelectChain: service::SelectChain, E: futures::Future + Clone + Unpin + Send + Sync + 'static, P: BuildParachainContext, P::ParachainContext: Send + 'static, ::ProduceCandidate: Send, + Extrinsic: service::Codec + Send + Sync + 'static, { let runtime = tokio::runtime::Runtime::new().map_err(|e| format!("{:?}", e))?; let spawner = WrappedExecutor(service.spawn_task_handle()); diff --git a/network/Cargo.toml b/network/Cargo.toml index ade23fb8e0920..11197ea03d24a 100644 --- a/network/Cargo.toml +++ b/network/Cargo.toml @@ -22,8 +22,9 @@ log = "0.4.8" exit-future = "0.2.0" sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } wasm-timer = "0.2.4" [dev-dependencies] sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/network/src/gossip.rs b/network/src/gossip.rs index 9fbae53d83ea2..93154bb16b314 100644 --- a/network/src/gossip.rs +++ b/network/src/gossip.rs @@ -49,7 +49,7 @@ //! Peers who send information which was not allowed under a recent neighbor packet //! will be noted as non-beneficial to Substrate's peer-set management utility. -use sp_runtime::{generic::BlockId, traits::{ProvideRuntimeApi, BlakeTwo256, Hash as HashT}}; +use sp_runtime::{generic::BlockId, traits::{BlakeTwo256, Hash as HashT}}; use sp_blockchain::Error as ClientError; use sc_network::{config::Roles, Context, PeerId, ReputationChange}; use sc_network_gossip::{ @@ -63,6 +63,7 @@ use polkadot_primitives::parachain::{ }; use polkadot_erasure_coding::{self as erasure}; use codec::{Decode, Encode}; +use sp_api::ProvideRuntimeApi; use std::collections::HashMap; use std::sync::Arc; @@ -273,8 +274,8 @@ pub trait ChainContext: Send + Sync { impl ChainContext for (F, P) where F: Fn(&Hash) -> Option + Send + Sync, P: Send + Sync + std::ops::Deref, - P::Target: ProvideRuntimeApi, - ::Api: ParachainHost, + P::Target: ProvideRuntimeApi, + >::Api: ParachainHost, { fn is_known(&self, block_hash: &Hash) -> Option { (self.0)(block_hash) diff --git a/network/src/router.rs b/network/src/router.rs index 67c8ff0ae4839..80d9943e0fe70 100644 --- a/network/src/router.rs +++ b/network/src/router.rs @@ -23,7 +23,7 @@ //! the `TableRouter` trait from `polkadot-validation`, which is expected to call into a shared statement table //! and dispatch evaluation work as necessary when new statements come in. -use sp_runtime::traits::{ProvideRuntimeApi, BlakeTwo256, Hash as HashT}; +use sp_runtime::traits::{BlakeTwo256, Hash as HashT}; use polkadot_validation::{ SharedTable, TableRouter, SignedStatement, GenericStatement, ParachainWork, Validated }; @@ -32,6 +32,7 @@ use polkadot_primitives::parachain::{ OutgoingMessages, CandidateReceipt, ParachainHost, ValidatorIndex, Collation, PoVBlock, ErasureChunk, }; use crate::gossip::{RegisteredMessageValidator, GossipMessage, GossipStatement, ErasureChunkMessage}; +use sp_api::ProvideRuntimeApi; use futures::prelude::*; use futures::{task::SpawnExt, future::{ready, select}}; @@ -127,7 +128,7 @@ impl Clone for Router { } } -impl Router where +impl + Send + Sync + 'static, E, T> Router where P::Api: ParachainHost, T: Clone + Executor + Send + 'static, E: Future + Clone + Send + Unpin + 'static, @@ -225,7 +226,7 @@ impl Router where } } -impl TableRouter for Router where +impl + Send, E, T> TableRouter for Router where P::Api: ParachainHost, T: Clone + Executor + Send + 'static, E: Future + Clone + Send + 'static, diff --git a/network/src/tests/mod.rs b/network/src/tests/mod.rs index 9f4bf775014c6..05122202f55aa 100644 --- a/network/src/tests/mod.rs +++ b/network/src/tests/mod.rs @@ -29,8 +29,7 @@ use polkadot_primitives::parachain::{ use sp_core::crypto::UncheckedInto; use codec::Encode; use sc_network::{ - PeerId, Context, ReputationChange, config::Roles, message::generic::ConsensusMessage, - specialization::NetworkSpecialization, + PeerId, Context, ReputationChange, config::Roles, specialization::NetworkSpecialization, }; use futures::executor::block_on; @@ -57,10 +56,6 @@ impl Context for TestContext { } } - fn send_consensus(&mut self, _who: PeerId, _consensus: Vec) { - unimplemented!() - } - fn send_chain_specific(&mut self, who: PeerId, message: Vec) { self.messages.push((who, message)) } diff --git a/network/src/tests/validation.rs b/network/src/tests/validation.rs index 3b4af7b25456a..0762756fce384 100644 --- a/network/src/tests/validation.rs +++ b/network/src/tests/validation.rs @@ -34,8 +34,8 @@ use polkadot_primitives::parachain::{ }; use parking_lot::Mutex; use sp_blockchain::Result as ClientResult; -use sp_api::{Core, RuntimeVersion, StorageProof, ApiExt}; -use sp_runtime::traits::{ApiRef, {Block as BlockT}, ProvideRuntimeApi}; +use sp_api::{ApiRef, Core, RuntimeVersion, StorageProof, ApiErrorExt, ApiExt, ProvideRuntimeApi}; +use sp_runtime::traits::Block as BlockT; use std::collections::HashMap; use std::sync::Arc; @@ -161,7 +161,7 @@ struct RuntimeApi { data: Arc>, } -impl ProvideRuntimeApi for TestApi { +impl ProvideRuntimeApi for TestApi { type Api = RuntimeApi; fn runtime_api<'a>(&'a self) -> ApiRef<'a, Self::Api> { @@ -201,8 +201,12 @@ impl Core for RuntimeApi { } } -impl ApiExt for RuntimeApi { +impl ApiErrorExt for RuntimeApi { type Error = sp_blockchain::Error; +} + +impl ApiExt for RuntimeApi { + type StateBackend = sp_state_machine::InMemoryBackend>; fn map_api_result Result, R, E>( &self, @@ -220,6 +224,19 @@ impl ApiExt for RuntimeApi { fn extract_proof(&mut self) -> Option { None } + + fn into_storage_changes< + T: sp_api::ChangesTrieStorage, sp_api::NumberFor> + >( + &self, + _: &Self::StateBackend, + _: Option<&T>, + _: ::Hash, + ) -> std::result::Result, String> + where Self: Sized + { + unimplemented!("Not required for testing!") + } } impl ParachainHost for RuntimeApi { diff --git a/network/src/validation.rs b/network/src/validation.rs index 0af0e65e6ea66..214730656ae3c 100644 --- a/network/src/validation.rs +++ b/network/src/validation.rs @@ -19,7 +19,6 @@ //! This fulfills the `polkadot_validation::Network` trait, providing a hook to be called //! each time validation leaf work begins on a new chain head. -use sp_runtime::traits::ProvideRuntimeApi; use sc_network::PeerId; use polkadot_validation::{ Network as ParachainNetwork, SharedTable, Collators, Statement, GenericStatement, SignedStatement, @@ -29,6 +28,7 @@ use polkadot_primitives::parachain::{ Id as ParaId, Collation, OutgoingMessages, ParachainHost, CandidateReceipt, CollatorId, ValidatorId, PoVBlock, }; +use sp_api::ProvideRuntimeApi; use futures::prelude::*; use futures::task::SpawnExt; @@ -93,7 +93,7 @@ impl Clone for ValidationNetwork { } impl ValidationNetwork where - P: ProvideRuntimeApi + Send + Sync + 'static, + P: ProvideRuntimeApi + Send + Sync + 'static, P::Api: ParachainHost, E: Clone + Future + Send + Sync + 'static, T: Clone + Executor + Send + Sync + 'static, @@ -177,7 +177,7 @@ impl ValidationNetwork { /// A long-lived network which can create parachain statement routing processes on demand. impl ParachainNetwork for ValidationNetwork where - P: ProvideRuntimeApi + Send + Sync + 'static, + P: ProvideRuntimeApi + Send + Sync + 'static, P::Api: ParachainHost, E: Clone + Future + Send + Sync + Unpin + 'static, T: Clone + Executor + Send + Sync + 'static, @@ -235,7 +235,7 @@ impl ParachainNetwork for ValidationNetwork where pub struct NetworkDown; impl Collators for ValidationNetwork where - P: ProvideRuntimeApi + Send + Sync + 'static, + P: ProvideRuntimeApi + Send + Sync + 'static, P::Api: ParachainHost, { type Error = NetworkDown; @@ -572,7 +572,7 @@ impl Clone for LeafWorkDataFetcher { } } -impl LeafWorkDataFetcher where +impl + Send, E, T> LeafWorkDataFetcher where P::Api: ParachainHost, T: Clone + Executor + Send + 'static, E: Future + Clone + Send + 'static, diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 4274382e52097..b3988bf640016 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -9,6 +9,7 @@ client = { package = "sc-client", git = "https://github.com/paritytech/substrate jsonrpc-core = "14.0.3" polkadot-primitives = { path = "../primitives" } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } txpool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } frame-rpc-system = { package = "substrate-frame-rpc-system", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index a4db79bec3e9c..3b27b2543435c 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -21,7 +21,7 @@ use std::sync::Arc; use polkadot_primitives::{Block, AccountId, Nonce, Balance}; -use sp_runtime::traits::ProvideRuntimeApi; +use sp_api::ProvideRuntimeApi; use txpool_api::TransactionPool; /// A type representing all RPC extensions. @@ -29,7 +29,7 @@ pub type RpcExtension = jsonrpc_core::IoHandler; /// Instantiate all RPC extensions. pub fn create_full(client: Arc, pool: Arc

) -> RpcExtension where - C: ProvideRuntimeApi, + C: ProvideRuntimeApi, C: client::blockchain::HeaderBackend, C: Send + Sync + 'static, C::Api: frame_rpc_system::AccountNonceApi, @@ -58,7 +58,7 @@ pub fn create_light( pool: Arc

, ) -> RpcExtension where - C: ProvideRuntimeApi, + C: ProvideRuntimeApi, C: client::blockchain::HeaderBackend, C: Send + Sync + 'static, C::Api: frame_rpc_system::AccountNonceApi, diff --git a/runtime/common/src/claims.rs b/runtime/common/src/claims.rs index e69c74df1a703..a2bef829fa9df 100644 --- a/runtime/common/src/claims.rs +++ b/runtime/common/src/claims.rs @@ -317,6 +317,7 @@ mod tests { impl balances::Trait for Test { type Balance = u64; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); @@ -335,6 +336,7 @@ mod tests { type Currency = Balances; type Prefix = Prefix; } + type System = system::Module; type Balances = balances::Module; type Claims = Module; diff --git a/runtime/common/src/crowdfund.rs b/runtime/common/src/crowdfund.rs index ba599400e5f60..801fd7a844d46 100644 --- a/runtime/common/src/crowdfund.rs +++ b/runtime/common/src/crowdfund.rs @@ -555,6 +555,7 @@ mod tests { impl balances::Trait for Test { type Balance = u64; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); diff --git a/runtime/common/src/parachains.rs b/runtime/common/src/parachains.rs index 02f7a728cedfa..63d1fc4e9f0bb 100644 --- a/runtime/common/src/parachains.rs +++ b/runtime/common/src/parachains.rs @@ -1023,6 +1023,7 @@ mod tests { impl balances::Trait for Test { type Balance = Balance; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); @@ -1647,14 +1648,14 @@ mod tests { let duty_roster_0 = Parachains::calculate_duty_roster().0; check_roster(&duty_roster_0); - System::initialize(&1, &H256::from([1; 32]), &Default::default(), &Default::default()); + System::initialize(&1, &H256::from([1; 32]), &Default::default(), &Default::default(), Default::default()); RandomnessCollectiveFlip::on_initialize(1); let duty_roster_1 = Parachains::calculate_duty_roster().0; check_roster(&duty_roster_1); assert_ne!(duty_roster_0, duty_roster_1); - System::initialize(&2, &H256::from([2; 32]), &Default::default(), &Default::default()); + System::initialize(&2, &H256::from([2; 32]), &Default::default(), &Default::default(), Default::default()); RandomnessCollectiveFlip::on_initialize(2); let duty_roster_2 = Parachains::calculate_duty_roster().0; check_roster(&duty_roster_2); diff --git a/runtime/common/src/registrar.rs b/runtime/common/src/registrar.rs index 431a3b3d201e1..510b5424b51e5 100644 --- a/runtime/common/src/registrar.rs +++ b/runtime/common/src/registrar.rs @@ -647,6 +647,7 @@ mod tests { impl balances::Trait for Test { type Balance = Balance; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); diff --git a/runtime/common/src/slots.rs b/runtime/common/src/slots.rs index 06250198189b6..566162180377d 100644 --- a/runtime/common/src/slots.rs +++ b/runtime/common/src/slots.rs @@ -874,6 +874,7 @@ mod tests { impl balances::Trait for Test { type Balance = u64; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index c1837d52662fc..ab4b112a9e266 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -174,6 +174,7 @@ pub type DealWithFees = SplitTwoWays< impl balances::Trait for Runtime { type Balance = Balance; type OnFreeBalanceZero = Staking; + type OnReapAccount = System; type OnNewAccount = Indices; type Event = Event; type DustRemoval = (); @@ -680,8 +681,8 @@ sp_api::impl_runtime_apis! { } impl offchain_primitives::OffchainWorkerApi for Runtime { - fn offchain_worker(number: sp_runtime::traits::NumberFor) { - Executive::offchain_worker(number) + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) } } diff --git a/runtime/polkadot/build.rs b/runtime/polkadot/build.rs index 3cc30ddb06b02..2f597b9915291 100644 --- a/runtime/polkadot/build.rs +++ b/runtime/polkadot/build.rs @@ -1,7 +1,7 @@ // Copyright 2019-2020 Parity Technologies (UK) Ltd. // This file is part of Polkadot. -// Substrate is free software: you can redistribute it and/or modify +// Polkadot is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 12b347c7d1709..7b918e15839d8 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -178,6 +178,7 @@ pub type DealWithFees = SplitTwoWays< impl balances::Trait for Runtime { type Balance = Balance; type OnFreeBalanceZero = Staking; + type OnReapAccount = System; type OnNewAccount = Indices; type Event = Event; type DustRemoval = (); @@ -650,8 +651,8 @@ sp_api::impl_runtime_apis! { } impl offchain_primitives::OffchainWorkerApi for Runtime { - fn offchain_worker(number: sp_runtime::traits::NumberFor) { - Executive::offchain_worker(number) + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) } } diff --git a/service/Cargo.toml b/service/Cargo.toml index afa230693ebbe..fe241f093811e 100644 --- a/service/Cargo.toml +++ b/service/Cargo.toml @@ -24,10 +24,10 @@ sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-ma sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client = { package = "sc-client", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client-api = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client-db = { package = "sc-client-db", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } @@ -35,7 +35,7 @@ consensus_common = { package = "sp-consensus", git = "https://github.com/parityt grandpa = { package = "sc-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } grandpa_primitives = { package = "sp-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -service = { package = "sc-service", git = "https://github.com/paritytech/substrate", branch = "polkadot-master", default-features = false } +service = { package = "sc-service", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } telemetry = { package = "sc-telemetry", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/service/src/chain_spec.rs b/service/src/chain_spec.rs index a504ab970be1a..6301fa31fd45d 100644 --- a/service/src/chain_spec.rs +++ b/service/src/chain_spec.rs @@ -16,7 +16,7 @@ //! Polkadot chain configurations. -use primitives::{Pair, Public, crypto::UncheckedInto, sr25519}; +use sp_core::{Pair, Public, crypto::UncheckedInto, sr25519}; use polkadot_primitives::{AccountId, AccountPublic, parachain::ValidatorId}; use polkadot_runtime as polkadot; use polkadot_runtime::constants::currency::DOTS; @@ -42,9 +42,9 @@ const DEFAULT_PROTOCOL_ID: &str = "dot"; #[serde(rename_all = "camelCase")] pub struct Extensions { /// Block numbers with known hashes. - pub fork_blocks: client::ForkBlocks, + pub fork_blocks: sc_client::ForkBlocks, /// Known bad block hashes. - pub bad_blocks: client::BadBlocks, + pub bad_blocks: sc_client::BadBlocks, } /// The `ChainSpec`. diff --git a/service/src/lib.rs b/service/src/lib.rs index 3167ea235569c..e18a916007a14 100644 --- a/service/src/lib.rs +++ b/service/src/lib.rs @@ -19,7 +19,7 @@ pub mod chain_spec; use futures::{FutureExt, TryFutureExt, task::{Spawn, SpawnError, FutureObj}}; -use client::LongestChain; +use sc_client::LongestChain; use std::sync::Arc; use std::time::Duration; use polkadot_primitives::{parachain, Hash, BlockId, AccountId, Nonce, Balance}; @@ -35,15 +35,16 @@ pub use service::{ }; pub use service::config::{DatabaseConfig, full_version_from_strs}; pub use sc_executor::NativeExecutionDispatch; -pub use client::{ExecutionStrategy, CallExecutor, Client}; -pub use client_api::backend::Backend; -pub use sp_api::{Core as CoreApi, ConstructRuntimeApi}; +pub use sc_client::{ExecutionStrategy, CallExecutor, Client}; +pub use sc_client_api::backend::Backend; +pub use sp_api::{Core as CoreApi, ConstructRuntimeApi, ProvideRuntimeApi, StateBackend}; +pub use sp_runtime::traits::HasherFor; pub use consensus_common::SelectChain; -pub use polkadot_network::{PolkadotProtocol}; +pub use polkadot_network::PolkadotProtocol; pub use polkadot_primitives::parachain::{CollatorId, ParachainHost}; pub use polkadot_primitives::Block; -pub use primitives::Blake2Hasher; -pub use sp_runtime::traits::{Block as BlockT, ProvideRuntimeApi, self as runtime_traits}; +pub use sp_core::Blake2Hasher; +pub use sp_runtime::traits::{Block as BlockT, self as runtime_traits}; pub use sc_network::specialization::NetworkSpecialization; pub use chain_spec::ChainSpec; #[cfg(not(target_os = "unknown"))] @@ -127,6 +128,7 @@ pub trait RuntimeApiCollection + authority_discovery_primitives::AuthorityDiscoveryApi where Extrinsic: RuntimeExtrinsic, + >::StateBackend: sp_api::StateBackend, {} impl RuntimeApiCollection for Api @@ -144,6 +146,7 @@ where + sp_session::SessionKeys + authority_discovery_primitives::AuthorityDiscoveryApi, Extrinsic: RuntimeExtrinsic, + >::StateBackend: sp_api::StateBackend, {} pub trait RuntimeExtrinsic: codec::Codec + Send + Sync + 'static @@ -176,7 +179,7 @@ macro_rules! new_full_start { Block, $runtime, $executor >($config)? .with_select_chain(|_, backend| { - Ok(client::LongestChain::new(backend.clone())) + Ok(sc_client::LongestChain::new(backend.clone())) })? .with_transaction_pool(|config, client, _fetcher| { let pool_api = sc_transaction_pool::FullChainApi::new(client.clone()); @@ -228,9 +231,11 @@ pub fn new_chain_ops(config: Configuration) -> Result, ServiceError> where Runtime: ConstructRuntimeApi> + Send + Sync + 'static, - Runtime::RuntimeApi: RuntimeApiCollection, + Runtime::RuntimeApi: + RuntimeApiCollection, Block>>, Dispatch: NativeExecutionDispatch + 'static, Extrinsic: RuntimeExtrinsic, + >::StateBackend: sp_api::StateBackend, { Ok(new_full_start!(config, Runtime, Dispatch).0) } @@ -275,9 +280,12 @@ pub fn new_full(config: Configuration) >, ServiceError> where Runtime: ConstructRuntimeApi> + Send + Sync + 'static, - Runtime::RuntimeApi: RuntimeApiCollection, + Runtime::RuntimeApi: + RuntimeApiCollection, Block>>, Dispatch: NativeExecutionDispatch + 'static, Extrinsic: RuntimeExtrinsic, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + >::StateBackend: sp_api::StateBackend, { use sc_network::Event; use futures::stream::StreamExt; @@ -304,6 +312,8 @@ pub fn new_full(config: Configuration) let (builder, mut import_setup, inherent_data_providers) = new_full_start!(config, Runtime, Dispatch); + let backend = builder.backend().clone(); + let service = builder .with_network_protocol(|config| Ok(PolkadotProtocol::new(config.custom.collating_for.clone())))? .with_finality_proof_provider(|client, backend| @@ -400,6 +410,7 @@ pub fn new_full(config: Configuration) availability_store.clone(), slot_duration, max_block_data_size, + backend, ); let client = service.client(); @@ -526,6 +537,24 @@ pub fn kusama_new_light(config: Configuration) new_light(config) } +// We can't use service::TLightClient due to +// Rust bug: https://github.com/rust-lang/rust/issues/43580 +type TLocalLightClient = Client< + sc_client::light::backend::Backend, sp_core::Blake2Hasher>, + sc_client::light::call_executor::GenesisCallExecutor< + sc_client::light::backend::Backend, sp_core::Blake2Hasher>, + sc_client::LocalCallExecutor< + sc_client::light::backend::Backend< + sc_client_db::light::LightStorage, + sp_core::Blake2Hasher + >, + sc_executor::NativeExecutor + > + >, + Block, + Runtime +>; + /// Builds a new service for a light client. pub fn new_light(config: Configuration) -> Result(config: Configuration) CallExecutor = TLightCallExecutor, >, ServiceError> where - Runtime: ConstructRuntimeApi> + Send + Sync + 'static, - Runtime::RuntimeApi: RuntimeApiCollection, + Runtime: Send + Sync + 'static, + Runtime::RuntimeApi: RuntimeApiCollection< + Extrinsic, + StateBackend = sc_client_api::StateBackendFor, Block> + >, Dispatch: NativeExecutionDispatch + 'static, Extrinsic: RuntimeExtrinsic, + Runtime: sp_api::ConstructRuntimeApi< + Block, + TLocalLightClient, + >, { let inherent_data_providers = InherentDataProviders::new(); diff --git a/test-parachains/adder/collator/src/main.rs b/test-parachains/adder/collator/src/main.rs index 00f11851a8e5f..0d9cf69379d20 100644 --- a/test-parachains/adder/collator/src/main.rs +++ b/test-parachains/adder/collator/src/main.rs @@ -21,10 +21,10 @@ use std::collections::HashMap; use std::sync::Arc; use adder::{HeadData as AdderHead, BlockData as AdderBody}; -use sp_core::{Pair, Blake2Hasher}; +use sp_core::Pair; use codec::{Encode, Decode}; use primitives::{ - Hash, Block, + Hash, parachain::{ HeadData, BlockData, Id as ParaId, Message, OutgoingMessages, Status as ParachainStatus, }, @@ -33,7 +33,7 @@ use collator::{ InvalidHead, ParachainContext, Network, BuildParachainContext, load_spec, Configuration, }; use parking_lot::Mutex; -use futures::{future::{Ready, ok, err}, task::Spawn}; +use futures::future::{Ready, ok, err}; const GENESIS: AdderHead = AdderHead { number: 0, @@ -108,17 +108,12 @@ impl ParachainContext for AdderContext { impl BuildParachainContext for AdderContext { type ParachainContext = Self; - fn build( + fn build( self, _: Arc>, _: SP, network: Arc, - ) -> Result - where - B: client_api::backend::Backend + 'static, - E: client::CallExecutor + Clone + Send + Sync + 'static, - SP: Spawn + Clone + Send + Sync + 'static, - { + ) -> Result { Ok(Self { _network: Some(network), ..self }) } } diff --git a/validation/Cargo.toml b/validation/Cargo.toml index cd634e6b2c2aa..6de59cc5e5ac1 100644 --- a/validation/Cargo.toml +++ b/validation/Cargo.toml @@ -24,9 +24,9 @@ inherents = { package = "sp-inherents", git = "https://github.com/paritytech/sub consensus = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } txpool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } block-builder = { package = "sc-block-builder", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } trie = { package = "sp-trie", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/validation/src/attestation_service.rs b/validation/src/attestation_service.rs index 8a80144bbffe5..a5087f1cd4081 100644 --- a/validation/src/attestation_service.rs +++ b/validation/src/attestation_service.rs @@ -25,7 +25,7 @@ use std::{thread, time::Duration, sync::Arc}; -use client::{BlockchainEvents, BlockBody}; +use sc_client_api::{BlockchainEvents, BlockBody}; use sp_blockchain::HeaderBackend; use block_builder::BlockBuilderApi; use consensus::SelectChain; @@ -33,10 +33,10 @@ use futures::prelude::*; use futures::{future::{ready, select}, task::{Spawn, SpawnExt}}; use polkadot_primitives::Block; use polkadot_primitives::parachain::ParachainHost; -use runtime_primitives::traits::{ProvideRuntimeApi}; use babe_primitives::BabeApi; use keystore::KeyStorePtr; -use sp_api::ApiExt; +use sp_api::{ApiExt, ProvideRuntimeApi}; +use runtime_primitives::traits::HasherFor; use tokio::{runtime::Runtime as LocalRuntime}; use log::{warn, error}; @@ -64,7 +64,7 @@ pub(crate) fn start( C: Collators + Send + Sync + Unpin + 'static, C::Collation: Send + Unpin + 'static, P: BlockchainEvents + BlockBody, - P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + BabeApi + @@ -73,6 +73,8 @@ pub(crate) fn start( N::TableRouter: Send + 'static, N::BuildTableRouter: Send + Unpin + 'static, SC: SelectChain + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { const TIMER_INTERVAL: Duration = Duration::from_secs(30); diff --git a/validation/src/collation.rs b/validation/src/collation.rs index 08a1eb6fcf4e1..6adc87db71ec9 100644 --- a/validation/src/collation.rs +++ b/validation/src/collation.rs @@ -30,7 +30,7 @@ use polkadot_primitives::{ }, }; use polkadot_erasure_coding as erasure; -use runtime_primitives::traits::ProvideRuntimeApi; +use sp_api::ProvideRuntimeApi; use parachain::{ wasm_executor::{self, ExecutionMode}, TargetedMessage, UpwardMessage, }; @@ -72,7 +72,7 @@ pub async fn collation_fetch( where P::Api: ParachainHost, C: Collators + Unpin, - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, ::Collation: Unpin, { let relay_parent = BlockId::hash(relay_parent_hash); @@ -418,7 +418,7 @@ fn do_validation

( queue_roots: &Vec<(ParaId, Hash)>, upward_messages: &Vec, ) -> Result<(OutgoingMessages, Balance), Error> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, { use parachain::{IncomingMessage, ValidationParams}; @@ -544,7 +544,7 @@ pub fn validate_receipt

( receipt: &CandidateReceipt, max_block_data_size: Option, ) -> Result<(OutgoingMessages, Vec), Error> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, { let (messages, _fees) = do_validation( @@ -591,7 +591,7 @@ pub fn validate_collation

( collation: &Collation, max_block_data_size: Option, ) -> Result<(OutgoingMessages, Balance), Error> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, { let para_id = collation.info.parachain_index; diff --git a/validation/src/lib.rs b/validation/src/lib.rs index 706cb29c11ad1..87d9e64de8ec0 100644 --- a/validation/src/lib.rs +++ b/validation/src/lib.rs @@ -37,11 +37,11 @@ use std::{ }; use babe_primitives::BabeApi; -use client::{BlockchainEvents, BlockBody}; +use sc_client_api::{Backend, BlockchainEvents, BlockBody}; use sp_blockchain::HeaderBackend; use block_builder::BlockBuilderApi; use codec::Encode; -use consensus::SelectChain; +use consensus::{SelectChain, Proposal, RecordProof}; use availability_store::Store as AvailabilityStore; use parking_lot::Mutex; use polkadot_primitives::{Hash, Block, BlockId, BlockNumber, Header}; @@ -52,7 +52,7 @@ use polkadot_primitives::parachain::{ ValidatorPair, ValidatorId, NEW_HEADS_IDENTIFIER, }; use primitives::Pair; -use runtime_primitives::traits::{ProvideRuntimeApi, DigestFor}; +use runtime_primitives::traits::{DigestFor, HasherFor}; use futures_timer::Delay; use txpool_api::{TransactionPool, InPoolTransaction}; @@ -65,7 +65,7 @@ use inherents::InherentData; use sp_timestamp::TimestampInherentData; use log::{info, debug, warn, trace, error}; use keystore::KeyStorePtr; -use sp_api::ApiExt; +use sp_api::{ApiExt, ProvideRuntimeApi}; type TaskExecutor = Arc; @@ -118,7 +118,7 @@ pub trait TableRouter: Clone { collation: Collation, receipt: CandidateReceipt, outgoing: OutgoingMessages, - chunks: (ValidatorIndex, &[ErasureChunk]) + chunks: (ValidatorIndex, &[ErasureChunk]), ); /// Fetch validation proof for a specific candidate. @@ -175,7 +175,7 @@ pub fn check_statement( statement: &Statement, signature: &ValidatorSignature, signer: ValidatorId, - parent_hash: &Hash + parent_hash: &Hash, ) -> bool { use runtime_primitives::traits::AppVerify; @@ -277,11 +277,13 @@ struct ParachainValidation { impl ParachainValidation where C: Collators + Send + Unpin + 'static, N: Network, - P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + ApiExt, C::Collation: Send + Unpin + 'static, N::TableRouter: Send + 'static, N::BuildTableRouter: Unpin + Send + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { /// Get an attestation table for given parent hash. /// @@ -473,7 +475,7 @@ struct AttestationTracker { } /// Polkadot proposer factory. -pub struct ProposerFactory { +pub struct ProposerFactory { parachain_validation: Arc>, transaction_pool: Arc, keystore: KeyStorePtr, @@ -481,13 +483,14 @@ pub struct ProposerFactory { babe_slot_duration: u64, _select_chain: SC, max_block_data_size: Option, + backend: Arc, } -impl ProposerFactory where +impl ProposerFactory where C: Collators + Send + Sync + Unpin + 'static, C::Collation: Send + Unpin + 'static, P: BlockchainEvents + BlockBody, - P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + BabeApi + @@ -497,6 +500,8 @@ impl ProposerFactory where N::BuildTableRouter: Send + Unpin + 'static, TxPool: TransactionPool, SC: SelectChain + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { /// Create a new proposer factory. pub fn new( @@ -510,6 +515,7 @@ impl ProposerFactory where availability_store: AvailabilityStore, babe_slot_duration: u64, max_block_data_size: Option, + backend: Arc, ) -> Self { let parachain_validation = Arc::new(ParachainValidation { client: client.clone(), @@ -537,15 +543,16 @@ impl ProposerFactory where babe_slot_duration, _select_chain, max_block_data_size, + backend, } } } -impl consensus::Environment for ProposerFactory where +impl consensus::Environment for ProposerFactory where C: Collators + Send + Unpin + 'static, N: Network, TxPool: TransactionPool + 'static, - P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + BabeApi + @@ -554,8 +561,11 @@ impl consensus::Environment for ProposerFactory, + B: Backend> + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend> + Send, { - type Proposer = Proposer; + type Proposer = Proposer; type Error = Error; fn init( @@ -579,6 +589,7 @@ impl consensus::Environment for ProposerFactory where - C: ProvideRuntimeApi + HeaderBackend, -{ - client: Arc, +pub struct Proposer { + client: Arc, parent_hash: Hash, parent_id: BlockId, parent_number: BlockNumber, tracker: Arc, transaction_pool: Arc, slot_duration: u64, + backend: Arc, } -impl consensus::Proposer for Proposer where +impl consensus::Proposer for Proposer where TxPool: TransactionPool + 'static, - C: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, - C::Api: ParachainHost + BlockBuilderApi + ApiExt, + Client: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, + Client::Api: ParachainHost + BlockBuilderApi + ApiExt, + Backend: sc_client_api::Backend> + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend> + Send, { type Error = Error; - type Create = Pin> + Send>>; + type Transaction = sp_api::TransactionFor; + type Proposal = Pin< + Box< + dyn Future>, Error>> + + Send + > + >; fn propose(&mut self, inherent_data: InherentData, inherent_digests: DigestFor, max_duration: Duration, - ) -> Self::Create { + record_proof: RecordProof, + ) -> Self::Proposal { const SLOT_DURATION_DENOMINATOR: u64 = 3; // wait up to 1/3 of the slot for candidates. let initial_included = self.tracker.table.includable_count(); @@ -633,6 +653,7 @@ impl consensus::Proposer for Proposer where let client = self.client.clone(); let transaction_pool = self.transaction_pool.clone(); let table = self.tracker.table.clone(); + let backend = self.backend.clone(); async move { let enough_candidates = dynamic_inclusion.acceptable_in( @@ -663,6 +684,8 @@ impl consensus::Proposer for Proposer where inherent_digests, // leave some time for the proposal finalisation deadline, + record_proof, + backend, }; // set up delay until next allowed timestamp. @@ -690,26 +713,33 @@ fn current_timestamp() -> u64 { } /// Inner data of the create proposal. -struct CreateProposalData { +struct CreateProposalData { parent_hash: Hash, parent_number: BlockNumber, parent_id: BlockId, - client: Arc, + client: Arc, transaction_pool: Arc, table: Arc, believed_minimum_timestamp: u64, inherent_data: Option, inherent_digests: DigestFor, deadline: Instant, + record_proof: RecordProof, + backend: Arc, } -impl CreateProposalData where +impl CreateProposalData where TxPool: TransactionPool, - C: ProvideRuntimeApi + HeaderBackend + Send + Sync, - C::Api: ParachainHost + BlockBuilderApi + ApiExt, + Client: ProvideRuntimeApi + HeaderBackend + Send + Sync, + Client::Api: ParachainHost + BlockBuilderApi + ApiExt, + Backend: sc_client_api::Backend> + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend> + Send, { - fn propose_with(mut self, candidates: Vec) -> Result { - use block_builder::BlockBuilder; + fn propose_with( + mut self, + candidates: Vec, + ) -> Result>, Error> { use runtime_primitives::traits::{Hash as HashT, BlakeTwo256}; const MAX_TRANSACTIONS: usize = 40; @@ -722,12 +752,13 @@ impl CreateProposalData where let runtime_api = self.client.runtime_api(); - let mut block_builder = BlockBuilder::new( + let mut block_builder = block_builder::BlockBuilder::new( &*self.client, self.client.expect_block_hash_from_id(&self.parent_id)?, self.client.expect_block_number_from_id(&self.parent_id)?, - false, + self.record_proof, self.inherent_digests.clone(), + &*self.backend, )?; { @@ -771,7 +802,7 @@ impl CreateProposalData where self.transaction_pool.remove_invalid(&unqueue_invalid); } - let new_block = block_builder.bake()?; + let (new_block, storage_changes, proof) = block_builder.build()?.into_inner(); info!("Prepared block for proposing at {} [hash: {:?}; parent_hash: {}; extrinsics: [{}]]", new_block.header.number, @@ -793,7 +824,7 @@ impl CreateProposalData where &active_parachains[..], ).is_ok()); - Ok(new_block) + Ok(Proposal { block: new_block, storage_changes, proof }) } } diff --git a/validation/src/shared_table/mod.rs b/validation/src/shared_table/mod.rs index de7bd51316854..ad5eca61b3dae 100644 --- a/validation/src/shared_table/mod.rs +++ b/validation/src/shared_table/mod.rs @@ -37,7 +37,7 @@ use bitvec::bitvec; use super::{GroupInfo, TableRouter}; use self::includable::IncludabilitySender; use primitives::Pair; -use runtime_primitives::traits::ProvideRuntimeApi; +use sp_api::ProvideRuntimeApi; mod includable; @@ -270,7 +270,7 @@ pub struct ParachainWork { impl ParachainWork { /// Prime the parachain work with an API reference for extracting /// chain information. - pub fn prime(self, api: Arc

) + pub fn prime>(self, api: Arc

) -> PrimedParachainWork< Fetch, impl Send + FnMut(&BlockId, &PoVBlock, &CandidateReceipt) -> Result<(OutgoingMessages, ErasureChunk), ()> + Unpin,