From 08e47ab62bf0ff95503a431e30501b74b2b0e215 Mon Sep 17 00:00:00 2001 From: Seun Lanlege Date: Tue, 13 Jul 2021 16:45:27 +0100 Subject: [PATCH] Introduce test runner biolerplate (#2609) * adds test-runner boilerplate * revert to master * Update node/test/runtime/Cargo.toml Co-authored-by: Andronik Ordian * fix warning * use polkadot_development_config * remove vestigial code * ... * remove unused dependencies * adds simnet binary * adds simnet binary * merged with remote * dummy to check pipeline * add 2 docker files and a build cmd * adds logging * atempt to use binary from build host * fix simnet-binary * fix docker commands * switch branches * ... * update docker file * update the dockerfile 2 * add some message in the cheatsheet * add repo to chaches stage also * update paths * do only 1 stage build * add time when build cmd started * remove debugg commands * polkadot-simnet-substrate-working-version-v1 * reduce size of polkadot-simnet image * update test runner api * update test-runner * ... * revert to master * Merge branch 'master' of github.com:paritytech/polkadot into substrate-test-runner * bump impl version * remove unused imports, fix test * was_binary.to_vec() * Apply suggestions from code review Co-authored-by: Andronik Ordian * ... * remove unused import * remove unused import * adds post upgrade test * dry code * revert spec_version * update Cargo.lock * tested and it works * compare runtime spec version * fix spaces, remove docker files * replace spaces with tabs * Update runtime/polkadot/src/lib.rs Co-authored-by: Andronik Ordian * ... * revert Cargo.lock * bump cargo.lock Co-authored-by: Andronik Ordian Co-authored-by: radupopa2010 Co-authored-by: CI system <> --- Cargo.lock | 450 +++++++++++++------- Cargo.toml | 3 + node/test/polkadot-simnet/common/Cargo.toml | 44 ++ node/test/polkadot-simnet/common/src/lib.rs | 353 +++++++++++++++ node/test/polkadot-simnet/node/Cargo.toml | 8 + node/test/polkadot-simnet/node/src/main.rs | 30 ++ node/test/polkadot-simnet/test/Cargo.toml | 22 + node/test/polkadot-simnet/test/src/main.rs | 86 ++++ node/test/service/src/lib.rs | 2 +- runtime/polkadot/src/lib.rs | 4 +- 10 files changed, 843 insertions(+), 159 deletions(-) create mode 100644 node/test/polkadot-simnet/common/Cargo.toml create mode 100644 node/test/polkadot-simnet/common/src/lib.rs create mode 100644 node/test/polkadot-simnet/node/Cargo.toml create mode 100644 node/test/polkadot-simnet/node/src/main.rs create mode 100644 node/test/polkadot-simnet/test/Cargo.toml create mode 100644 node/test/polkadot-simnet/test/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index fe2440e4eb07..c8dde66a695f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1970,7 +1970,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", ] @@ -1988,7 +1988,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -2007,7 +2007,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "Inflector", "chrono", @@ -2031,7 +2031,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -2044,7 +2044,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -2059,7 +2059,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "14.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "serde", @@ -2070,7 +2070,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "bitflags", "frame-metadata", @@ -2096,7 +2096,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2108,7 +2108,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2120,7 +2120,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro2", "quote", @@ -2130,7 +2130,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-metadata", "frame-support", @@ -2150,7 +2150,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2167,7 +2167,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -2181,7 +2181,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sp-api", @@ -2190,7 +2190,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "parity-scale-codec", @@ -4611,7 +4611,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -4626,7 +4626,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -4640,7 +4640,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4663,7 +4663,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4692,7 +4692,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4770,7 +4770,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4786,7 +4786,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4801,7 +4801,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4822,7 +4822,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4839,7 +4839,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4853,7 +4853,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4875,7 +4875,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4890,7 +4890,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4909,7 +4909,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4925,7 +4925,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -4940,7 +4940,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4957,7 +4957,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -4973,7 +4973,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4991,7 +4991,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5006,7 +5006,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -5019,7 +5019,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -5035,7 +5035,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5057,7 +5057,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5072,7 +5072,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "enumflags2", "frame-support", @@ -5086,7 +5086,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5101,7 +5101,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -5121,7 +5121,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5137,7 +5137,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -5150,7 +5150,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5174,7 +5174,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5185,7 +5185,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "log", "sp-arithmetic", @@ -5194,7 +5194,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -5207,7 +5207,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5225,7 +5225,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5240,7 +5240,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-support", "frame-system", @@ -5256,7 +5256,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5273,7 +5273,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5284,7 +5284,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5300,7 +5300,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-benchmarking", "frame-support", @@ -5315,7 +5315,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6935,6 +6935,64 @@ dependencies = [ "westend-runtime", ] +[[package]] +name = "polkadot-simnet" +version = "0.9.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-collective", + "pallet-democracy", + "pallet-transaction-payment", + "parity-scale-codec", + "polkadot-cli", + "polkadot-primitives", + "polkadot-runtime", + "polkadot-runtime-common", + "polkadot-service", + "sc-cli", + "sc-consensus", + "sc-consensus-babe", + "sc-consensus-manual-seal", + "sc-executor", + "sc-finality-grandpa", + "sc-service", + "sc-tracing", + "sc-transaction-pool", + "sp-api", + "sp-consensus", + "sp-consensus-babe", + "sp-inherents", + "sp-keyring", + "sp-keystore", + "sp-runtime", + "structopt", + "test-runner", +] + +[[package]] +name = "polkadot-simnet-node" +version = "0.1.0" +dependencies = [ + "polkadot-simnet", +] + +[[package]] +name = "polkadot-simnet-test" +version = "0.1.0" +dependencies = [ + "frame-system", + "pallet-balances", + "polkadot-runtime", + "polkadot-simnet", + "sc-client-api", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + [[package]] name = "polkadot-statement-distribution" version = "0.1.0" @@ -7719,7 +7777,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "env_logger 0.8.4", "hex", @@ -8017,7 +8075,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "log", "sp-core", @@ -8028,7 +8086,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "derive_more", @@ -8057,7 +8115,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8080,7 +8138,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8096,7 +8154,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8116,7 +8174,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8127,7 +8185,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "chrono", "fdlimit", @@ -8165,7 +8223,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "fnv", @@ -8199,7 +8257,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "blake2-rfc", "hash-db", @@ -8229,7 +8287,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "parking_lot 0.11.1", @@ -8242,7 +8300,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "derive_more", @@ -8288,7 +8346,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "futures 0.3.15", @@ -8312,7 +8370,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8322,10 +8380,45 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "sc-consensus-manual-seal" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" +dependencies = [ + "assert_matches", + "async-trait", + "derive_more", + "futures 0.3.15", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keyring", + "sp-keystore", + "sp-runtime", + "sp-timestamp", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "futures 0.3.15", @@ -8353,7 +8446,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "sc-client-api", "sp-authorship", @@ -8364,7 +8457,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "lazy_static", @@ -8393,7 +8486,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "parity-scale-codec", @@ -8410,7 +8503,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "log", "parity-scale-codec", @@ -8425,7 +8518,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8445,7 +8538,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "derive_more", @@ -8486,7 +8579,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "finality-grandpa", @@ -8510,7 +8603,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "futures 0.3.15", @@ -8531,7 +8624,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "ansi_term 0.12.1", "futures 0.3.15", @@ -8549,7 +8642,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "derive_more", @@ -8569,7 +8662,7 @@ dependencies = [ [[package]] name = "sc-light" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "hash-db", "lazy_static", @@ -8588,7 +8681,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-std", "async-trait", @@ -8641,7 +8734,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "futures-timer 3.0.2", @@ -8658,7 +8751,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "bytes 0.5.6", "fnv", @@ -8686,7 +8779,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "libp2p", @@ -8699,7 +8792,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8708,7 +8801,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "hash-db", @@ -8743,7 +8836,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "futures 0.3.15", @@ -8768,7 +8861,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.1.29", "jsonrpc-core", @@ -8786,7 +8879,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "directories", @@ -8853,7 +8946,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "log", "parity-scale-codec", @@ -8868,7 +8961,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8888,7 +8981,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "chrono", "futures 0.3.15", @@ -8908,7 +9001,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8945,7 +9038,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8956,7 +9049,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "futures 0.3.15", @@ -8985,7 +9078,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "derive_more", "futures 0.3.15", @@ -9428,7 +9521,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "hash-db", "log", @@ -9445,7 +9538,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -9457,7 +9550,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "serde", @@ -9469,7 +9562,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "integer-sqrt", "num-traits", @@ -9483,7 +9576,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sp-api", @@ -9495,7 +9588,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "parity-scale-codec", @@ -9507,7 +9600,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sp-api", @@ -9519,7 +9612,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "log", @@ -9537,7 +9630,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "futures 0.3.15", @@ -9564,7 +9657,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "merlin", @@ -9586,7 +9679,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9596,7 +9689,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9608,7 +9701,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "base58", "blake2-rfc", @@ -9652,7 +9745,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9661,7 +9754,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro2", "quote", @@ -9671,7 +9764,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "environmental", "parity-scale-codec", @@ -9682,7 +9775,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "finality-grandpa", "log", @@ -9699,7 +9792,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9713,7 +9806,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "hash-db", @@ -9738,7 +9831,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "lazy_static", "sp-core", @@ -9749,7 +9842,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "derive_more", @@ -9766,7 +9859,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "ruzstd", "zstd", @@ -9775,7 +9868,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "serde", @@ -9788,7 +9881,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-compact" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9799,7 +9892,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "sp-api", "sp-core", @@ -9809,7 +9902,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "backtrace", ] @@ -9817,7 +9910,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "rustc-hash", "serde", @@ -9828,7 +9921,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "either", "hash256-std-hasher", @@ -9849,7 +9942,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9866,7 +9959,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9878,7 +9971,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "serde", "serde_json", @@ -9887,7 +9980,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sp-api", @@ -9900,7 +9993,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9910,7 +10003,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "hash-db", "log", @@ -9933,12 +10026,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" [[package]] name = "sp-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9951,7 +10044,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "log", "sp-core", @@ -9964,7 +10057,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -9981,7 +10074,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "erased-serde", "log", @@ -9999,7 +10092,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "sp-api", "sp-runtime", @@ -10008,7 +10101,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "log", @@ -10023,7 +10116,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "hash-db", "memory-db", @@ -10037,7 +10130,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "futures-core", @@ -10049,7 +10142,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10064,7 +10157,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "parity-scale-codec", "proc-macro-crate 1.0.0", @@ -10076,7 +10169,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10204,9 +10297,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c" +checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71" dependencies = [ "clap", "lazy_static", @@ -10215,9 +10308,9 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" +checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10" dependencies = [ "heck", "proc-macro-error", @@ -10263,7 +10356,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "chrono", "console_error_panic_hook", @@ -10289,7 +10382,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "platforms", ] @@ -10297,7 +10390,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.15", @@ -10320,7 +10413,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-std", "derive_more", @@ -10334,7 +10427,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "async-trait", "futures 0.1.29", @@ -10363,7 +10456,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "futures 0.3.15", "substrate-test-utils-derive", @@ -10373,7 +10466,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "proc-macro-crate 1.0.0", "quote", @@ -10383,7 +10476,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "ansi_term 0.12.1", "atty", @@ -10531,6 +10624,51 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "test-runner" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" +dependencies = [ + "frame-system", + "futures 0.3.15", + "jsonrpc-core", + "log", + "num-traits", + "sc-basic-authorship", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-consensus-manual-seal", + "sc-executor", + "sc-finality-grandpa", + "sc-informant", + "sc-network", + "sc-rpc", + "sc-rpc-server", + "sc-service", + "sc-transaction-pool", + "sc-transaction-pool-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-keyring", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-runtime-interface", + "sp-session", + "sp-state-machine", + "sp-transaction-pool", + "sp-wasm-interface", + "tokio 0.2.21", +] + [[package]] name = "textwrap" version = "0.11.0" @@ -11128,7 +11266,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#e0638a1a518fe3f93269f1db4360ae9b4cc698e3" +source = "git+https://github.com/paritytech/substrate?branch=master#bfca1a91f7607d7395591f7341335fd4a27064da" dependencies = [ "frame-try-runtime", "log", diff --git a/Cargo.toml b/Cargo.toml index dc98195a19a5..668b61db7ee0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,6 +81,9 @@ members = [ "node/metered-channel", "node/test/client", "node/test/service", + "node/test/polkadot-simnet/common", + "node/test/polkadot-simnet/node", + "node/test/polkadot-simnet/test", "parachain/test-parachains", "parachain/test-parachains/adder", "parachain/test-parachains/adder/collator", diff --git a/node/test/polkadot-simnet/common/Cargo.toml b/node/test/polkadot-simnet/common/Cargo.toml new file mode 100644 index 000000000000..883c7b5ecd97 --- /dev/null +++ b/node/test/polkadot-simnet/common/Cargo.toml @@ -0,0 +1,44 @@ +[package] +name = "polkadot-simnet" +version = "0.9.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +system = { package = "frame-system", git = "https://github.com/paritytech/substrate", branch = "master" } +support = { package = "frame-support", git = "https://github.com/paritytech/substrate", branch = "master" } +benchmarking = { package = "frame-benchmarking", git = "https://github.com/paritytech/substrate", branch = "master" } +transaction-payment = { package = "pallet-transaction-payment", git = "https://github.com/paritytech/substrate", branch = "master" } +collective = { package = "pallet-collective", git = "https://github.com/paritytech/substrate", branch = "master" } +democracy = { package = "pallet-democracy", git = "https://github.com/paritytech/substrate", branch = "master" } + +test-runner = { git = "https://github.com/paritytech/substrate", branch = "master" } +grandpa = { package = "sc-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "master" } +sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-service = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" } +sc-cli = { git = "https://github.com/paritytech/substrate", branch = "master" } + +sp-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" } + +polkadot-primitives = { path = "../../../../primitives" } +polkadot-cli = { path = "../../../../cli", features = ["cli"] } +polkadot-service = { path = "../../../../node/service" } +polkadot-runtime = { path = "../../../../runtime/polkadot" } +polkadot-runtime-common = { path = "../../../../runtime/common" } + +codec = { package = "parity-scale-codec", version = "2.0.0" } +structopt = "0.3.22" + +[dev-dependencies] +log = "0.4.14" diff --git a/node/test/polkadot-simnet/common/src/lib.rs b/node/test/polkadot-simnet/common/src/lib.rs new file mode 100644 index 000000000000..fec6e151074f --- /dev/null +++ b/node/test/polkadot-simnet/common/src/lib.rs @@ -0,0 +1,353 @@ +// Copyright 2020 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// 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. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +#![deny(unused_extern_crates, missing_docs)] + +//! Utilities for End to end runtime tests + +use test_runner::{ + Node, ChainInfo, SignatureVerificationOverride, task_executor, + build_runtime, client_parts, ConfigOrChainSpec, +}; +use grandpa::GrandpaBlockImport; +use sc_service::{TFullBackend, TFullClient}; +use sp_runtime::generic::Era; +use sc_consensus_babe::BabeBlockImport; +use polkadot_runtime_common::claims; +use sp_runtime::AccountId32; +use support::{weights::Weight, StorageValue}; +use democracy::{AccountVote, Conviction, Vote}; +use polkadot_runtime::{FastTrackVotingPeriod, Runtime, RuntimeApi, Event, TechnicalCollective, CouncilCollective}; +use std::{str::FromStr, future::Future, error::Error}; +use codec::Encode; +use sc_consensus_manual_seal::consensus::babe::SlotTimestampProvider; +use sp_runtime::app_crypto::sp_core::H256; + +type BlockImport = BabeBlockImport>; +type Block = polkadot_primitives::v1::Block; +type SelectChain = sc_consensus::LongestChain, Block>; + +sc_executor::native_executor_instance!( + pub Executor, + polkadot_runtime::api::dispatch, + polkadot_runtime::native_version, + (benchmarking::benchmarking::HostFunctions, SignatureVerificationOverride), +); + +/// ChainInfo implementation. +pub struct PolkadotChainInfo; + +impl ChainInfo for PolkadotChainInfo { + type Block = Block; + type Executor = Executor; + type Runtime = Runtime; + type RuntimeApi = RuntimeApi; + type SelectChain = SelectChain; + type BlockImport = BlockImport< + Self::Block, + TFullBackend, + TFullClient, + Self::SelectChain, + >; + type SignedExtras = polkadot_runtime::SignedExtra; + type InherentDataProviders = (SlotTimestampProvider, sp_consensus_babe::inherents::InherentDataProvider); + + fn signed_extras(from: ::AccountId) -> Self::SignedExtras { + ( + system::CheckSpecVersion::::new(), + system::CheckTxVersion::::new(), + system::CheckGenesis::::new(), + system::CheckMortality::::from(Era::Immortal), + system::CheckNonce::::from(system::Pallet::::account_nonce(from)), + system::CheckWeight::::new(), + transaction_payment::ChargeTransactionPayment::::from(0), + claims::PrevalidateAttests::::new(), + ) + } +} + +/// Dispatch with root origin, via pallet-democracy +pub async fn dispatch_with_root(call: impl Into<::Call>, node: &Node) + -> Result<(), Box> + where + T: ChainInfo< + Block=Block, + Executor=Executor, + Runtime=Runtime, + RuntimeApi=RuntimeApi, + SelectChain=SelectChain, + BlockImport=BlockImport< + Block, + TFullBackend, + TFullClient, + SelectChain, + >, + SignedExtras=polkadot_runtime::SignedExtra + > +{ + type DemocracyCall = democracy::Call; + type CouncilCollectiveEvent = collective::Event::; + type CouncilCollectiveCall = collective::Call; + type TechnicalCollectiveCall = collective::Call; + type TechnicalCollectiveEvent = collective::Event::; + + // here lies a black mirror esque copy of on chain whales. + let whales = vec![ + "1rvXMZpAj9nKLQkPFCymyH7Fg3ZyKJhJbrc7UtHbTVhJm1A", + "15j4dg5GzsL1bw2U2AWgeyAk6QTxq43V7ZPbXdAmbVLjvDCK", + ] + .into_iter() + .map(|account| AccountId32::from_str(account).unwrap()) + .collect::>(); + + // and these + let (technical_collective, council_collective) = node.with_state(|| ( + collective::Members::::get(), + collective::Members::::get() + )); + + // hash of the proposal in democracy + let proposal_hash = { + // note the call (pre-image?) of the call. + node.submit_extrinsic(DemocracyCall::note_preimage(call.into().encode()), whales[0].clone()).await?; + node.seal_blocks(1).await; + + // fetch proposal hash from event emitted by the runtime + node.events() + .into_iter() + .filter_map(|event| match event.event { + Event::Democracy(democracy::Event::PreimageNoted(proposal_hash, _, _)) => Some(proposal_hash), + _ => None + }) + .next() + .ok_or_else(|| "failed to note pre-image")? + }; + + // submit external_propose call through council collective + { + let external_propose = DemocracyCall::external_propose_majority(proposal_hash.clone().into()); + let length = external_propose.using_encoded(|x| x.len()) as u32 + 1; + let weight = Weight::MAX / 100_000_000; + let proposal = CouncilCollectiveCall::propose( + council_collective.len() as u32, + Box::new(external_propose.clone().into()), + length, + ); + + node.submit_extrinsic(proposal.clone(), council_collective[0].clone()).await?; + node.seal_blocks(1).await; + + // fetch proposal index from event emitted by the runtime + let (index, hash): (u32, H256) = node.events() + .into_iter() + .filter_map(|event| { + match event.event { + Event::Council(CouncilCollectiveEvent::Proposed(_, index, hash, _)) => Some((index, hash)), + _ => None + } + }) + .next() + .ok_or_else(|| "failed to execute council::Call::propose(democracy::Call::external_propose_majority)")?; + + // vote + for member in &council_collective[1..] { + let call = CouncilCollectiveCall::vote(hash.clone(), index, true); + node.submit_extrinsic(call, member.clone()).await?; + } + node.seal_blocks(1).await; + + // close vote + let call = CouncilCollectiveCall::close(hash, index, weight, length); + node.submit_extrinsic(call, council_collective[0].clone()).await?; + node.seal_blocks(1).await; + + // assert that proposal has been passed on chain + let events = node.events() + .into_iter() + .filter(|event| { + match event.event { + Event::Council(CouncilCollectiveEvent::Closed(_, _, _)) | + Event::Council(CouncilCollectiveEvent::Approved(_, )) | + Event::Council(CouncilCollectiveEvent::Executed(_, Ok(()))) => true, + _ => false, + } + }) + .collect::>(); + + // make sure all 3 events are in state + assert_eq!(events.len(), 3); + } + + // next technical collective must fast track the proposal. + { + let fast_track = DemocracyCall::fast_track(proposal_hash.into(), FastTrackVotingPeriod::get(), 0); + let weight = Weight::MAX / 100_000_000; + let length = fast_track.using_encoded(|x| x.len()) as u32 + 1; + let proposal = TechnicalCollectiveCall::propose( + technical_collective.len() as u32, + Box::new(fast_track.into()), + length, + ); + + node.submit_extrinsic(proposal, technical_collective[0].clone()).await?; + node.seal_blocks(1).await; + + let (index, hash) = node.events() + .into_iter() + .filter_map(|event| { + match event.event { + Event::TechnicalCommittee(TechnicalCollectiveEvent::Proposed(_, index, hash, _)) => Some((index, hash)), + _ => None + } + }) + .next() + .ok_or_else(|| "failed to execute council::Call::propose(democracy::Call::fast_track))")?; + + // vote + for member in &technical_collective[1..] { + let call = TechnicalCollectiveCall::vote(hash.clone(), index, true); + node.submit_extrinsic(call, member.clone()).await?; + } + node.seal_blocks(1).await; + + // close vote + let call = TechnicalCollectiveCall::close(hash, index, weight, length); + node.submit_extrinsic(call, technical_collective[0].clone()).await?; + node.seal_blocks(1).await; + + // assert that fast-track proposal has been passed on chain + let events = node.events() + .into_iter() + .filter(|event| { + match event.event { + Event::TechnicalCommittee(TechnicalCollectiveEvent::Closed(_, _, _)) | + Event::TechnicalCommittee(TechnicalCollectiveEvent::Approved(_)) | + Event::TechnicalCommittee(TechnicalCollectiveEvent::Executed(_, Ok(()))) => true, + _ => false, + } + }) + .collect::>(); + + // make sure all 3 events are in state + assert_eq!(events.len(), 3); + } + + // now runtime upgrade proposal is a fast-tracked referendum we can vote for. + let referendum_index = node.events() + .into_iter() + .filter_map(|event| match event.event { + Event::Democracy(democracy::Event::::Started(index, _)) => Some(index), + _ => None, + }) + .next() + .ok_or_else(|| "failed to execute council::Call::close")?; + let call = DemocracyCall::vote( + referendum_index, + AccountVote::Standard { + vote: Vote { aye: true, conviction: Conviction::Locked1x }, + // 10 DOTS + balance: 10_000_000_000_000, + }, + ); + for whale in whales { + node.submit_extrinsic(call.clone(), whale).await?; + } + + // wait for fast track period. + node.seal_blocks(FastTrackVotingPeriod::get() as usize).await; + + // assert that the proposal is passed by looking at events + let events = node.events() + .into_iter() + .filter(|event| { + match event.event { + Event::Democracy(democracy::Event::Passed(_)) | + Event::Democracy(democracy::Event::PreimageUsed(_, _, _)) | + Event::Democracy(democracy::Event::Executed(_, true)) => true, + _ => false, + } + }) + .collect::>(); + + // make sure all events were emitted + assert_eq!(events.len(), 3); + Ok(()) +} + +/// Runs the test-runner as a binary. +pub fn run(callback: F) -> Result<(), Box> + where + F: FnOnce(Node) -> Fut, + Fut: Future>>, +{ + use structopt::StructOpt; + use sc_cli::{CliConfiguration, SubstrateCli}; + + let mut tokio_runtime = build_runtime()?; + let task_executor = task_executor(tokio_runtime.handle().clone()); + // parse cli args + let cmd = ::from_args(); + // set up logging + let filters = cmd.run.base.log_filters()?; + let logger = sc_tracing::logging::LoggerBuilder::new(filters); + logger.init()?; + + // set up the test-runner + let config = cmd.create_configuration(&cmd.run.base, task_executor)?; + sc_cli::print_node_infos::(&config); + let (rpc, task_manager, client, pool, command_sink, backend) = + client_parts::(ConfigOrChainSpec::Config(config))?; + let node = Node::::new(rpc, task_manager, client, pool, command_sink, backend); + + // hand off node. + tokio_runtime.block_on(callback(node))?; + + Ok(()) +} + +#[cfg(test)] +mod tests { + use super::*; + use sp_keyring::sr25519::Keyring::Alice; + use sp_runtime::{MultiSigner, traits::IdentifyAccount}; + use polkadot_service::chain_spec::polkadot_development_config; + + #[test] + fn test_runner() { + let mut runtime = build_runtime().unwrap(); + let task_executor = task_executor(runtime.handle().clone()); + let (rpc, task_manager, client, pool, command_sink, backend) = + client_parts::( + ConfigOrChainSpec::ChainSpec(Box::new(polkadot_development_config().unwrap()), task_executor) + ).unwrap(); + let node = Node::::new(rpc, task_manager, client, pool, command_sink, backend); + + runtime.block_on(async { + // seals blocks + node.seal_blocks(1).await; + // submit extrinsics + let alice = MultiSigner::from(Alice.public()).into_account(); + node.submit_extrinsic(system::Call::remark((b"hello world").to_vec()), alice) + .await + .unwrap(); + + // look ma, I can read state. + let _events = node.with_state(|| system::Pallet::::events()); + // get access to the underlying client. + let _client = node.client(); + }); + } +} diff --git a/node/test/polkadot-simnet/node/Cargo.toml b/node/test/polkadot-simnet/node/Cargo.toml new file mode 100644 index 000000000000..b6f8012961be --- /dev/null +++ b/node/test/polkadot-simnet/node/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "polkadot-simnet-node" +version = "0.1.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +polkadot-simnet = { path = "../common" } diff --git a/node/test/polkadot-simnet/node/src/main.rs b/node/test/polkadot-simnet/node/src/main.rs new file mode 100644 index 000000000000..807c37d038e6 --- /dev/null +++ b/node/test/polkadot-simnet/node/src/main.rs @@ -0,0 +1,30 @@ +// Copyright 2020 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// 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. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! Binary used for simnet nodes, supports all runtimes, although only polkadot is implemented currently. +//! This binary accepts all the cli args the polkadot binary does, Only difference is it uses +//! manual-sealâ„¢ and babe for block authorship, it has a no-op verifier, so all blocks received over the network +//! are imported and executed straight away. Block authorship/Finalization maybe done by calling the +//! `engine_createBlock` & `engine_FinalizeBlock` rpc methods respectively. + +use std::error::Error; + +fn main() -> Result<(), Box> { + polkadot_simnet::run(|node| async { + node.until_shutdown().await; + Ok(()) + }) +} diff --git a/node/test/polkadot-simnet/test/Cargo.toml b/node/test/polkadot-simnet/test/Cargo.toml new file mode 100644 index 000000000000..8d1ba41b8ece --- /dev/null +++ b/node/test/polkadot-simnet/test/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "polkadot-simnet-test" +version = "0.1.0" +authors = ["Parity Technologies "] +edition = "2018" + +[dependencies] +# substrate primitives +sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" } + +# frame pallets +system = { package = "frame-system", git = "https://github.com/paritytech/substrate", branch = "master" } +balances = { package = "pallet-balances", git = "https://github.com/paritytech/substrate", branch = "master" } + +# substrate client libs +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" } + +# polkadot deps +polkadot-simnet = { path = "../common" } +polkadot-runtime = { path = "../../../../runtime/polkadot" } diff --git a/node/test/polkadot-simnet/test/src/main.rs b/node/test/polkadot-simnet/test/src/main.rs new file mode 100644 index 000000000000..79730d546446 --- /dev/null +++ b/node/test/polkadot-simnet/test/src/main.rs @@ -0,0 +1,86 @@ +// Copyright 2020 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// 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. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . +//! Attempts to upgrade the polkadot runtime, in a simnet environment +use std::{error::Error, str::FromStr}; + +use polkadot_simnet::{run, dispatch_with_root}; +use polkadot_runtime::Event; +use sp_runtime::generic::BlockId; +use sc_client_api::{ExecutorProvider, CallExecutor}; +use sp_core::crypto::AccountId32; +use sp_blockchain::HeaderBackend; + +fn main() -> Result<(), Box> { + run(|node| async { + let old_runtime_version = node.client() + .executor() + .runtime_version(&BlockId::Hash(node.client().info().best_hash))? + .spec_version; + + let wasm_binary = polkadot_runtime::WASM_BINARY + .ok_or("Polkadot development wasm not available")? + .to_vec(); + // upgrade runtime. + dispatch_with_root(system::Call::set_code(wasm_binary), &node).await?; + + // assert that the runtime has been updated by looking at events + let events = node.events() + .into_iter() + .filter(|event| { + match event.event { + Event::System(system::Event::CodeUpdated) => true, + _ => false, + } + }) + .collect::>(); + + // make sure event was emitted + assert_eq!(events.len(), 1); + let new_runtime_version = node.client() + .executor() + .runtime_version(&BlockId::Hash(node.client().info().best_hash))? + .spec_version; + // just confirming + assert!(new_runtime_version > old_runtime_version); + + let (from, dest, balance) = ( + AccountId32::from_str("15j4dg5GzsL1bw2U2AWgeyAk6QTxq43V7ZPbXdAmbVLjvDCK")?, + AccountId32::from_str("1rvXMZpAj9nKLQkPFCymyH7Fg3ZyKJhJbrc7UtHbTVhJm1A")?, + 10_000_000_000_000 // 10 dots + ); + + // post upgrade tests, a simple balance transfer + node.submit_extrinsic(balances::Call::transfer(dest.into(), balance), from).await?; + node.seal_blocks(1).await; + + let events = node.events() + .into_iter() + .filter(|event| { + match event.event { + Event::Balances(balances::Event::Transfer(_, _, _)) => true, + _ => false, + } + }) + .collect::>(); + // make sure transfer went through + assert_eq!(events.len(), 1); + + // we're done, drop node. + drop(node); + + Ok(()) + }) +} diff --git a/node/test/service/src/lib.rs b/node/test/service/src/lib.rs index 0c5b2e3738eb..0e7d5d9db9b5 100644 --- a/node/test/service/src/lib.rs +++ b/node/test/service/src/lib.rs @@ -185,10 +185,10 @@ pub fn node_config( rpc_http: None, rpc_ws: None, rpc_ipc: None, + rpc_max_payload: None, rpc_ws_max_connections: None, rpc_cors: None, rpc_methods: Default::default(), - rpc_max_payload: None, prometheus_config: None, telemetry_endpoints: None, telemetry_external_transport: None, diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 3b297f86d855..ec50f69eba2c 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -565,7 +565,7 @@ parameter_types! { pub const CouncilMaxMembers: u32 = 100; } -type CouncilCollective = pallet_collective::Instance1; +pub type CouncilCollective = pallet_collective::Instance1; impl pallet_collective::Config for Runtime { type Origin = Origin; type Proposal = Call; @@ -617,7 +617,7 @@ parameter_types! { pub const TechnicalMaxMembers: u32 = 100; } -type TechnicalCollective = pallet_collective::Instance2; +pub type TechnicalCollective = pallet_collective::Instance2; impl pallet_collective::Config for Runtime { type Origin = Origin; type Proposal = Call;