From 48ffb187ea861e136aa48da26df45edac1bfc7df Mon Sep 17 00:00:00 2001 From: Seun Date: Wed, 24 Jun 2020 15:06:06 +0100 Subject: [PATCH 01/16] ok so it works . . . -ish --- .gitignore | 2 + Cargo.lock | 38 +++++++++++++++-- Cargo.toml | 8 +++- src/node.rs | 7 +++- src/rpc.rs | 33 ++++++--------- src/test/blackbox.rs | 24 ++++++++--- src/test/deterministic.rs | 40 +++++++++++------- src/test/externalities.rs | 80 ++++++++++++++++++----------------- src/test/mod.rs | 15 ++----- tests/simple_run.rs | 88 ++++++++++++++++++++++----------------- 10 files changed, 198 insertions(+), 137 deletions(-) diff --git a/.gitignore b/.gitignore index ea8c4bf..18e2dca 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /target +.vscode +.idea \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 5314dc5..2f3915b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -221,6 +221,17 @@ dependencies = [ "webpki-roots 0.19.0", ] +[[package]] +name = "async-trait" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92" +dependencies = [ + "proc-macro2", + "quote 1.0.6", + "syn 1.0.30", +] + [[package]] name = "atty" version = "0.2.14" @@ -3318,9 +3329,9 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" [[package]] name = "openssl-sys" -version = "0.9.57" +version = "0.9.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7410fef80af8ac071d4f63755c0ab89ac3df0fd1ea91f1d1f37cf5cec4395990" +checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de" dependencies = [ "autocfg 1.0.0", "cc", @@ -6733,9 +6744,12 @@ dependencies = [ name = "substrate-test-runner" version = "0.1.0" dependencies = [ + "async-trait", "env_logger", "frame-system", + "futures 0.1.29", "futures 0.3.5", + "hyper 0.12.35", "jsonrpc-core", "jsonrpc-core-client", "log 0.4.8", @@ -6749,7 +6763,8 @@ dependencies = [ "sp-externalities", "sp-runtime", "sp-storage", - "tokio 0.1.22", + "tokio 0.2.21", + "tokio-compat", "url 1.7.2", ] @@ -7113,6 +7128,23 @@ dependencies = [ "tokio-io", ] +[[package]] +name = "tokio-compat" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "107b625135aa7b9297dd2d99ccd6ca6ab124a5d1230778e159b9095adca4c722" +dependencies = [ + "futures 0.1.29", + "futures-core", + "futures-util", + "pin-project-lite", + "tokio 0.2.21", + "tokio-current-thread", + "tokio-executor 0.1.10", + "tokio-reactor", + "tokio-timer", +] + [[package]] name = "tokio-current-thread" version = "0.1.7" diff --git a/Cargo.toml b/Cargo.toml index e42f890..8b28be3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,14 +16,18 @@ frame-system = { git = "https://github.com/paritytech/substrate.git", branch = " env_logger = "0.7.1" log = "0.4.8" -futures = "0.3" +hyper = "0.12.35" +futures01 = { package = "futures", version = "0.1.29" } +futures = { package = "futures", version = "0.3", features = ["compat"] } rand = "0.7" parking_lot = "0.10" +tokio = { version = "0.2", features = ["time"] } +async-trait = "0.1.36" # Calling RPC jsonrpc-core-client = { version = "14.2", features = ["ws"] } jsonrpc-core = "14.2" -tokio = "0.1" +tokio-compat = { version = "0.1.6", features = ["rt-full"] } url = "1.7" primitive-types = "0.7" diff --git a/src/node.rs b/src/node.rs index 1b783b1..3f92a3c 100644 --- a/src/node.rs +++ b/src/node.rs @@ -76,10 +76,13 @@ impl Drop for InternalNode { fn drop(&mut self) { // TODO [ToDr] unwraps! if let Some(signal) = self.stop_signal.take() { - signal.send(()).unwrap(); + if let Err(_) = signal.send(()) { + log::error!("couldn't send signal to node to terminate") + } } if let Some(handle) = self.node_handle.take() { - handle.join().unwrap().unwrap(); + let result = handle.join(); + log::error!("node terminated with {:?}", result) } } } diff --git a/src/rpc.rs b/src/rpc.rs index e2f2c2e..ddc2fbd 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -3,6 +3,9 @@ use jsonrpc_core_client::RpcChannel; pub use jsonrpc_core::types::params::Params; pub use jsonrpc_core_client::RawClient; +use jsonrpc_core_client::RpcError; +use async_trait::async_trait; +use futures::compat::Future01CompatExt; pub type ChainClient = sc_rpc_api::chain::ChainClient< types::BlockNumber, @@ -15,31 +18,19 @@ pub type StateClient = sc_rpc_api::state::StateClient< types::BlockHash, >; - +#[async_trait] pub trait RpcExtension { - fn raw_rpc(&mut self) -> RawClient { - self.rpc() + async fn raw_rpc(&mut self) -> RawClient { + self.rpc().await } - fn rpc + Send + 'static>(&mut self) -> TClient; + async fn rpc>(&mut self) -> TClient; } -pub(crate) fn connect_ws + Send + 'static>(url: &str) -> TClient { - use jsonrpc_core::futures::prelude::*; - let (tx, rx) = std::sync::mpsc::channel(); +pub async fn connect_ws>(url: &str) -> Result +{ let url = url::Url::parse(url).expect("URL is valid"); - println!("Connecting to RPC at {}", url); - std::thread::spawn(move || { - tokio::run(jsonrpc_core_client::transports::ws::connect(&url) - .map(move |client| { - println!("Client built, sending."); - tx.send(client).expect("Rx not dropped; qed"); - println!("Sent."); - }) - .map_err(|e| panic!("Unable to start WS client: {:?}", e)) - ); - }); - println!("Waiting for the client"); - rx.recv().expect("WS client was not able to connect.") + jsonrpc_core_client::transports::ws::connect(&url) + .compat() + .await } - diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 6d08d83..2f2220a 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -1,9 +1,11 @@ use crate::{ node::InternalNode, - rpc, + rpc::{self, RpcExtension}, types, }; use jsonrpc_core_client::RpcChannel; +use async_trait::async_trait; +use crate::test::externalities; pub enum BlackBoxNode { /// Connects to an external node. @@ -17,16 +19,26 @@ pub struct BlackBox { node: BlackBoxNode, } -impl rpc::RpcExtension for BlackBox { - fn rpc + Send + 'static>(&mut self) -> TClient { - match self.node { +impl BlackBox { + pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R where TRuntime: frame_system::Trait { + externalities::TestExternalities::::new( + self.rpc().await + ).execute_with(closure) + } +} + +#[async_trait] +impl rpc::RpcExtension for BlackBox { + async fn rpc>(&mut self) -> TClient { + let future = match self.node { BlackBoxNode::External(ref url) => rpc::connect_ws(&url), BlackBoxNode::Internal(_) => rpc::connect_ws(crate::node::RPC_WS_URL), - } + }; + future.await + .unwrap() } } -impl crate::test::SubstrateTest for BlackBox {} impl BlackBox { pub fn new(node: BlackBoxNode) -> Self { diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 66d1dcd..0ad7868 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -3,28 +3,41 @@ use crate::{ rpc::{self, RpcExtension}, }; use jsonrpc_core_client::RpcChannel; +use tokio::time::{delay_for, Duration}; +use async_trait::async_trait; +use futures::compat::Future01CompatExt; +use crate::test::externalities; /// A deterministic internal instance of substrate node. pub struct Deterministic { node: InternalNode, } -impl rpc::RpcExtension for Deterministic { +#[async_trait] +impl rpc::RpcExtension for Deterministic { // TODO [ToDr] Override and use the direct channel. - fn rpc + Send + 'static>(&mut self) -> TClient { - rpc::connect_ws(crate::node::RPC_WS_URL) + async fn rpc>(&mut self) -> TClient { + rpc::connect_ws(crate::node::RPC_WS_URL) + .await + .expect("error occured connecting to the node") } } -impl crate::test::SubstrateTest for Deterministic {} - -impl Deterministic { +impl Deterministic { pub fn new(node: InternalNode) -> Self { Self { node } - } + } + + pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R + where + TRuntime: frame_system::Trait + { + externalities::TestExternalities::::new(self.rpc().await) + .execute_with(closure) + } } -impl Deterministic { +impl Deterministic { pub fn assert_log_line(&self, module: &str, content: &str) { if let Some(logs) = self.node.logs().read().get(module) { for log in logs { @@ -40,19 +53,18 @@ impl Deterministic { /// TODO [ToDr] This method should probably be `produce_blocks(5)` when we switch to /// `ManualConsensus` engine. - pub fn produce_blocks(&mut self, diff: impl Into>) where + pub async fn produce_blocks(&mut self, diff: impl Into>) where // TODO The bound here is a bit shitty, cause in theory the RPC is not frame-specific. crate::types::BlockNumber: std::convert::TryFrom + Into, { // TODO [ToDr] Read from the chain. let current_block_number: crate::types::BlockNumber = 0.into(); - use jsonrpc_core::futures::Future; - let number = current_block_number + diff.into(); - let client = self.rpc::>(); + let client = self.rpc::>().await; let mut retry = 100; loop { - let header = client.header(None).wait() + let header = client.header(None).compat() + .await .expect("Unable to get latest header from the node.") .expect("No best header?"); @@ -64,7 +76,7 @@ impl Deterministic { if retry == 0 { panic!("Unable to reach block. Best found: {:?}", header); } - std::thread::sleep(std::time::Duration::from_secs(1)); + delay_for(Duration::from_secs(1)).await; } } } diff --git a/src/test/externalities.rs b/src/test/externalities.rs index aa51bd9..d6982b6 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -1,4 +1,8 @@ use crate::rpc; +use std::any::{TypeId, Any}; +use sp_externalities::{Extension, Error}; +use sp_storage::{ChildInfo, StorageKey}; +use futures01::Future; pub struct TestExternalities { client: rpc::StateClient, @@ -9,87 +13,85 @@ impl TestExternalities { Self { client } } - pub fn ext(&mut self) -> Ext { - Ext - } - pub fn execute_with(&mut self, execute: impl FnOnce() -> R) -> R { - let mut ext = self.ext(); - sp_externalities::set_and_run_with_externalities(&mut ext, execute) + println!("execute_with"); + sp_externalities::set_and_run_with_externalities(self, execute) } } -pub struct Ext; - -use std::any::{TypeId, Any}; -use sp_externalities::{Extension, Error}; -use sp_storage::ChildInfo; - // TODO [ToDr] Most likely the implementation is not really relevant, but we still need the trait. -impl sp_externalities::ExtensionStore for Ext { - fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any> { +impl sp_externalities::ExtensionStore for TestExternalities { + fn extension_by_type_id(&mut self, _type_id: TypeId) -> Option<&mut dyn Any> { todo!() } - fn register_extension_with_type_id(&mut self, type_id: TypeId, extension: Box) -> Result<(), Error> { + fn register_extension_with_type_id(&mut self, _type_id: TypeId, _extension: Box) -> Result<(), Error> { todo!() } - fn deregister_extension_by_type_id(&mut self, type_id: TypeId) -> Result<(), Error> { + fn deregister_extension_by_type_id(&mut self, _type_id: TypeId) -> Result<(), Error> { todo!() } } -impl sp_externalities::Externalities for Ext { - fn set_offchain_storage(&mut self, key: &[u8], value: Option<&[u8]>) { todo!() } +impl sp_externalities::Externalities for TestExternalities { + fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { todo!() } fn storage(&self, key: &[u8]) -> Option> { - Some(vec![1, 2, 3]) + // this is pretty weird, but stay with me. + // the tests in `simple_run` is wrapped with a tokio runtime + // so this means the code path here has access to the tokio v0.1 runtime + // requried for this future to complete, without the runtime, this call would panic. + self.client.storage(StorageKey(key.to_vec()), None) + .wait() + .ok() + .flatten() + .map(|data| data.0) } - fn storage_hash(&self, key: &[u8]) -> Option> { todo!() } + fn storage_hash(&self, _key: &[u8]) -> Option> { todo!() } fn child_storage_hash( &self, - child_info: &ChildInfo, - key: &[u8], + _child_info: &ChildInfo, + _key: &[u8], ) -> Option> { todo!() } fn child_storage( &self, - child_info: &ChildInfo, - key: &[u8], + _child_info: &ChildInfo, + _key: &[u8], ) -> Option> { todo!() } - fn next_storage_key(&self, key: &[u8]) -> Option> { todo!() } + fn next_storage_key(&self, _key: &[u8]) -> Option> { todo!() } fn next_child_storage_key( &self, - child_info: &ChildInfo, - key: &[u8], + _child_info: &ChildInfo, + _key: &[u8], ) -> Option> { todo!() } - fn kill_child_storage(&mut self, child_info: &ChildInfo) { todo!() } + fn kill_child_storage(&mut self, _child_info: &ChildInfo) { todo!() } - fn clear_prefix(&mut self, prefix: &[u8]) { todo!() } + fn clear_prefix(&mut self, _prefix: &[u8]) { todo!() } fn clear_child_prefix( &mut self, - child_info: &ChildInfo, - prefix: &[u8], + _child_info: &ChildInfo, + _prefix: &[u8], ) { todo!() } - fn place_storage(&mut self, key: Vec, value: Option>) { + fn place_storage(&mut self, _key: Vec, _value: Option>) { // Create a sudo transaction that alters storage on-chain. todo!() } fn place_child_storage( &mut self, - child_info: &ChildInfo, - key: Vec, - value: Option>, + _child_info: &ChildInfo, + _key: Vec, + _value: Option>, ) { todo!() } fn chain_id(&self) -> u64 { todo!() } @@ -98,16 +100,16 @@ impl sp_externalities::Externalities for Ext { fn child_storage_root( &mut self, - child_info: &ChildInfo, + _child_info: &ChildInfo, ) -> Vec { todo!() } fn storage_append( &mut self, - key: Vec, - value: Vec, + _key: Vec, + _value: Vec, ) { todo!() } - fn storage_changes_root(&mut self, parent: &[u8]) -> Result>, ()> { todo!() } + fn storage_changes_root(&mut self, _parent: &[u8]) -> Result>, ()> { todo!() } fn wipe(&mut self) { todo!() } diff --git a/src/test/mod.rs b/src/test/mod.rs index 28b399e..df529a4 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -2,25 +2,16 @@ pub mod blackbox; pub mod deterministic; pub mod externalities; -/// A base trait for shared part of every kind of substrate test. -pub trait SubstrateTest: crate::rpc::RpcExtension { - fn with_state(&mut self, closure: impl FnOnce() -> R) -> R where TRuntime: frame_system::Trait { - externalities::TestExternalities::::new( - self.rpc() - ).execute_with(closure) - } -} - -pub fn blackbox_external(url: &str, _runtime: TRuntime) -> blackbox::BlackBox { +pub fn blackbox_external(url: &str, _runtime: TRuntime) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } -pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { +pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { let node = crate::node::InternalNode::builder(runtime).start(); blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { +pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 865033a..3d265a1 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,7 +1,7 @@ use substrate_test_runner::{test, rpc, prelude::*}; -use jsonrpc_core::futures::Future; use node_runtime::Runtime; - +use tokio_compat::runtime; +use futures::compat::Future01CompatExt; #[test] fn should_run_off_chain_worker() { @@ -15,24 +15,26 @@ fn should_run_off_chain_worker() { // }) .start() ); + let mut runtime = runtime::Runtime::new().unwrap(); + runtime.block_on_std(async { + let chain_client = test.rpc::>().await; + let rpc_client = test.raw_rpc().await; - let chain_client = test.rpc::>(); - let rpc_client = test.raw_rpc(); - - // TODO [ToDr] This should be even rawer - allowing to pass JSON call, - // which in turn could be collected from the UI. - let header = rpc_client.call_method( - "chain_getHeader", - rpc::Params::Array(vec![]), - ).wait(); - println!("{:?}", header); + // TODO [ToDr] This should be even rawer - allowing to pass JSON call, + // which in turn could be collected from the UI. + let header = rpc_client.call_method( + "chain_getHeader", + rpc::Params::Array(vec![]), + ).compat().await; + println!("{:?}", header); - let header = chain_client.header(None).wait().unwrap(); - println!("{:?}", header); + let header = chain_client.header(None).compat().await.unwrap(); + println!("{:?}", header); - test.produce_blocks(15_u32); + test.produce_blocks(15_u32).await; - test.assert_log_line("db", "best = true"); + // test.assert_log_line("db", "best = true"); + }); } #[test] @@ -59,28 +61,38 @@ fn should_read_state() { // ) // }); - // when - test.produce_blocks(5_u32); - test.with_state(|| { - // test.with_state(Read::External, Write::Memory(&mut storage), || { - let events = frame_system::Module::::events(); - assert_eq!(events.len(), 1); - - let events = frame_system::Module::::events(); - assert_eq!(events.len(), 1); - }); - - // when - test.produce_blocks(5_u32); - - // then - test.with_state(|| { - // test.with_state(Read::External, Write::Memory(&mut storage), || { - let events = frame_system::Module::::events(); - assert_eq!(events.len(), 0); - - let events = frame_system::Module::::events(); - assert_eq!(events.len(), 0); + let mut runtime = runtime::Runtime::new().unwrap(); + + // tokio-compat doesn't have macros for test, main. + // would be great to have them. + runtime.block_on_std(async { + // when + test.produce_blocks(5_u32).await; + println!("produced blocks"); + test.with_state(|| { + // test.with_state(Read::External, Write::Memory(&mut storage), || { + let events = frame_system::Module::::events(); + println!("events {:#?}", events); + // assert_eq!(events.len(), 2); + // + let events = frame_system::Module::::events(); + println!("events {:#?}", events); + // assert_eq!(events.len(), 1); + }).await; + + // when + test.produce_blocks(5_u32).await; + + // then + test.with_state(|| { + let events = frame_system::Module::::events(); + println!("events {:#?}", events); + // assert_eq!(events.len(), 0); + + let events = frame_system::Module::::events(); + println!("events {:#?}", events); + // assert_eq!(events.len(), 0); + }).await; }); } From ad9406fa3362533138e93d9934b41cd214aa7f2f Mon Sep 17 00:00:00 2001 From: Seun Date: Wed, 1 Jul 2020 15:30:59 +0100 Subject: [PATCH 02/16] adds test runtime --- .gitignore | 2 +- Cargo.lock | 1798 ++++++++++++++++++++++--------------- Cargo.toml | 36 +- runtime/Cargo.toml | 66 ++ runtime/build.rs | 10 + runtime/src/lib.rs | 344 +++++++ src/node.rs | 183 ++-- src/rpc.rs | 7 +- src/test/blackbox.rs | 36 +- src/test/deterministic.rs | 72 +- src/test/externalities.rs | 25 +- src/test/mod.rs | 4 +- tests/simple_run.rs | 74 +- 13 files changed, 1767 insertions(+), 890 deletions(-) create mode 100644 runtime/Cargo.toml create mode 100644 runtime/build.rs create mode 100644 runtime/src/lib.rs diff --git a/.gitignore b/.gitignore index 18e2dca..0ad020a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -/target +**/target .vscode .idea \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 2f3915b..1ba8b1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,29 +12,57 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543" +checksum = "602d785912f476e480434627e8732e6766b760c045bbf897d9dfaa9f4fbd399c" dependencies = [ "gimli 0.21.0", ] +[[package]] +name = "adler" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccc9a9dd069569f212bc4330af9f17c4afb5e8ce185e83dbb14f1349dda18b10" + [[package]] name = "adler32" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" +checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" [[package]] -name = "aes-ctr" -version = "0.3.0" +name = "aead" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee" +checksum = "4cf01b9b56e767bb57b94ebf91a58b338002963785cdd7013e21c0d4679471e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "aes" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9" dependencies = [ "aes-soft", "aesni", - "ctr", - "stream-cipher", + "block-cipher-trait", +] + +[[package]] +name = "aes-gcm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "834a6bda386024dbb7c8fc51322856c10ffe69559f972261c868485f5759c638" +dependencies = [ + "aead", + "aes", + "block-cipher-trait", + "ghash", + "subtle 2.2.3", + "zeroize", ] [[package]] @@ -56,7 +84,6 @@ checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" dependencies = [ "block-cipher-trait", "opaque-debug", - "stream-cipher", ] [[package]] @@ -70,9 +97,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.10" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" +checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86" dependencies = [ "memchr", ] @@ -85,7 +112,7 @@ checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" dependencies = [ "approx", "num-complex", - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] @@ -94,7 +121,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -103,7 +130,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -118,14 +145,14 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" dependencies = [ - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] name = "arc-swap" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b585a98a234c46fc563103e9278c9391fde1f4e6850334da895d27edb9580f62" +checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034" [[package]] name = "arrayref" @@ -163,8 +190,8 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -206,7 +233,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ac2c016b079e771204030951c366db398864f5026f84a44dafb0ff20f02085d" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -228,8 +255,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -240,7 +267,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -257,14 +284,15 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" [[package]] name = "backtrace" -version = "0.3.48" +version = "0.3.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df2f85c8a2abbe3b7d7e748052fdd9b76a0458fdeb16ad4223f5eca78c7c130" +checksum = "05100821de9e028f12ae3d189176b41ee198341eb8f369956407fea2f5cc666c" dependencies = [ "addr2line", "cfg-if", "libc", - "object 0.19.0", + "miniz_oxide 0.3.7", + "object 0.20.0", "rustc-demangle", ] @@ -301,15 +329,15 @@ checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" [[package]] name = "base64" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d1ccbaf7d9ec9537465a97bf19edc1a4e158ecb49fc16178202238c569cc42" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "bincode" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5753e2a71534719bf3f4e57006c3a4f0d2c672a4b676eec84161f763eca87dbf" +checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d" dependencies = [ "byteorder", "serde", @@ -332,7 +360,7 @@ dependencies = [ "log 0.4.8", "peeking_take_while", "proc-macro2", - "quote 1.0.6", + "quote 1.0.7", "regex", "rustc-hash", "shlex", @@ -501,9 +529,12 @@ dependencies = [ [[package]] name = "bytes" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +checksum = "118cf036fbb97d0816e3c34b2d7a1e8cfc60f68fcf63d550ddbe9bd5f59c213b" +dependencies = [ + "loom", +] [[package]] name = "c_linked_list" @@ -513,9 +544,9 @@ checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" [[package]] name = "cc" -version = "1.0.54" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" +checksum = "77c1f1d60091c1b73e2b1f4560ab419204b178e625fa945ded7b660becd2bd46" dependencies = [ "jobserver", ] @@ -536,12 +567,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] -name = "chacha20-poly1305-aead" -version = "0.1.2" +name = "chacha20" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77d2058ba29594f69c75e8a9018e0485e3914ca5084e3613cd64529042f5423b" +checksum = "f6a7ae4c498f8447d86baef0fa0831909333f558866fabcb21600625ac5a31c7" dependencies = [ - "constant_time_eq", + "stream-cipher", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48901293601228db2131606f741db33561f7576b5d19c99cd66222380a7dc863" +dependencies = [ + "aead", + "chacha20", + "poly1305", + "stream-cipher", + "zeroize", ] [[package]] @@ -551,7 +596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" dependencies = [ "num-integer", - "num-traits 0.2.11", + "num-traits 0.2.12", "time", ] @@ -583,9 +628,9 @@ dependencies = [ [[package]] name = "clear_on_drop" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" +checksum = "c9cc5db465b294c3fa986d5bbb0f3017cd850bff6dd6c52f9ccff8b4d21b7b08" dependencies = [ "cc", ] @@ -780,12 +825,13 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab6bffe714b6bb07e42f201352c34f51fefd355ace793f9e638ebd52d23f98d2" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" dependencies = [ "cfg-if", "crossbeam-utils", + "maybe-uninit", ] [[package]] @@ -824,16 +870,6 @@ dependencies = [ "sct", ] -[[package]] -name = "ctr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736" -dependencies = [ - "block-cipher-trait", - "stream-cipher", -] - [[package]] name = "curve25519-dalek" version = "2.1.0" @@ -855,13 +891,13 @@ checksum = "72aa14c04dfae8dd7d8a2b1cb7ca2152618cd01336dbfe704b8dcbf8d41dbd69" [[package]] name = "derive_more" -version = "0.99.7" +version = "0.99.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2127768764f1556535c01b5326ef94bd60ff08dcfbdc544d53e69ed155610f5d" +checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -885,14 +921,13 @@ dependencies = [ [[package]] name = "dirs-sys" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" +checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" dependencies = [ - "cfg-if", "libc", "redox_users", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -956,8 +991,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -981,9 +1016,9 @@ checksum = "516aa8d7a71cb00a1c4146f0798549b93d083d4f189b3ced8f3de6b8f11ee6c4" [[package]] name = "erased-serde" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d88b6d1705e16a4d62e05ea61cc0496c2bd190f4fa8e5c1f11ce747be6bcf3d1" +checksum = "6ca8b296792113e1500fd935ae487be6e00ce318952a6880555554824d6ebf38" dependencies = [ "serde", ] @@ -996,7 +1031,7 @@ checksum = "b480f641ccf0faf324e20c1d3e53d81b7484c698b42ea677f6907ae4db195371" dependencies = [ "errno-dragonfly", "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1050,8 +1085,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", "synstructure", ] @@ -1096,7 +1131,7 @@ dependencies = [ "futures 0.3.5", "futures-timer 2.0.2", "log 0.4.8", - "num-traits 0.2.11", + "num-traits 0.2.12", "parity-scale-codec", "parking_lot 0.9.0", ] @@ -1121,15 +1156,15 @@ checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" [[package]] name = "flate2" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42" +checksum = "68c90b0fc46cf89d227cc78b40e494ff81287a92dd07631e5af0d06fe3cf885e" dependencies = [ "cfg-if", "crc32fast", "libc", "libz-sys", - "miniz_oxide", + "miniz_oxide 0.4.0", ] [[package]] @@ -1155,16 +1190,16 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", ] [[package]] name = "frame-benchmarking" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -1180,8 +1215,8 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking", "parity-scale-codec", @@ -1198,8 +1233,8 @@ dependencies = [ [[package]] name = "frame-executive" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -1213,8 +1248,8 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "11.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "11.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "serde", @@ -1224,8 +1259,8 @@ dependencies = [ [[package]] name = "frame-support" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "bitmask", "frame-metadata", @@ -1249,41 +1284,41 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support-procedural-tools", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "frame-support-procedural-tools" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "frame-system" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1298,8 +1333,8 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-api", @@ -1314,7 +1349,7 @@ dependencies = [ "lazy_static", "libc", "libloading", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -1443,8 +1478,8 @@ checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39" dependencies = [ "proc-macro-hack", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -1513,7 +1548,19 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0a73299e4718f5452e45980fc1d6957a070abe308d3700b63b8673f47e1c2b3" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", + "futures 0.3.5", + "memchr", + "pin-project", +] + +[[package]] +name = "futures_codec" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b" +dependencies = [ + "bytes 0.5.5", "futures 0.3.5", "memchr", "pin-project", @@ -1525,6 +1572,19 @@ version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" +[[package]] +name = "generator" +version = "0.6.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add72f17bb81521258fcc8a7a3245b1e184e916bfbe34f0ea89558f440df5c68" +dependencies = [ + "cc", + "libc", + "log 0.4.8", + "rustc_version", + "winapi 0.3.9", +] + [[package]] name = "generic-array" version = "0.12.3" @@ -1567,6 +1627,15 @@ dependencies = [ "wasi", ] +[[package]] +name = "ghash" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f0930ed19a7184089ea46d2fedead2f6dc2b674c5db4276b7da336c7cd83252" +dependencies = [ + "polyval", +] + [[package]] name = "gimli" version = "0.20.0" @@ -1641,7 +1710,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "fnv", "futures-core", "futures-sink", @@ -1690,9 +1759,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91780f809e750b0a89f5544be56617ff6b1227ee485bcb06ebe10cdf89bd3b71" +checksum = "b9586eedd4ce6b3c498bc3b4dd92fc9f11166aa908a914071953768066c67909" dependencies = [ "libc", ] @@ -1760,7 +1829,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "fnv", "itoa", ] @@ -1783,7 +1852,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "http 0.2.1", ] @@ -1857,7 +1926,7 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6e7655b9594024ad0ee439f3b5a7299369dc2a3f459b47c696f9ff676f9aa1f" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "futures-channel", "futures-core", "futures-util", @@ -1881,7 +1950,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "ct-logs", "futures-util", "hyper 0.13.6", @@ -1949,8 +2018,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -2019,9 +2088,9 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" [[package]] name = "jobserver" @@ -2034,9 +2103,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.40" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce10c23ad2ea25ceca0093bd3192229da4c5b3c0f2de499c1ecac0d98d452177" +checksum = "c4b9172132a62451e56142bff9afc91c8e4a4500aa5b847da36815b63bfda916" dependencies = [ "wasm-bindgen", ] @@ -2083,21 +2152,21 @@ dependencies = [ [[package]] name = "jsonrpc-derive" -version = "14.0.5" +version = "14.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8609af8f63b626e8e211f52441fcdb6ec54f1a446606b10d5c89ae9bf8a20058" +checksum = "0fadf6945e227246825a583514534d864554e9f23d80b3c77d034b10983db5ef" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "jsonrpc-http-server" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52860f0549694aa4abb12766856f56952ab46d3fb9f0815131b2db3d9cc2f29" +checksum = "0da906d682799df05754480dac1b9e70ec92e12c19ebafd2662a5ea1c9fd6522" dependencies = [ "hyper 0.12.35", "jsonrpc-core", @@ -2108,6 +2177,20 @@ dependencies = [ "unicase 2.6.0", ] +[[package]] +name = "jsonrpc-ipc-server" +version = "14.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dedccd693325d833963b549e959137f30a7a0ea650cde92feda81dc0c1393cb5" +dependencies = [ + "jsonrpc-core", + "jsonrpc-server-utils", + "log 0.4.8", + "parity-tokio-ipc", + "parking_lot 0.10.2", + "tokio-service", +] + [[package]] name = "jsonrpc-pubsub" version = "14.2.0" @@ -2123,9 +2206,9 @@ dependencies = [ [[package]] name = "jsonrpc-server-utils" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f06add502b48351e05dd95814835327fb115e4e9f834ca42fd522d3b769d4d2" +checksum = "56cbfb462e7f902e21121d9f0d1c2b77b2c5b642e1a4e8f4ebfa2e15b94402bb" dependencies = [ "bytes 0.4.12", "globset", @@ -2139,9 +2222,9 @@ dependencies = [ [[package]] name = "jsonrpc-ws-server" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017a7dd5083d9ed62c5e1dd3e317975c33c3115dac5447f4480fe05a8c354754" +checksum = "903d3109fe7c4acb932b567e1e607e0f524ed04741b09fb0e61841bc40a022fc" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", @@ -2247,9 +2330,9 @@ checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" [[package]] name = "libflate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784f4ec5908a9d7f4e53658906386667e8b02e9389a47cfebf45d324ba9e8d25" +checksum = "e9bac9023e1db29c084f9f8cd9d3852e5e8fddf98fb47c4964a0ea4663d95949" dependencies = [ "adler32", "crc32fast", @@ -2270,7 +2353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" dependencies = [ "cc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -2281,11 +2364,11 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.19.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057eba5432d3e740e313c6e13c9153d0cb76b4f71bfc2e5242ae5bdb7d41af67" +checksum = "db81113df355dea9dddfcb01cd867555298dca29d915f25d1b1a0aad2e29338b" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "futures 0.3.5", "lazy_static", "libp2p-core", @@ -2297,14 +2380,13 @@ dependencies = [ "libp2p-mplex", "libp2p-noise", "libp2p-ping", - "libp2p-secio", "libp2p-swarm", "libp2p-tcp", "libp2p-wasm-ext", "libp2p-websocket", "libp2p-yamux", "multihash", - "parity-multiaddr 0.9.0", + "parity-multiaddr 0.9.1", "parking_lot 0.10.2", "pin-project", "smallvec 1.4.0", @@ -2313,9 +2395,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5e30dcd8cb13a02ad534e214da234eca1595a76b5788b645dfa5c734d2124b" +checksum = "3a0387b930c3d4c2533dc4893c1e0394185ddcc019846121b1b27491e45a2c08" dependencies = [ "asn1_der", "bs58", @@ -2329,7 +2411,7 @@ dependencies = [ "log 0.4.8", "multihash", "multistream-select", - "parity-multiaddr 0.9.0", + "parity-multiaddr 0.9.1", "parking_lot 0.10.2", "pin-project", "prost", @@ -2340,7 +2422,7 @@ dependencies = [ "sha2", "smallvec 1.4.0", "thiserror", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "zeroize", ] @@ -2351,8 +2433,8 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f09548626b737ed64080fde595e06ce1117795b8b9fc4d2629fa36561c583171" dependencies = [ - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -2368,9 +2450,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6438ed8ca240c7635c9caa3be6c5258bc0058553ae97ba81737f04e5d33804f5" +checksum = "62f76075b170d908bae616f550ade410d9d27c013fa69042551dbfc757c7c094" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2384,16 +2466,16 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d6c1d5100973527ae70d82687465b17049c1b717a7964de38b8e65000878ff" +checksum = "f7c819a5425b2eb3416d67e9c868c5c1e922b6658655e06b9eeafaa41304b876" dependencies = [ "arrayvec 0.5.1", - "bytes 0.5.4", + "bytes 0.5.5", "either", "fnv", "futures 0.3.5", - "futures_codec", + "futures_codec 0.4.1", "libp2p-core", "libp2p-swarm", "log 0.4.8", @@ -2404,16 +2486,16 @@ dependencies = [ "sha2", "smallvec 1.4.0", "uint", - "unsigned-varint", + "unsigned-varint 0.4.0", "void", "wasm-timer", ] [[package]] name = "libp2p-mdns" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b00163d13f705aae67c427bea0575f8aaf63da6524f9bd4a5a093b8bda0b38" +checksum = "7f55b2d4b80986e5bf158270ab23268ec0e7f644ece5436fbaabc5155472f357" dependencies = [ "async-std", "data-encoding", @@ -2433,25 +2515,25 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ce63313ad4bce2d76e54c292a1293ea47a0ebbe16708f1513fa62184992f53" +checksum = "be7d913a4cd57de2013257ec73f07d77bfce390b370023e2d59083e5ca079864" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "fnv", "futures 0.3.5", - "futures_codec", + "futures_codec 0.4.1", "libp2p-core", "log 0.4.8", "parking_lot 0.10.2", - "unsigned-varint", + "unsigned-varint 0.4.0", ] [[package]] name = "libp2p-noise" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fd504e27b0eadd451e06b67694ef714bd8374044e7db339bb0cdb83755ddf4" +checksum = "a03db664653369f46ee03fcec483a378c20195089bb43a26cb9fb0058009ac88" dependencies = [ "curve25519-dalek", "futures 0.3.5", @@ -2470,9 +2552,9 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.19.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c189cf1dfe4b3f01e2c0fe5e97a6f5df8aeb6f3569e26981015eb7c08015ce5f" +checksum = "b8dedd34e35a9728d52d59ef36a218e411359a353f9011b2574b86ee790978f6" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2483,41 +2565,11 @@ dependencies = [ "wasm-timer", ] -[[package]] -name = "libp2p-secio" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b73f0cc119c83a5b619d6d11074a319fdb4aa4daf8088ade00d511418566e28" -dependencies = [ - "aes-ctr", - "ctr", - "futures 0.3.5", - "hmac", - "js-sys", - "lazy_static", - "libp2p-core", - "log 0.4.8", - "parity-send-wrapper", - "pin-project", - "prost", - "prost-build", - "quicksink", - "rand 0.7.3", - "ring", - "rw-stream-sink", - "sha2", - "static_assertions", - "twofish", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "libp2p-swarm" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a8101a0e0d5f04562137a476bf5f5423cd5bdab2f7e43a75909668e63cb102" +checksum = "ce53ff4d127cf8b39adf84dbd381ca32d49bd85788cee08e6669da2495993930" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2530,9 +2582,9 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309f95fce9bec755eff5406f8b822fd3969990830c2b54f752e1fc181d5ace3e" +checksum = "9481500c5774c62e8c413e9535b3f33a0e3dbacf2da63b8d3056c686a9df4146" dependencies = [ "async-std", "futures 0.3.5", @@ -2560,12 +2612,11 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085fbe4c05c4116c2164ab4d5a521eb6e00516c444f61b3ee9f68c7b1e53580b" +checksum = "7e4440551bf6519e0a684cd859ea809aec6d798f686e0d6ed03a28c3e76849b8" dependencies = [ "async-tls", - "bytes 0.5.4", "either", "futures 0.3.5", "libp2p-core", @@ -2581,9 +2632,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b305d3a8981e68f11c0e17f2d11d5c52fae95e0d7c283f9e462b5b2dab413b2" +checksum = "8da33e7b5f49c75c6a8afb0b8d1e229f5fa48be9f39bd14cdbc21459a02ac6fc" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2685,6 +2736,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "loom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ecc775857611e1df29abba5c41355cdf540e7e9d4acfdf0f355eefee82330b7" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls 0.1.2", +] + [[package]] name = "lru" version = "0.4.3" @@ -2737,7 +2799,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -2751,9 +2813,9 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be512cb2ccb4ecbdca937fdd4a62ea5f09f8e7195466a85e4632b3d5bcce82e6" +checksum = "fb2999ff7a65d5a1d72172f6d51fa2ea03024b51aee709ba5ff81c3c629a2410" dependencies = [ "ahash", "hash-db", @@ -2790,13 +2852,22 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" dependencies = [ "adler32", ] +[[package]] +name = "miniz_oxide" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0f75932c1f6cfae3c04000e40114adf955636e19040f9c0a2c380702aa1c7f" +dependencies = [ + "adler", +] + [[package]] name = "mio" version = "0.6.22" @@ -2810,7 +2881,7 @@ dependencies = [ "kernel32-sys", "libc", "log 0.4.8", - "miow", + "miow 0.2.1", "net2", "slab", "winapi 0.2.8", @@ -2828,6 +2899,18 @@ dependencies = [ "slab", ] +[[package]] +name = "mio-named-pipes" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" +dependencies = [ + "log 0.4.8", + "mio", + "miow 0.3.5", + "winapi 0.3.9", +] + [[package]] name = "mio-uds" version = "0.6.8" @@ -2851,6 +2934,16 @@ dependencies = [ "ws2_32-sys", ] +[[package]] +name = "miow" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e" +dependencies = [ + "socket2", + "winapi 0.3.9", +] + [[package]] name = "more-asserts" version = "0.2.1" @@ -2869,7 +2962,7 @@ dependencies = [ "sha-1", "sha2", "sha3", - "unsigned-varint", + "unsigned-varint 0.3.3", ] [[package]] @@ -2880,16 +2973,16 @@ checksum = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce" [[package]] name = "multistream-select" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "991c33683908c588b8f2cf66c221d8f390818c1bdcd13fce55208408e027a796" +checksum = "c9157e87afbc2ef0d84cc0345423d715f445edde00141c93721c162de35a05e5" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "futures 0.3.5", "log 0.4.8", "pin-project", "smallvec 1.4.0", - "unsigned-varint", + "unsigned-varint 0.4.0", ] [[package]] @@ -2904,7 +2997,7 @@ dependencies = [ "matrixmultiply", "num-complex", "num-rational", - "num-traits 0.2.11", + "num-traits 0.2.12", "rand 0.6.5", "typenum", ] @@ -2944,7 +3037,7 @@ checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" dependencies = [ "cfg-if", "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -2957,7 +3050,7 @@ dependencies = [ "byteorder", "enum-primitive-derive", "libc", - "num-traits 0.2.11", + "num-traits 0.2.12", "thiserror", ] @@ -2976,8 +3069,8 @@ dependencies = [ [[package]] name = "node-cli" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking-cli", "frame-support", @@ -3039,8 +3132,8 @@ dependencies = [ [[package]] name = "node-executor" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking", "node-primitives", @@ -3056,8 +3149,8 @@ dependencies = [ [[package]] name = "node-inspect" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "log 0.4.8", @@ -3073,8 +3166,8 @@ dependencies = [ [[package]] name = "node-primitives" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-system", "parity-scale-codec", @@ -3085,8 +3178,8 @@ dependencies = [ [[package]] name = "node-rpc" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "jsonrpc-core", "node-primitives", @@ -3102,6 +3195,7 @@ dependencies = [ "sc-keystore", "sc-rpc-api", "sp-api", + "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", @@ -3112,8 +3206,8 @@ dependencies = [ [[package]] name = "node-runtime" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking", "frame-executive", @@ -3138,6 +3232,7 @@ dependencies = [ "pallet-im-online", "pallet-indices", "pallet-membership", + "pallet-multisig", "pallet-offences", "pallet-proxy", "pallet-randomness-collective-flip", @@ -3188,9 +3283,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "5.1.1" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6" +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ "memchr", "version_check 0.9.2", @@ -3202,7 +3297,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3213,7 +3308,7 @@ checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ "autocfg 1.0.0", "num-integer", - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] @@ -3223,17 +3318,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ "autocfg 1.0.0", - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] name = "num-integer" -version = "0.1.42" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b" dependencies = [ "autocfg 1.0.0", - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] @@ -3245,7 +3340,7 @@ dependencies = [ "autocfg 1.0.0", "num-bigint", "num-integer", - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] @@ -3254,14 +3349,14 @@ version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" dependencies = [ - "num-traits 0.2.11", + "num-traits 0.2.12", ] [[package]] name = "num-traits" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611" dependencies = [ "autocfg 1.0.0", "libm", @@ -3288,9 +3383,9 @@ dependencies = [ [[package]] name = "object" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" +checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" [[package]] name = "once_cell" @@ -3309,9 +3404,9 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "openssl" -version = "0.10.29" +version = "0.10.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd" +checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4" dependencies = [ "bitflags", "cfg-if", @@ -3351,8 +3446,8 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3367,8 +3462,8 @@ dependencies = [ [[package]] name = "pallet-authorship" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3382,8 +3477,8 @@ dependencies = [ [[package]] name = "pallet-babe" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3404,8 +3499,8 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking", "frame-support", @@ -3418,8 +3513,8 @@ dependencies = [ [[package]] name = "pallet-collective" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3433,13 +3528,12 @@ dependencies = [ [[package]] name = "pallet-contracts" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", "pallet-contracts-primitives", - "pallet-transaction-payment", "parity-scale-codec", "parity-wasm", "pwasm-utils", @@ -3454,8 +3548,8 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -3464,8 +3558,8 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3483,8 +3577,8 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc-runtime-api" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -3495,8 +3589,8 @@ dependencies = [ [[package]] name = "pallet-democracy" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking", "frame-support", @@ -3510,22 +3604,22 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-phragmen", + "sp-npos-elections", "sp-runtime", "sp-std", ] [[package]] name = "pallet-finality-tracker" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3540,8 +3634,8 @@ dependencies = [ [[package]] name = "pallet-grandpa" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3560,8 +3654,8 @@ dependencies = [ [[package]] name = "pallet-identity" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3576,8 +3670,8 @@ dependencies = [ [[package]] name = "pallet-im-online" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3595,8 +3689,8 @@ dependencies = [ [[package]] name = "pallet-indices" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3611,13 +3705,28 @@ dependencies = [ [[package]] name = "pallet-membership" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-multisig" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", + "sp-core", "sp-io", "sp-runtime", "sp-std", @@ -3625,8 +3734,8 @@ dependencies = [ [[package]] name = "pallet-offences" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3640,22 +3749,23 @@ dependencies = [ [[package]] name = "pallet-proxy" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", "sp-core", + "sp-io", "sp-runtime", "sp-std", ] [[package]] name = "pallet-randomness-collective-flip" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3667,8 +3777,8 @@ dependencies = [ [[package]] name = "pallet-recovery" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "enumflags2", "frame-support", @@ -3682,12 +3792,14 @@ dependencies = [ [[package]] name = "pallet-scheduler" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", + "serde", "sp-io", "sp-runtime", "sp-std", @@ -3695,8 +3807,8 @@ dependencies = [ [[package]] name = "pallet-session" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3704,6 +3816,8 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "serde", + "sp-core", + "sp-io", "sp-runtime", "sp-session", "sp-staking", @@ -3713,8 +3827,8 @@ dependencies = [ [[package]] name = "pallet-society" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3727,8 +3841,8 @@ dependencies = [ [[package]] name = "pallet-staking" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3738,7 +3852,7 @@ dependencies = [ "serde", "sp-application-crypto", "sp-io", - "sp-phragmen", + "sp-npos-elections", "sp-runtime", "sp-staking", "sp-std", @@ -3747,19 +3861,19 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "pallet-sudo" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3772,8 +3886,8 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-benchmarking", "frame-support", @@ -3789,13 +3903,14 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", + "serde", "smallvec 1.4.0", "sp-runtime", "sp-std", @@ -3803,8 +3918,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3821,8 +3936,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "parity-scale-codec", @@ -3834,8 +3949,8 @@ dependencies = [ [[package]] name = "pallet-treasury" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3848,8 +3963,8 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-support", "frame-system", @@ -3863,8 +3978,8 @@ dependencies = [ [[package]] name = "pallet-vesting" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "enumflags2", "frame-support", @@ -3903,15 +4018,15 @@ dependencies = [ "percent-encoding 2.1.0", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.3.3", "url 2.1.1", ] [[package]] name = "parity-multiaddr" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ca96399f4a01aa89c59220c4f52ac371940eb4e53e3ce990da796f364bdf69" +checksum = "cc20af3143a62c16e7c9e92ea5c6ae49f7d271d97d4d8fe73afc28f0514a3d0f" dependencies = [ "arrayref", "bs58", @@ -3921,7 +4036,7 @@ dependencies = [ "percent-encoding 2.1.0", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.4.0", "url 2.1.1", ] @@ -3932,19 +4047,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a1cd2ba02391b81367bec529fb209019d718684fdc8ad6a712c2b536e46f775" dependencies = [ "blake2", - "bytes 0.5.4", + "bytes 0.5.5", "rand 0.7.3", "sha-1", "sha2", "sha3", - "unsigned-varint", + "unsigned-varint 0.3.3", ] [[package]] name = "parity-scale-codec" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329c8f7f4244ddb5c37c103641027a76c530e65e8e4b8240b29f81ea40508b17" +checksum = "a74f02beb35d47e0706155c9eac554b50c671e0d868fe8296bcdf44a9a4847bf" dependencies = [ "arrayvec 0.5.1", "bitvec", @@ -3961,8 +4076,8 @@ checksum = "5a0ec292e92e8ec7c58e576adacc1e3f399c597c8f263c42f18420abe58e7245" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -3971,6 +4086,25 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" +[[package]] +name = "parity-tokio-ipc" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.29", + "libc", + "log 0.4.8", + "mio-named-pipes", + "miow 0.3.5", + "rand 0.7.3", + "tokio 0.1.22", + "tokio-named-pipes", + "tokio-uds", + "winapi 0.3.9", +] + [[package]] name = "parity-util-mem" version = "0.6.1" @@ -3983,7 +4117,7 @@ dependencies = [ "parking_lot 0.10.2", "primitive-types", "smallvec 1.4.0", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -3993,7 +4127,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.30", + "syn 1.0.33", "synstructure", ] @@ -4036,7 +4170,7 @@ dependencies = [ "redox_syscall", "rustc_version", "smallvec 0.6.13", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4050,14 +4184,14 @@ dependencies = [ "libc", "redox_syscall", "smallvec 1.4.0", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "paste" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d508492eeb1e5c38ee696371bf7b9fc33c83d46a7d451606b96458fbbbdc2dec" +checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" dependencies = [ "paste-impl", "proc-macro-hack", @@ -4065,14 +4199,11 @@ dependencies = [ [[package]] name = "paste-impl" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f328a6a63192b333fce5fbb4be79db6758a4d518dfac6d54412f1492f72d32" +checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" dependencies = [ "proc-macro-hack", - "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", ] [[package]] @@ -4121,29 +4252,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "0.4.17" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc93aeee735e60ecb40cf740eb319ff23eab1c5748abfdb5c180e4ce49f7791" +checksum = "12e3a6cdbfe94a5e4572812a0201f8c0ed98c1c452c7b8563ce2276988ef9c17" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "0.4.17" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40" +checksum = "6a0ffd45cf79d88737d7cc85bfd5d2894bee1139b356e616fe85dc389c61aaf7" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "pin-project-lite" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df32da11d84f3a7d70205549562966279adb900e080fad3dccd8e64afccf0ad" +checksum = "282adbf10f2698a7a77f8e983a74b2d18176c19a7fd32a45446139ae7b02b715" [[package]] name = "pin-utils" @@ -4169,6 +4300,25 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" +[[package]] +name = "poly1305" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5829f50f48e9ddb79f3f7c3097029d0caee30f8286accb241416df603b080b8" +dependencies = [ + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ec3341498978de3bfd12d1b22f1af1de22818f5473a11e8a6ef997989e3a212" +dependencies = [ + "cfg-if", + "universal-hash", +] + [[package]] name = "ppv-lite86" version = "0.2.8" @@ -4198,26 +4348,26 @@ dependencies = [ [[package]] name = "proc-macro-error" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98e9e4b82e0ef281812565ea4751049f1bdcdfccda7d3f459f2e138a40c08678" +checksum = "fc175e9777c3116627248584e8f8b3e2987405cabe1c0adf7d1dd28f09dc7880" dependencies = [ "proc-macro-error-attr", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", "version_check 0.9.2", ] [[package]] name = "proc-macro-error-attr" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53" +checksum = "3cc9795ca17eb581285ec44936da7fc2335a3f34f2ddd13118b6f4d515435c50" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", "syn-mid", "version_check 0.9.2", ] @@ -4230,9 +4380,9 @@ checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" [[package]] name = "proc-macro-nested" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694" +checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a" [[package]] name = "proc-macro2" @@ -4240,7 +4390,7 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa" dependencies = [ - "unicode-xid 0.2.0", + "unicode-xid 0.2.1", ] [[package]] @@ -4278,7 +4428,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "prost-derive", ] @@ -4288,7 +4438,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "heck", "itertools 0.8.2", "log 0.4.8", @@ -4309,8 +4459,8 @@ dependencies = [ "anyhow", "itertools 0.8.2", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -4319,15 +4469,15 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "prost", ] [[package]] name = "protobuf" -version = "2.14.0" +version = "2.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485" +checksum = "e4951a8253c06334be9fe320bbcf73f14949fde62a0c8128d697eec1ff0fa8cd" [[package]] name = "pwasm-utils" @@ -4365,9 +4515,9 @@ checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" [[package]] name = "quote" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a21852a652ad6f610c9510194f398ff6f8692e334fd1145fed931f7fbe44ea" +checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" dependencies = [ "proc-macro2", ] @@ -4398,7 +4548,7 @@ dependencies = [ "libc", "rand_core 0.3.1", "rdrand", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4411,7 +4561,7 @@ dependencies = [ "fuchsia-cprng", "libc", "rand_core 0.3.1", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4430,7 +4580,7 @@ dependencies = [ "rand_os", "rand_pcg 0.1.2", "rand_xorshift", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4526,7 +4676,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ "libc", "rand_core 0.4.2", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4540,7 +4690,7 @@ dependencies = [ "libc", "rand_core 0.4.2", "rdrand", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4590,10 +4740,11 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098" +checksum = "62f02856753d04e03e26929f820d0a0a337ebe71f849801eea335d464b349080" dependencies = [ + "autocfg 1.0.0", "crossbeam-deque", "either", "rayon-core", @@ -4601,9 +4752,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9" +checksum = "e92e15d89083484e11353891f1af602cc661426deb9564c298b270c726973280" dependencies = [ "crossbeam-deque", "crossbeam-queue", @@ -4640,22 +4791,22 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a214c7875e1b63fc1618db7c80efc0954f6156c9ff07699fd9039e255accdd1" +checksum = "745c1787167ddae5569661d5ffb8b25ae5fedbf46717eaa92d652221cec72623" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602eb59cda66fcb9aec25841fb76bc01d2b34282dcdd705028da297db6f3eec8" +checksum = "7d21b475ab879ef0e315ad99067fa25778c3b0377f57f1b00207448dac1a3144" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -4696,23 +4847,44 @@ dependencies = [ "bitflags", "libc", "mach", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "remove_dir_all" -version = "0.5.2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "rental" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f" +dependencies = [ + "rental-impl", + "stable_deref_trait", +] + +[[package]] +name = "rental-impl" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" +checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" dependencies = [ - "winapi 0.3.8", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "ring" -version = "0.16.14" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06b3fefa4f12272808f809a0af618501fdaba41a58963c5fb72238ab0be09603" +checksum = "952cd6b98c85bbc30efa1ba5783b8abf12fec8b3287ffa52605b9432313e34e4" dependencies = [ "cc", "libc", @@ -4720,7 +4892,7 @@ dependencies = [ "spin", "untrusted", "web-sys", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4746,7 +4918,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99371657d3c8e4d816fb6221db98fa408242b0b53bac08f8676a41f8554fe99f" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -4847,10 +5019,10 @@ checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" [[package]] name = "sc-authority-discovery" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "derive_more", "futures 0.3.5", "futures-timer 3.0.2", @@ -4874,8 +5046,8 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -4898,8 +5070,8 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -4914,8 +5086,8 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -4930,25 +5102,24 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "sc-cli" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "ansi_term 0.12.1", "atty", "chrono", "derive_more", - "directories", "env_logger", "fdlimit", "futures 0.3.5", @@ -4982,8 +5153,8 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "fnv", @@ -5018,8 +5189,8 @@ dependencies = [ [[package]] name = "sc-client-db" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "blake2-rfc", "hash-db", @@ -5047,8 +5218,8 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "sc-client-api", "sp-blockchain", @@ -5058,8 +5229,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "fork-tree", @@ -5069,7 +5240,7 @@ dependencies = [ "merlin", "num-bigint", "num-rational", - "num-traits 0.2.11", + "num-traits 0.2.12", "parity-scale-codec", "parking_lot 0.10.2", "pdqselect", @@ -5100,8 +5271,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "futures 0.3.5", @@ -5114,6 +5285,7 @@ dependencies = [ "sc-rpc-api", "serde", "sp-api", + "sp-application-crypto", "sp-blockchain", "sp-consensus", "sp-consensus-babe", @@ -5123,8 +5295,8 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "fork-tree", "parity-scale-codec", @@ -5134,10 +5306,35 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "sc-consensus-manual-seal" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +dependencies = [ + "assert_matches", + "derive_more", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log 0.4.8", + "parking_lot 0.10.2", + "sc-client-api", + "sc-transaction-pool", + "serde", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-transaction-pool", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-consensus-slots" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5158,8 +5355,8 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "log 0.4.8", "sc-client-api", @@ -5172,8 +5369,8 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "lazy_static", @@ -5200,8 +5397,8 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "log 0.4.8", @@ -5217,8 +5414,8 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -5232,8 +5429,8 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "cranelift-codegen", "cranelift-wasm", @@ -5241,7 +5438,7 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "sc-executor-common", - "scoped-tls", + "scoped-tls 1.0.0", "sp-allocator", "sp-core", "sp-runtime-interface", @@ -5253,8 +5450,8 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "assert_matches", "derive_more", @@ -5276,6 +5473,7 @@ dependencies = [ "sc-telemetry", "serde_json", "sp-api", + "sp-application-crypto", "sp-arithmetic", "sp-blockchain", "sp-consensus", @@ -5290,8 +5488,8 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "finality-grandpa", @@ -5307,28 +5505,31 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", "log 0.4.8", "parity-util-mem", + "parking_lot 0.10.2", "sc-client-api", "sc-network", - "sc-service", "sp-blockchain", "sp-runtime", + "sp-transaction-pool", + "sp-utils", "wasm-timer", ] [[package]] name = "sc-keystore" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "hex", + "merlin", "parking_lot 0.10.2", "rand 0.7.3", "serde_json", @@ -5337,14 +5538,33 @@ dependencies = [ "subtle 2.2.3", ] +[[package]] +name = "sc-light" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +dependencies = [ + "hash-db", + "lazy_static", + "parity-scale-codec", + "parking_lot 0.10.2", + "sc-client-api", + "sc-executor", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-state-machine", +] + [[package]] name = "sc-network" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "bitflags", "bs58", - "bytes 0.5.4", + "bytes 0.5.5", "derive_more", "either", "erased-serde", @@ -5352,7 +5572,7 @@ dependencies = [ "fork-tree", "futures 0.3.5", "futures-timer 3.0.2", - "futures_codec", + "futures_codec 0.3.4", "hex", "ip_network", "libp2p", @@ -5383,7 +5603,7 @@ dependencies = [ "sp-utils", "substrate-prometheus-endpoint", "thiserror", - "unsigned-varint", + "unsigned-varint 0.3.3", "void", "wasm-timer", "zeroize", @@ -5391,8 +5611,8 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5406,10 +5626,10 @@ dependencies = [ [[package]] name = "sc-offchain" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "fnv", "futures 0.3.5", "futures-timer 3.0.2", @@ -5433,8 +5653,8 @@ dependencies = [ [[package]] name = "sc-peerset" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "libp2p", @@ -5446,8 +5666,8 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "log 0.4.8", "substrate-prometheus-endpoint", @@ -5455,8 +5675,8 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "hash-db", @@ -5487,8 +5707,8 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "futures 0.3.5", @@ -5511,11 +5731,12 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", + "jsonrpc-ipc-server", "jsonrpc-pubsub", "jsonrpc-ws-server", "log 0.4.8", @@ -5526,15 +5747,17 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", + "directories", "exit-future", "futures 0.1.29", "futures 0.3.5", "futures-timer 3.0.2", "hash-db", + "jsonrpc-pubsub", "lazy_static", "log 0.4.8", "netstat2", @@ -5550,7 +5773,9 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-executor", + "sc-informant", "sc-keystore", + "sc-light", "sc-network", "sc-offchain", "sc-rpc", @@ -5578,14 +5803,15 @@ dependencies = [ "sp-version", "substrate-prometheus-endpoint", "sysinfo", + "tempfile", "tracing", "wasm-timer", ] [[package]] name = "sc-state-db" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -5598,10 +5824,9 @@ dependencies = [ [[package]] name = "sc-telemetry" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "bytes 0.5.4", "futures 0.3.5", "futures-timer 3.0.2", "libp2p", @@ -5620,23 +5845,25 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "erased-serde", "log 0.4.8", "parking_lot 0.10.2", + "rustc-hash", "sc-telemetry", "serde", "serde_json", "slog", + "sp-tracing", "tracing-core", ] [[package]] name = "sc-transaction-graph" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "futures 0.3.5", @@ -5655,8 +5882,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "futures 0.3.5", @@ -5686,7 +5913,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ "lazy_static", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -5707,6 +5934,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "scoped-tls" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" + [[package]] name = "scoped-tls" version = "1.0.0" @@ -5735,8 +5968,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -5749,6 +5982,15 @@ dependencies = [ "untrusted", ] +[[package]] +name = "secrecy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9182278ed645df3477a9c27bfee0621c621aa16f6972635f7f795dae3d81070f" +dependencies = [ + "zeroize", +] + [[package]] name = "security-framework" version = "0.4.4" @@ -5795,29 +6037,29 @@ checksum = "a0eddf2e8f50ced781f288c19f18621fa72a3779e3cb58dbf23b07469b0abeb4" [[package]] name = "serde" -version = "1.0.111" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9124df5b40cbd380080b2cc6ab894c040a3070d995f5c9dc77e18c34a8ae37d" +checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.111" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2c3ac8e6ca1e9c80b8be1023940162bf81ae3cffbb1809474152f2ce1eb250" +checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "serde_json" -version = "1.0.53" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2" +checksum = "3433e879a558dde8b5e8feb2a04899cf34fdde1fafb894687e52105fc1162ac3" dependencies = [ "itoa", "ryu", @@ -5929,8 +6171,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -5950,13 +6192,13 @@ checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" [[package]] name = "snow" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb767eee7d257ba202f0b9b08673bc13b22281632ef45267b19f13100accd2f" +checksum = "ce0f91be479494dd92e69d9971bd23ed27037dd1c94fcf558f6c6e74e6afa654" dependencies = [ - "arrayref", - "blake2-rfc", - "chacha20-poly1305-aead", + "aes-gcm", + "blake2", + "chacha20poly1305", "rand 0.7.3", "rand_core 0.5.1", "ring", @@ -5975,33 +6217,29 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] name = "soketto" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9dab3f95c9ebdf3a88268c19af668f637a3c5039c2c56ff2d40b1b2d64a25b" +checksum = "85457366ae0c6ce56bf05a958aef14cd38513c236568618edbcd9a8c52cb80b0" dependencies = [ - "base64 0.11.0", - "bytes 0.5.4", + "base64 0.12.3", + "bytes 0.5.5", "flate2", "futures 0.3.5", - "http 0.2.1", "httparse", "log 0.4.8", "rand 0.7.3", - "sha1", - "smallvec 1.4.0", - "static_assertions", - "thiserror", + "sha-1", ] [[package]] name = "sp-allocator" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "log 0.4.8", @@ -6012,8 +6250,8 @@ dependencies = [ [[package]] name = "sp-api" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "hash-db", "parity-scale-codec", @@ -6027,20 +6265,20 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "blake2-rfc", "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "sp-application-crypto" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "serde", @@ -6051,11 +6289,11 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "integer-sqrt", - "num-traits 0.2.11", + "num-traits 0.2.12", "parity-scale-codec", "serde", "sp-debug-derive", @@ -6064,8 +6302,8 @@ dependencies = [ [[package]] name = "sp-authority-discovery" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-api", @@ -6076,8 +6314,8 @@ dependencies = [ [[package]] name = "sp-authorship" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6087,8 +6325,8 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-api", @@ -6099,8 +6337,8 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "log 0.4.8", @@ -6115,8 +6353,8 @@ dependencies = [ [[package]] name = "sp-chain-spec" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "serde", "serde_json", @@ -6124,8 +6362,8 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "futures 0.3.5", @@ -6143,12 +6381,27 @@ dependencies = [ "sp-utils", "sp-version", "substrate-prometheus-endpoint", + "wasm-timer", +] + +[[package]] +name = "sp-consensus-aura" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", ] [[package]] name = "sp-consensus-babe" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "merlin", "parity-scale-codec", @@ -6156,6 +6409,7 @@ dependencies = [ "sp-application-crypto", "sp-consensus", "sp-consensus-vrf", + "sp-core", "sp-inherents", "sp-runtime", "sp-std", @@ -6164,8 +6418,8 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -6176,8 +6430,8 @@ dependencies = [ [[package]] name = "sp-core" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "base58", "blake2-rfc", @@ -6193,7 +6447,7 @@ dependencies = [ "libsecp256k1", "log 0.4.8", "merlin", - "num-traits 0.2.11", + "num-traits 0.2.12", "parity-scale-codec", "parity-util-mem", "parking_lot 0.10.2", @@ -6201,6 +6455,7 @@ dependencies = [ "rand 0.7.3", "regex", "schnorrkel", + "secrecy", "serde", "sha2", "sp-debug-derive", @@ -6218,8 +6473,8 @@ dependencies = [ [[package]] name = "sp-database" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -6227,18 +6482,18 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "sp-externalities" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "environmental", "parity-scale-codec", @@ -6248,8 +6503,8 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "finality-grandpa", "log 0.4.8", @@ -6264,8 +6519,8 @@ dependencies = [ [[package]] name = "sp-finality-tracker" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6274,8 +6529,8 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "parity-scale-codec", @@ -6286,8 +6541,8 @@ dependencies = [ [[package]] name = "sp-io" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "hash-db", @@ -6300,14 +6555,15 @@ dependencies = [ "sp-runtime-interface", "sp-state-machine", "sp-std", + "sp-tracing", "sp-trie", "sp-wasm-interface", ] [[package]] name = "sp-keyring" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "lazy_static", "sp-core", @@ -6316,51 +6572,51 @@ dependencies = [ ] [[package]] -name = "sp-offchain" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +name = "sp-npos-elections" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", + "parity-scale-codec", + "serde", + "sp-arithmetic", + "sp-npos-elections-compact", + "sp-std", ] [[package]] -name = "sp-panic-handler" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +name = "sp-npos-elections-compact" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "backtrace", - "log 0.4.8", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] -name = "sp-phragmen" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +name = "sp-offchain" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "parity-scale-codec", - "serde", - "sp-arithmetic", - "sp-phragmen-compact", - "sp-std", + "sp-api", + "sp-core", + "sp-runtime", ] [[package]] -name = "sp-phragmen-compact" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +name = "sp-panic-handler" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "backtrace", + "log 0.4.8", ] [[package]] name = "sp-rpc" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "serde", "sp-core", @@ -6368,9 +6624,10 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ + "either", "hash256-std-hasher", "impl-trait-for-tuples", "log 0.4.8", @@ -6389,8 +6646,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "primitive-types", @@ -6404,20 +6661,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] name = "sp-sandbox" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-core", @@ -6429,8 +6686,8 @@ dependencies = [ [[package]] name = "sp-serializer" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "serde", "serde_json", @@ -6438,8 +6695,8 @@ dependencies = [ [[package]] name = "sp-session" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-api", @@ -6451,8 +6708,8 @@ dependencies = [ [[package]] name = "sp-staking" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -6461,15 +6718,17 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "hash-db", + "itertools 0.9.0", "log 0.4.8", - "num-traits 0.2.11", + "num-traits 0.2.12", "parity-scale-codec", "parking_lot 0.10.2", "rand 0.7.3", + "smallvec 1.4.0", "sp-core", "sp-externalities", "sp-panic-handler", @@ -6480,13 +6739,13 @@ dependencies = [ [[package]] name = "sp-std" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" [[package]] name = "sp-storage" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "impl-serde 0.2.3", "ref-cast", @@ -6497,8 +6756,8 @@ dependencies = [ [[package]] name = "sp-timestamp" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6511,16 +6770,18 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ + "log 0.4.8", + "rental", "tracing", ] [[package]] name = "sp-transaction-pool" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "derive_more", "futures 0.3.5", @@ -6528,14 +6789,15 @@ dependencies = [ "parity-scale-codec", "serde", "sp-api", + "sp-blockchain", "sp-runtime", "sp-utils", ] [[package]] name = "sp-trie" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "hash-db", "memory-db", @@ -6548,19 +6810,20 @@ dependencies = [ [[package]] name = "sp-utils" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "futures 0.3.5", "futures-core", + "futures-timer 3.0.2", "lazy_static", "prometheus", ] [[package]] name = "sp-version" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -6571,8 +6834,8 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6642,9 +6905,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863246aaf5ddd0d6928dfeb1a9ca65f505599e4e1b399935ef7e75107516b4ef" +checksum = "de2f5e239ee807089b62adce73e48c625e0ed80df02c7ab3f068f5db5281065c" dependencies = [ "clap", "lazy_static", @@ -6653,15 +6916,15 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d239ca4b13aee7a2142e6795cbd69e457665ff8037aed33b3effdc430d2f927a" +checksum = "510413f9de616762a4fbeab62509bf15c729603b72d7cd71280fbca431b1c118" dependencies = [ "heck", "proc-macro-error", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -6681,8 +6944,8 @@ checksum = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81" dependencies = [ "heck", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -6699,16 +6962,16 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "platforms", ] [[package]] name = "substrate-frame-rpc-system" -version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "2.0.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.5", @@ -6718,8 +6981,10 @@ dependencies = [ "log 0.4.8", "parity-scale-codec", "sc-client-api", + "sc-rpc-api", "serde", "sp-api", + "sp-block-builder", "sp-blockchain", "sp-core", "sp-runtime", @@ -6728,8 +6993,8 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" -version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +version = "0.8.0-rc4" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" dependencies = [ "async-std", "derive_more", @@ -6752,17 +7017,29 @@ dependencies = [ "hyper 0.12.35", "jsonrpc-core", "jsonrpc-core-client", + "jsonrpc-pubsub", "log 0.4.8", "node-cli", - "node-runtime", + "parity-scale-codec", "parking_lot 0.10.2", "primitive-types", "rand 0.7.3", + "sc-basic-authorship", "sc-cli", + "sc-consensus", + "sc-consensus-manual-seal", + "sc-executor", + "sc-rpc", "sc-rpc-api", + "sc-service", + "sc-transaction-pool", "sp-externalities", + "sp-inherents", "sp-runtime", "sp-storage", + "sp-timestamp", + "structopt", + "test-runtime", "tokio 0.2.21", "tokio-compat", "url 1.7.2", @@ -6771,7 +7048,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder-runner" version = "1.0.6" -source = "git+https://github.com/paritytech/substrate.git?branch=td-test-runner#71e1eaa3ed6315a78eee4a7719908fb1d3839c35" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" [[package]] name = "substrate-wasmtime" @@ -6793,7 +7070,7 @@ dependencies = [ "wasmparser 0.52.2", "wasmtime-environ", "wat", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -6820,7 +7097,7 @@ dependencies = [ "wasmparser 0.52.2", "wasmtime-debug", "wasmtime-environ", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -6859,7 +7136,7 @@ dependencies = [ "region", "thiserror", "wasmtime-environ", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -6887,13 +7164,13 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.30" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93a56fabc59dce20fe48b6c832cc249c713e7ed88fa28b0ee0a3bfcaae5fe4e2" +checksum = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd" dependencies = [ "proc-macro2", - "quote 1.0.6", - "unicode-xid 0.2.0", + "quote 1.0.7", + "unicode-xid 0.2.1", ] [[package]] @@ -6903,8 +7180,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -6918,14 +7195,14 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", - "unicode-xid 0.2.0", + "quote 1.0.7", + "syn 1.0.33", + "unicode-xid 0.2.1", ] [[package]] @@ -6940,7 +7217,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -6966,7 +7243,7 @@ dependencies = [ "rand 0.7.3", "redox_syscall", "remove_dir_all", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -6978,6 +7255,35 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "test-runtime" +version = "0.0.1" +dependencies = [ + "frame-executive", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-randomness-collective-flip", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "parity-scale-codec", + "serde", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder-runner", +] + [[package]] name = "textwrap" version = "0.11.0" @@ -6989,22 +7295,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13f926965ad00595dd129fa12823b04bbf866e9085ab0a5f2b05b850fbfc344" +checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "893582086c2f98cde18f906265a65b5030a074b1046c674ae898be6519a7f479" +checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -7032,7 +7338,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -7060,6 +7366,12 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinyvec" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed" + [[package]] name = "tokio" version = "0.1.22" @@ -7090,7 +7402,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "fnv", "futures-core", "iovec", @@ -7098,12 +7410,14 @@ dependencies = [ "libc", "memchr", "mio", + "mio-named-pipes", "mio-uds", "num_cpus", "pin-project-lite", "signal-hook-registry", "slab", - "winapi 0.3.8", + "tokio-macros", + "winapi 0.3.9", ] [[package]] @@ -7198,6 +7512,30 @@ dependencies = [ "log 0.4.8", ] +[[package]] +name = "tokio-macros" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" +dependencies = [ + "proc-macro2", + "quote 1.0.7", + "syn 1.0.33", +] + +[[package]] +name = "tokio-named-pipes" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.29", + "mio", + "mio-named-pipes", + "tokio 0.1.22", +] + [[package]] name = "tokio-reactor" version = "0.1.12" @@ -7229,6 +7567,15 @@ dependencies = [ "webpki", ] +[[package]] +name = "tokio-service" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" +dependencies = [ + "futures 0.1.29", +] + [[package]] name = "tokio-sync" version = "0.1.8" @@ -7343,7 +7690,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "futures-core", "futures-sink", "log 0.4.8", @@ -7384,8 +7731,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99bbad0de3fd923c9c3232ead88510b783e5a4d16a6154adffa3d53308de984c" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", ] [[package]] @@ -7405,9 +7752,9 @@ checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" [[package]] name = "trie-db" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc309f34008563989045a4c4dbcc5770467f3a3785ee80a9b5cc0d83362475f" +checksum = "cb230c24c741993b04cfccbabb45acff6f6480c5f00d3ed8794ea43db3a9d727" dependencies = [ "hash-db", "hashbrown", @@ -7431,17 +7778,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" -[[package]] -name = "twofish" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712d261e83e727c8e2dbb75dacac67c36e35db36a958ee504f2164fc052434e1" -dependencies = [ - "block-cipher-trait", - "byteorder", - "opaque-debug", -] - [[package]] name = "twox-hash" version = "1.5.0" @@ -7504,11 +7840,11 @@ dependencies = [ [[package]] name = "unicode-normalization" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" +checksum = "6fb19cf769fa8c6a80a162df694621ebeb4dafb606470b2b2fce0be40a98a977" dependencies = [ - "smallvec 1.4.0", + "tinyvec", ] [[package]] @@ -7519,9 +7855,9 @@ checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" [[package]] name = "unicode-width" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" [[package]] name = "unicode-xid" @@ -7531,9 +7867,19 @@ checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" [[package]] name = "unicode-xid" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" + +[[package]] +name = "universal-hash" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0c900f2f9b4116803415878ff48b63da9edb268668e08cf9292d7503114a01" +dependencies = [ + "generic-array", + "subtle 2.2.3", +] [[package]] name = "unsigned-varint" @@ -7541,10 +7887,20 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f67332660eb59a6f1eb24ff1220c9e8d01738a8503c6002e30bcfe4bd9f2b4a9" dependencies = [ - "bytes 0.5.4", + "bytes 0.5.5", "futures-io", "futures-util", - "futures_codec", + "futures_codec 0.3.4", +] + +[[package]] +name = "unsigned-varint" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "669d776983b692a906c881fcd0cfb34271a48e197e4d6cb8df32b05bfc3d3fa5" +dependencies = [ + "bytes 0.5.5", + "futures_codec 0.4.1", ] [[package]] @@ -7577,9 +7933,9 @@ dependencies = [ [[package]] name = "vcpkg" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55d1e41d56121e07f1e223db0a4def204e45c85425f6a16d462fd07c8d10d74c" +checksum = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c" [[package]] name = "vec_map" @@ -7634,9 +7990,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasm-bindgen" -version = "0.2.63" +version = "0.2.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2dc4aa152834bc334f506c1a06b866416a8b6697d5c9f75b9a689c8486def0" +checksum = "6a634620115e4a229108b71bde263bb4220c483b3f07f5ba514ee8d15064c4c2" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7644,24 +8000,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.63" +version = "0.2.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded84f06e0ed21499f6184df0e0cb3494727b0c5da89534e0fcc55c51d812101" +checksum = "3e53963b583d18a5aa3aaae4b4c1cb535218246131ba22a71f05b518098571df" dependencies = [ "bumpalo", "lazy_static", "log 0.4.8", "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64487204d863f109eb77e8462189d111f27cb5712cc9fdb3461297a76963a2f6" +checksum = "dba48d66049d2a6cc8488702e7259ab7afc9043ad0dc5448444f46f2a453b362" dependencies = [ "cfg-if", "js-sys", @@ -7671,32 +8027,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.63" +version = "0.2.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838e423688dac18d73e31edce74ddfac468e37b1506ad163ffaf0a46f703ffe3" +checksum = "3fcfd5ef6eec85623b4c6e844293d4516470d8f19cd72d0d12246017eb9060b8" dependencies = [ - "quote 1.0.6", + "quote 1.0.7", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.63" +version = "0.2.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3156052d8ec77142051a533cdd686cba889537b213f948cd1d20869926e68e92" +checksum = "9adff9ee0e94b926ca81b57f57f86d5545cdcb1d259e21ec9bdd95b901754c75" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.63" +version = "0.2.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9ba19973a58daf4db6f352eda73dc0e289493cd29fb2632eb172085b6521acd" +checksum = "7f7b90ea6c632dd06fd765d44542e234d5e63d9bb917ecd64d79778a13bd79ae" [[package]] name = "wasm-timer" @@ -7724,7 +8080,7 @@ dependencies = [ "libc", "memory_units", "num-rational", - "num-traits 0.2.11", + "num-traits 0.2.12", "parity-wasm", "wasmi-validation", ] @@ -7773,7 +8129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed54fd9d64dfeeee7c285fd126174a6b5e6d4efc7e5a1566fdb635e60ff6a74e" dependencies = [ "anyhow", - "base64 0.12.1", + "base64 0.12.3", "bincode", "cranelift-codegen", "cranelift-entity", @@ -7791,33 +8147,33 @@ dependencies = [ "thiserror", "toml", "wasmparser 0.51.4", - "winapi 0.3.8", + "winapi 0.3.9", "zstd", ] [[package]] name = "wast" -version = "17.0.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0e1c36b928fca33dbaf96235188f5fad22ee87100e26cc606bd0fbabdf1932" +checksum = "0b1844f66a2bc8526d71690104c0e78a8e59ffa1597b7245769d174ebb91deb5" dependencies = [ "leb128", ] [[package]] name = "wat" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b50f9e5e5c81e6fd987ae6997a9f4bbb751df2dec1d8cadb0b5778f1ec13bbe" +checksum = "ce85d72b74242c340e9e3492cfb602652d7bb324c3172dd441b5577e39a2e18c" dependencies = [ "wast", ] [[package]] name = "web-sys" -version = "0.3.40" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b72fe77fd39e4bd3eaa4412fd299a0be6b3dfe9d2597e2f1c20beb968f41d17" +checksum = "863539788676619aac1a23e2df3655e96b32b0e05eb72ca34ba045ad573c625d" dependencies = [ "js-sys", "wasm-bindgen", @@ -7909,9 +8265,9 @@ checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" [[package]] name = "winapi" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", @@ -7935,7 +8291,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.8", + "winapi 0.3.9", ] [[package]] @@ -7985,9 +8341,9 @@ dependencies = [ [[package]] name = "yamux" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84300bb493cc878f3638b981c62b4632ec1a5c52daaa3036651e8c106d3b55ea" +checksum = "cd37e58a1256a0b328ce9c67d8b62ecdd02f4803ba443df478835cb1a41a637c" dependencies = [ "futures 0.3.5", "log 0.4.8", @@ -8013,25 +8369,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ "proc-macro2", - "quote 1.0.6", - "syn 1.0.30", + "quote 1.0.7", + "syn 1.0.33", "synstructure", ] [[package]] name = "zstd" -version = "0.5.2+zstd.1.4.5" +version = "0.5.3+zstd.1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644352b10ce7f333d6e0af85bd4f5322dc449416dc1211c6308e95bca8923db4" +checksum = "01b32eaf771efa709e8308605bbf9319bf485dc1503179ec0469b611937c0cd8" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "2.0.4+zstd.1.4.5" +version = "2.0.5+zstd.1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7113c0c9aed2c55181f2d9f5b0a36e7d2c0183b11c058ab40b35987479efe4d7" +checksum = "1cfb642e0d27f64729a639c52db457e0ae906e7bc6f5fe8f5c453230400f1055" dependencies = [ "libc", "zstd-sys", @@ -8039,9 +8395,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.4.16+zstd.1.4.5" +version = "1.4.17+zstd.1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c442965efc45353be5a9b9969c9b0872fff6828c7e06d118dda2cb2d0bb11d5a" +checksum = "b89249644df056b522696b1bb9e7c18c87e8ffa3e2f0dc3b0155875d6498f01b" dependencies = [ "cc", "glob", diff --git a/Cargo.toml b/Cargo.toml index 8b28be3..6bff212 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,16 +4,31 @@ version = "0.1.0" authors = ["Tomasz Drwięga "] edition = "2018" -[dependencies] -node-cli = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner", features = ["service"] } -node-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } +[workspace] +members = [ + "runtime" +] -sc-cli = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } -sc-rpc-api = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } -sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } +[dependencies] +runtime = { package = "test-runtime", path = "./runtime" } +node-cli = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-executor = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } -frame-system = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } +sc-service = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-cli = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-rpc-api = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +frame-system = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +manual-seal = { package = "sc-consensus-manual-seal", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +parity-scale-codec = "1.3.1" +structopt = "0.3.15" env_logger = "0.7.1" log = "0.4.8" hyper = "0.12.35" @@ -21,16 +36,17 @@ futures01 = { package = "futures", version = "0.1.29" } futures = { package = "futures", version = "0.3", features = ["compat"] } rand = "0.7" parking_lot = "0.10" -tokio = { version = "0.2", features = ["time"] } +tokio = { version = "0.2", features = ["full"] } async-trait = "0.1.36" # Calling RPC jsonrpc-core-client = { version = "14.2", features = ["ws"] } jsonrpc-core = "14.2" +jsonrpc-pubsub = "14.2" tokio-compat = { version = "0.1.6", features = ["rt-full"] } url = "1.7" primitive-types = "0.7" # Externalities -sp-externalities = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } -sp-storage = { git = "https://github.com/paritytech/substrate.git", branch = "td-test-runner" } +sp-externalities = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-storage = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml new file mode 100644 index 0000000..54c58b1 --- /dev/null +++ b/runtime/Cargo.toml @@ -0,0 +1,66 @@ +[package] +name = "test-runtime" +authors = ["Anonymous"] +edition = "2018" +version = "0.0.1" +license = "Unlicense" +homepage = "https://substrate.dev" +repository = "https://github.com/paritytech/substrate/" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +codec = { package = "parity-scale-codec", version = "1.3.1", default-features = false, features = ["derive"] } +serde = { version = "1.0.101", optional = true, features = ["derive"] } + +balances = { default-features = false, package = "pallet-balances", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +randomness-collective-flip = { default-features = false, package = "pallet-randomness-collective-flip", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sudo = { default-features = false, package = "pallet-sudo", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +system = { default-features = false, package = "frame-system", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +timestamp = { default-features = false, package = "pallet-timestamp", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +transaction-payment = { default-features = false, package = "pallet-transaction-payment", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-block-builder = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" , default-features = false } +sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" , default-features = false } +sp-io = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-session = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-version = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } + +[build-dependencies] +wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } + +[features] +default = ["std"] +std = [ + "balances/std", + "codec/std", + "frame-executive/std", + "frame-support/std", + "randomness-collective-flip/std", + "serde", + "sp-api/std", + "sp-block-builder/std", + "sp-consensus-aura/std", + "sp-core/std", + "sp-inherents/std", + "sp-io/std", + "sp-offchain/std", + "sp-runtime/std", + "sp-session/std", + "sp-std/std", + "sp-transaction-pool/std", + "sp-version/std", + "sudo/std", + "system/std", + "timestamp/std", + "transaction-payment/std", +] diff --git a/runtime/build.rs b/runtime/build.rs new file mode 100644 index 0000000..1f40a41 --- /dev/null +++ b/runtime/build.rs @@ -0,0 +1,10 @@ +use wasm_builder_runner::WasmBuilder; + +fn main() { + WasmBuilder::new() + .with_current_project() + .with_wasm_builder_from_crates("1.0.11") + .export_heap_base() + .import_memory() + .build() +} diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs new file mode 100644 index 0000000..161a019 --- /dev/null +++ b/runtime/src/lib.rs @@ -0,0 +1,344 @@ +//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm. + +#![cfg_attr(not(feature = "std"), no_std)] +// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. +#![recursion_limit="256"] + +// Make the WASM binary available. +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +use sp_std::prelude::*; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_runtime::{ + ApplyExtrinsicResult, generic, create_runtime_str, impl_opaque_keys, MultiSignature, + transaction_validity::{TransactionValidity, TransactionSource}, +}; +use sp_runtime::traits::{ + BlakeTwo256, Block as BlockT, IdentityLookup, Verify, IdentifyAccount, NumberFor, Saturating, +}; +use sp_api::impl_runtime_apis; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_version::RuntimeVersion; +#[cfg(feature = "std")] +use sp_version::NativeVersion; + +// A few exports that help ease life for downstream crates. +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +pub use timestamp::Call as TimestampCall; +pub use balances::Call as BalancesCall; +pub use sp_runtime::{Permill, Perbill}; +pub use frame_support::{ + construct_runtime, parameter_types, StorageValue, + traits::{KeyOwnerProofSystem, Randomness}, + weights::{ + Weight, IdentityFee, + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + }, +}; + + +/// An index to a block. +pub type BlockNumber = u32; + +/// Alias to 512-bit hash when used in the context of a transaction signature on the chain. +pub type Signature = MultiSignature; + +/// Some way of identifying an account on the chain. We intentionally make it equivalent +/// to the public key of our transaction signing scheme. +pub type AccountId = <::Signer as IdentifyAccount>::AccountId; + +/// The type for looking up accounts. We don't expect more than 4 billion of them, but you +/// never know... +pub type AccountIndex = u32; + +/// Balance of an account. +pub type Balance = u128; + +/// Index of a transaction in the chain. +pub type Index = u32; + +/// A hash of some data used by the chain. +pub type Hash = sp_core::H256; + +/// Digest item type. +pub type DigestItem = generic::DigestItem; + +/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know +/// the specifics of the runtime. They can then be made to be agnostic over specific formats +/// of data like extrinsics, allowing for them to continue syncing the network through upgrades +/// to even the core data structures. +pub mod opaque { + use super::*; + + pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; + + /// Opaque block header type. + pub type Header = generic::Header; + /// Opaque block type. + pub type Block = generic::Block; + /// Opaque block identifier type. + pub type BlockId = generic::BlockId; + + impl_opaque_keys! { + pub struct SessionKeys {} + } +} + +/// This runtime version. +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: create_runtime_str!("node-template"), + impl_name: create_runtime_str!("node-template"), + authoring_version: 1, + spec_version: 1, + impl_version: 1, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, +}; + +pub const MILLISECS_PER_BLOCK: u64 = 6000; + +pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; + +// These time units are defined in number of blocks. +pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber); +pub const HOURS: BlockNumber = MINUTES * 60; +pub const DAYS: BlockNumber = HOURS * 24; + +/// The version information used to identify this runtime when compiled natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { + runtime_version: VERSION, + can_author_with: Default::default(), + } +} + +parameter_types! { + pub const BlockHashCount: BlockNumber = 2400; + /// We allow for 2 seconds of compute with a 6 second average block time. + pub const MaximumBlockWeight: Weight = 2 * WEIGHT_PER_SECOND; + pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75); + /// Assume 10% of weight for average on_initialize calls. + pub MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get() + .saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get(); + pub const MaximumBlockLength: u32 = 5 * 1024 * 1024; + pub const Version: RuntimeVersion = VERSION; +} + +impl system::Trait for Runtime { + /// The basic call filter to use in dispatchable. + type BaseCallFilter = (); + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + /// The lookup mechanism to get account ID from whatever is passed in dispatchers. + type Lookup = IdentityLookup; + /// The index type for storing how many extrinsics an account has signed. + type Index = Index; + /// The index type for blocks. + type BlockNumber = BlockNumber; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The hashing algorithm used. + type Hashing = BlakeTwo256; + /// The header type. + type Header = generic::Header; + /// The ubiquitous event type. + type Event = Event; + /// The ubiquitous origin type. + type Origin = Origin; + /// Maximum number of block number to block hash mappings to keep (oldest pruned first). + type BlockHashCount = BlockHashCount; + /// Maximum weight of each block. + type MaximumBlockWeight = MaximumBlockWeight; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// The weight of the overhead invoked on the block import process, independent of the + /// extrinsics included in that block. + type BlockExecutionWeight = BlockExecutionWeight; + /// The base weight of any extrinsic processed by the runtime, independent of the + /// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...) + type ExtrinsicBaseWeight = ExtrinsicBaseWeight; + /// The maximum weight that a single extrinsic of `Normal` dispatch class can have, + /// idependent of the logic of that extrinsics. (Roughly max block weight - average on + /// initialize cost). + type MaximumExtrinsicWeight = MaximumExtrinsicWeight; + /// Maximum size of all encoded transactions (in bytes) that are allowed in one block. + type MaximumBlockLength = MaximumBlockLength; + /// Portion of the block weight that is available to all normal transactions. + type AvailableBlockRatio = AvailableBlockRatio; + /// Version of the runtime. + type Version = Version; + /// Converts a module to the index of the module in `construct_runtime!`. + /// + /// This type is being generated by `construct_runtime!`. + type ModuleToIndex = ModuleToIndex; + /// What to do if a new account is created. + type OnNewAccount = (); + /// What to do if an account is fully reaped from the system. + type OnKilledAccount = (); + /// The data to be stored in an account. + type AccountData = balances::AccountData; +} + + +parameter_types! { + pub const MinimumPeriod: u64 = SLOT_DURATION / 2; +} + +impl timestamp::Trait for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = MinimumPeriod; +} + +parameter_types! { + pub const ExistentialDeposit: u128 = 500; +} + +impl balances::Trait for Runtime { + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type Event = Event; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; +} + +parameter_types! { + pub const TransactionByteFee: Balance = 1; +} + +impl transaction_payment::Trait for Runtime { + type Currency = balances::Module; + type OnTransactionPayment = (); + type TransactionByteFee = TransactionByteFee; + type WeightToFee = IdentityFee; + type FeeMultiplierUpdate = (); +} + +impl sudo::Trait for Runtime { + type Event = Event; + type Call = Call; +} + +construct_runtime!( + pub enum Runtime where + Block = Block, + NodeBlock = opaque::Block, + UncheckedExtrinsic = UncheckedExtrinsic + { + System: system::{Module, Call, Config, Storage, Event}, + RandomnessCollectiveFlip: randomness_collective_flip::{Module, Call, Storage}, + Timestamp: timestamp::{Module, Call, Storage, Inherent}, + Balances: balances::{Module, Call, Storage, Config, Event}, + TransactionPayment: transaction_payment::{Module, Storage}, + Sudo: sudo::{Module, Call, Config, Storage, Event}, + } +); + +/// The address format for describing accounts. +pub type Address = AccountId; +/// Block header type as expected by this runtime. +pub type Header = generic::Header; +/// Block type as expected by this runtime. +pub type Block = generic::Block; +/// A Block signed with a Justification +pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + system::CheckSpecVersion, + system::CheckTxVersion, + system::CheckGenesis, + system::CheckEra, + system::CheckNonce, + system::CheckWeight, + transaction_payment::ChargeTransactionPayment +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +/// Extrinsic type that has already been checked. +pub type CheckedExtrinsic = generic::CheckedExtrinsic; +/// Executive: handles dispatch to the various modules. +pub type Executive = frame_executive::Executive, Runtime, AllModules>; + +impl_runtime_apis! { + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + + fn execute_block(block: Block) { + Executive::execute_block(block) + } + + fn initialize_block(header: &::Header) { + Executive::initialize_block(header) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + Runtime::metadata().into() + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } + + fn random_seed() -> ::Hash { + RandomnessCollectiveFlip::random_seed() + } + } + + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx) + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } + + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + opaque::SessionKeys::generate(seed) + } + + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + opaque::SessionKeys::decode_into_raw_public_keys(&encoded) + } + } +} diff --git a/src/node.rs b/src/node.rs index 3f92a3c..16fdbc0 100644 --- a/src/node.rs +++ b/src/node.rs @@ -1,6 +1,19 @@ use std::io::Write; use std::sync::Arc; use parking_lot::RwLock; +use sc_service::{ServiceBuilder, Configuration, ServiceComponents, TaskManager, RpcHandlers, TaskType}; +use sp_inherents::InherentDataProviders; +use sc_cli::{SubstrateCli, build_runtime, CliConfiguration}; +use jsonrpc_core::MetaIoHandler; +use sc_executor::native_executor_instance; + +// Our native executor instance. +native_executor_instance!( + pub Executor, + runtime::api::dispatch, + runtime::native_version, +); + /// TODO [ToDr] Remove in favour of direct use of `AbstractService`. pub(crate) const RPC_WS_URL: &str = "ws://127.0.0.1:9944"; @@ -11,12 +24,15 @@ type ChainSpec = &'static str; type Module = String; type Logger = Arc>>>; -#[derive(Debug)] +/// this holds a reference to a running node on another thread, +/// we set a port over cli, process is dropped when this struct is dropped +/// holds logs from the process. pub struct InternalNode { - node_handle: Option>>, - stop_signal: Option>, - logs: Logger, runtime: T, + logs: Logger, + tokio_runtime: tokio::runtime::Runtime, + rpc_handlers: Arc>, + task_manager: TaskManager, } impl From for InternalNode { @@ -30,60 +46,48 @@ impl InternalNode { InternalNodeBuilder::new(runtime) } - pub fn new( - logs: Logger, - cli: &[String], - runtime: T, - _chain_spec: ChainSpec, - ) -> Self { - use futures::future::FutureExt; + pub fn new(logs: Logger, cli: &[String], runtime: T) -> Self { use sc_cli::SubstrateCli; - let (tx, rx) = futures::channel::oneshot::channel(); - let (send_start, start) = std::sync::mpsc::channel(); let cli = node_cli::Cli::from_iter(cli.iter()); - // TODO [ToDr] Get a handle of `AbstractService` instead - // (crate_configuration + new_light/new_full) - // it can be used to send RPC requests directly. - let handle = std::thread::spawn(move || { - let runner = cli.create_runner(&cli.run) - .expect("Unable to create Node runner."); - let _ = send_start.send(()); - runner.run_node_until( - node_cli::service::new_light, - node_cli::service::new_full, - rx.map(|_| ()) - ) - }); - - // That's so crappy - start.recv().unwrap(); - // std::thread::sleep(std::time::Duration::from_secs(5)); + let tokio_runtime = build_runtime().unwrap(); + let runtime_handle = tokio_runtime.handle().clone(); + + let task_executor = move |fut, task_type| { + match task_type { + TaskType::Async => { runtime_handle.spawn(fut); } + TaskType::Blocking => { + runtime_handle.spawn(async move { + // `spawn_blocking` is looking for the current runtime, and as such has to + // be called from within `spawn`. + tokio::task::spawn_blocking(move || futures::executor::block_on(fut)) + }); + } + } + }; + + let config = cli + .create_configuration(&cli.run, task_executor.into()) + // Todo: return result + .unwrap(); + // TODO: result + let (task_manager, rpc_handlers) = build_node(config) + .unwrap(); Self { - node_handle: Some(handle), - stop_signal: Some(tx), logs, runtime, + task_manager, + tokio_runtime, + rpc_handlers: Arc::new(rpc_handlers.into_handler().into()), } } - pub(crate) fn logs(&self) -> &Logger { - &self.logs + pub fn rpc_handler(&self) -> Arc> { + self.rpc_handlers.clone() } -} -impl Drop for InternalNode { - fn drop(&mut self) { - // TODO [ToDr] unwraps! - if let Some(signal) = self.stop_signal.take() { - if let Err(_) = signal.send(()) { - log::error!("couldn't send signal to node to terminate") - } - } - if let Some(handle) = self.node_handle.take() { - let result = handle.join(); - log::error!("node terminated with {:?}", result) - } + pub(crate) fn logs(&self) -> &Logger { + &self.logs } } @@ -107,7 +111,7 @@ impl InternalNodeBuilder { "yamux", "multistream_select", "libp2p", "sc_network", "tokio_reactor", "jsonrpc_client_transports", "ws", "sc_network::protocol::generic_proto::behaviour", - "sc_service", "sc_peerset", "rpc", "sub-libp2p" + "sc_service", "sc_peerset", "rpc", "sub-libp2p", "sync", "peerset" ]; let logs = Logger::default(); { @@ -148,7 +152,7 @@ impl InternalNodeBuilder { Self { cli: vec![ - "--dev".into(), + "--chain local".into(), "--no-mdns".into(), "--no-prometheus".into(), "--no-telemetry".into(), @@ -165,15 +169,78 @@ impl InternalNodeBuilder { } pub fn start(self) -> InternalNode { - // TODO [ToDr] Actaully create the chainspec. - let chain_spec = "dev"; - - InternalNode::new( - self.logs, - &self.cli, - self.runtime, - chain_spec, - ) + InternalNode::new(self.logs, &self.cli, self.runtime) } } +/// TODO: should be generic over the runtime, block and executor. +/// starts a manual seal authorship task. +fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { + // Channel for the rpc handler to communicate with the authorship task. + let (command_sink, commands_stream) = futures::channel::mpsc::channel(1000); + + let ServiceComponents { + task_manager, rpc_handlers, client, + transaction_pool, select_chain, prometheus_registry, + .. + } = ServiceBuilder::new_full::(config)? + .with_select_chain(|_config, backend| { + Ok(sc_consensus::LongestChain::new(backend.clone())) + })? + .with_transaction_pool(|builder| { + let pool_api = sc_transaction_pool::FullChainApi::new(builder.client().clone()); + Ok(sc_transaction_pool::BasicPool::new( + builder.config().transaction_pool.clone(), + std::sync::Arc::new(pool_api), + builder.prometheus_registry(), + )) + })? + .with_import_queue(|_config, client, _select_chain, _transaction_pool, spawn_task_handle, registry| { + Ok(manual_seal::import_queue( + Box::new(client), + spawn_task_handle, + registry, + )) + })? + .with_rpc_extensions(|_| -> Result, _> { + use manual_seal::rpc; + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with( + // We provide the rpc handler with the sending end of the channel to allow the rpc + // send EngineCommands to the background block authorship task. + rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink)), + ); + Ok(io) + })? + .build_full()?; + + let inherent_data_providers = InherentDataProviders::new(); + inherent_data_providers + .register_provider(sp_timestamp::InherentDataProvider) + .unwrap(); + + // Proposer object for block authorship. + let proposer = sc_basic_authorship::ProposerFactory::new( + client.clone(), + transaction_pool.clone(), + prometheus_registry.as_ref(), + ); + + // Background authorship future. + let authorship_future = manual_seal::run_manual_seal( + Box::new(client.clone()), + proposer, + client, + transaction_pool.pool().clone(), + commands_stream, + select_chain.expect("SelectChain is set at Service initialization; qed"), + inherent_data_providers, + ); + + // we spawn the future on a background thread managed by service. + task_manager.spawn_essential_handle() + .spawn("manual-seal", authorship_future); + + // we really only care about the rpc interface. + Ok((task_manager, rpc_handlers)) +} \ No newline at end of file diff --git a/src/rpc.rs b/src/rpc.rs index ddc2fbd..39cb844 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -18,13 +18,12 @@ pub type StateClient = sc_rpc_api::state::StateClient< types::BlockHash, >; -#[async_trait] pub trait RpcExtension { - async fn raw_rpc(&mut self) -> RawClient { - self.rpc().await + fn raw_rpc(&mut self) -> RawClient { + self.rpc() } - async fn rpc>(&mut self) -> TClient; + fn rpc + 'static>(&mut self) -> TClient; } pub async fn connect_ws>(url: &str) -> Result diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 2f2220a..f3a1dbc 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -3,9 +3,10 @@ use crate::{ rpc::{self, RpcExtension}, types, }; -use jsonrpc_core_client::RpcChannel; +use jsonrpc_core_client::{RpcChannel, transports::local}; use async_trait::async_trait; -use crate::test::externalities; +use crate::test::externalities::TestExternalities; +use tokio_compat::runtime::Runtime; pub enum BlackBoxNode { /// Connects to an external node. @@ -17,32 +18,39 @@ pub enum BlackBoxNode { /// A black box test. pub struct BlackBox { node: BlackBoxNode, + compat_runtime: Runtime, } -impl BlackBox { +impl BlackBox { pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R where TRuntime: frame_system::Trait { - externalities::TestExternalities::::new( - self.rpc().await - ).execute_with(closure) + TestExternalities::::new(self.rpc()) + .execute_with(closure) } } -#[async_trait] impl rpc::RpcExtension for BlackBox { - async fn rpc>(&mut self) -> TClient { - let future = match self.node { - BlackBoxNode::External(ref url) => rpc::connect_ws(&url), - BlackBoxNode::Internal(_) => rpc::connect_ws(crate::node::RPC_WS_URL), + fn rpc + 'static>(&mut self) -> TClient { + let client = match self.node { + BlackBoxNode::External(ref url) => { + self.compat_runtime.block_on_std( rpc::connect_ws(&url)).unwrap() + }, + BlackBoxNode::Internal(ref internal) => { + use futures01::Future; + + let (client, fut) = local::connect::(internal.rpc_handler()); + self.compat_runtime.spawn(fut.map_err(|_| ())); + client + }, }; - future.await - .unwrap() + client } } impl BlackBox { pub fn new(node: BlackBoxNode) -> Self { - Self { node } + let runtime = Runtime::new().unwrap(); + Self { node, compat_runtime: runtime } } } diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 0ad7868..64aa12b 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -7,37 +7,46 @@ use tokio::time::{delay_for, Duration}; use async_trait::async_trait; use futures::compat::Future01CompatExt; use crate::test::externalities; +use tokio_compat::runtime::Runtime; +use futures::FutureExt; +use jsonrpc_core_client::transports::local; +use std::thread; +use manual_seal::rpc::ManualSealClient; /// A deterministic internal instance of substrate node. pub struct Deterministic { node: InternalNode, + compat_runtime: Runtime, } -#[async_trait] -impl rpc::RpcExtension for Deterministic { - // TODO [ToDr] Override and use the direct channel. - async fn rpc>(&mut self) -> TClient { - rpc::connect_ws(crate::node::RPC_WS_URL) - .await - .expect("error occured connecting to the node") +impl rpc::RpcExtension for Deterministic { + fn rpc + 'static>(&mut self) -> TClient { + use futures01::Future; + let rpc_handler = self.node.rpc_handler(); + let (client, fut) = local::connect::(rpc_handler); + self.compat_runtime.spawn(fut.map_err(|_| ())); + + client } } -impl Deterministic { +impl Deterministic { pub fn new(node: InternalNode) -> Self { - Self { node } + let runtime = Runtime::new().unwrap(); + Self { node, compat_runtime: runtime } } - pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R + pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R where TRuntime: frame_system::Trait { - externalities::TestExternalities::::new(self.rpc().await) + let client = self.rpc(); + externalities::TestExternalities::::new(client) .execute_with(closure) } } -impl Deterministic { +impl Deterministic { pub fn assert_log_line(&self, module: &str, content: &str) { if let Some(logs) = self.node.logs().read().get(module) { for log in logs { @@ -51,32 +60,17 @@ impl Deterministic { } } - /// TODO [ToDr] This method should probably be `produce_blocks(5)` when we switch to - /// `ManualConsensus` engine. - pub async fn produce_blocks(&mut self, diff: impl Into>) where - // TODO The bound here is a bit shitty, cause in theory the RPC is not frame-specific. - crate::types::BlockNumber: std::convert::TryFrom + Into, - { - // TODO [ToDr] Read from the chain. - let current_block_number: crate::types::BlockNumber = 0.into(); - let number = current_block_number + diff.into(); - let client = self.rpc::>().await; - let mut retry = 100; - loop { - let header = client.header(None).compat() - .await - .expect("Unable to get latest header from the node.") - .expect("No best header?"); - - if header.number > number { - return; - } - - retry -= 1; - if retry == 0 { - panic!("Unable to reach block. Best found: {:?}", header); - } - delay_for(Duration::from_secs(1)).await; - } + pub fn produce_blocks(&mut self, num: usize) { + let client = self.rpc::>(); + self.compat_runtime.block_on_std(async { + for _ in 0..num { + println!("produce_blocks"); + let result = client.create_block(true, true, None) + .compat() + .await + .expect("failed to create blocks"); + println!("\n\n\n{:#?}\n\n\n\n", result) + } + }); } } diff --git a/src/test/externalities.rs b/src/test/externalities.rs index d6982b6..decb7ad 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -14,7 +14,6 @@ impl TestExternalities { } pub fn execute_with(&mut self, execute: impl FnOnce() -> R) -> R { - println!("execute_with"); sp_externalities::set_and_run_with_externalities(self, execute) } } @@ -111,7 +110,31 @@ impl sp_externalities::Externalities for TestExte fn storage_changes_root(&mut self, _parent: &[u8]) -> Result>, ()> { todo!() } + fn storage_start_transaction(&mut self) { + todo!() + } + + fn storage_rollback_transaction(&mut self) -> Result<(), ()> { + todo!() + } + + fn storage_commit_transaction(&mut self) -> Result<(), ()> { + todo!() + } + fn wipe(&mut self) { todo!() } fn commit(&mut self) { todo!() } + + fn read_write_count(&self) -> (u32, u32, u32, u32) { + todo!() + } + + fn reset_read_write_count(&mut self) { + todo!() + } + + fn set_whitelist(&mut self, new: Vec>) { + todo!() + } } diff --git a/src/test/mod.rs b/src/test/mod.rs index df529a4..d44b84b 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -6,12 +6,12 @@ pub fn blackbox_external(url: &str, _runtime: TRuntime) -> black blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } -pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { +pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { let node = crate::node::InternalNode::builder(runtime).start(); blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { +pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 3d265a1..b2841ca 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,6 +1,5 @@ use substrate_test_runner::{test, rpc, prelude::*}; -use node_runtime::Runtime; -use tokio_compat::runtime; +use runtime::Runtime; use futures::compat::Future01CompatExt; #[test] @@ -15,10 +14,10 @@ fn should_run_off_chain_worker() { // }) .start() ); - let mut runtime = runtime::Runtime::new().unwrap(); + let mut runtime = tokio_compat::runtime::Runtime::new().unwrap(); runtime.block_on_std(async { - let chain_client = test.rpc::>().await; - let rpc_client = test.raw_rpc().await; + let chain_client = test.rpc::>(); + let rpc_client = test.raw_rpc(); // TODO [ToDr] This should be even rawer - allowing to pass JSON call, // which in turn could be collected from the UI. @@ -31,7 +30,7 @@ fn should_run_off_chain_worker() { let header = chain_client.header(None).compat().await.unwrap(); println!("{:?}", header); - test.produce_blocks(15_u32).await; + test.produce_blocks(15); // test.assert_log_line("db", "best = true"); }); @@ -60,40 +59,35 @@ fn should_read_state() { // nonce, // ) // }); - - let mut runtime = runtime::Runtime::new().unwrap(); - - // tokio-compat doesn't have macros for test, main. - // would be great to have them. - runtime.block_on_std(async { - // when - test.produce_blocks(5_u32).await; - println!("produced blocks"); - test.with_state(|| { - // test.with_state(Read::External, Write::Memory(&mut storage), || { - let events = frame_system::Module::::events(); - println!("events {:#?}", events); - // assert_eq!(events.len(), 2); - // - let events = frame_system::Module::::events(); - println!("events {:#?}", events); - // assert_eq!(events.len(), 1); - }).await; - - // when - test.produce_blocks(5_u32).await; - - // then - test.with_state(|| { - let events = frame_system::Module::::events(); - println!("events {:#?}", events); - // assert_eq!(events.len(), 0); - - let events = frame_system::Module::::events(); - println!("events {:#?}", events); - // assert_eq!(events.len(), 0); - }).await; - }); + println!("produce_blocks"); + + // when + test.produce_blocks(1); + println!("produced blocks"); + // test.with_state(|| { + // // test.with_state(Read::External, Write::Memory(&mut storage), || { + // let events = frame_system::Module::::events(); + // println!("events {:#?}", events); + // // assert_eq!(events.len(), 2); + // // + // let events = frame_system::Module::::events(); + // println!("events {:#?}", events); + // // assert_eq!(events.len(), 1); + // }); + // + // // when + // test.produce_blocks(5); + // + // // then + // test.with_state(|| { + // let events = frame_system::Module::::events(); + // println!("events {:#?}", events); + // // assert_eq!(events.len(), 0); + // + // let events = frame_system::Module::::events(); + // println!("events {:#?}", events); + // // assert_eq!(events.len(), 0); + // }); } #[test] From 032455b62b25b368e77e6a029ea66cdbd5d9ae08 Mon Sep 17 00:00:00 2001 From: Seun Date: Thu, 2 Jul 2020 07:29:51 +0100 Subject: [PATCH 03/16] adds a main.rs --- Cargo.toml | 3 +++ src/main.rs | 35 +++++++++++++++++++++++++++++++++++ src/node.rs | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/main.rs diff --git a/Cargo.toml b/Cargo.toml index 6bff212..f1767cc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,9 @@ edition = "2018" members = [ "runtime" ] +[[bin]] +name = "substrate-test-runner" +path = "src/main.rs" [dependencies] runtime = { package = "test-runtime", path = "./runtime" } diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..f2a0e05 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,35 @@ +use node_cli::Cli; +use sc_cli::{build_runtime, SubstrateCli}; +use sc_service::TaskType; +use substrate_test_runner::node::build_node; + +fn main () -> Result<(), sc_cli::Error> { + use sc_cli::SubstrateCli; + let cli = node_cli::Cli::from_args(); + + match &cli.subcommand { + Some(subcommand) => { + let runner = cli.create_runner(subcommand)?; + runner.run_subcommand(subcommand, |config| Ok(new_full_start!(config).0)) + } + None => { + let runner = cli.create_runner(&cli.run)?; + runner.run_node_until_exit(config| { + build_node(config) + .map(|(taskmanager, rpc)| { + taskmanager + }) + }) + } + } + let config = cli + .create_runner(&cli.run) + // Todo: return result + .unwrap(); + config.run_node_until_exit(|config| { + build_node(config) + .map(|(taskmanager, rpc)| { + taskmanager + }) + }) +} diff --git a/src/node.rs b/src/node.rs index 16fdbc0..1d60d7d 100644 --- a/src/node.rs +++ b/src/node.rs @@ -175,7 +175,7 @@ impl InternalNodeBuilder { /// TODO: should be generic over the runtime, block and executor. /// starts a manual seal authorship task. -fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { +pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { // Channel for the rpc handler to communicate with the authorship task. let (command_sink, commands_stream) = futures::channel::mpsc::channel(1000); From 5bd00f9a390261b633b1724f2c9f67ad2fcd690c Mon Sep 17 00:00:00 2001 From: Seun Date: Tue, 21 Jul 2020 15:57:49 +0100 Subject: [PATCH 04/16] rpc doesn't respond back --- Cargo.toml | 3 --- src/main.rs | 35 ----------------------------------- src/node.rs | 6 +++--- src/test/deterministic.rs | 6 ++++-- tests/simple_run.rs | 4 +--- 5 files changed, 8 insertions(+), 46 deletions(-) delete mode 100644 src/main.rs diff --git a/Cargo.toml b/Cargo.toml index f1767cc..6bff212 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,9 +8,6 @@ edition = "2018" members = [ "runtime" ] -[[bin]] -name = "substrate-test-runner" -path = "src/main.rs" [dependencies] runtime = { package = "test-runtime", path = "./runtime" } diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index f2a0e05..0000000 --- a/src/main.rs +++ /dev/null @@ -1,35 +0,0 @@ -use node_cli::Cli; -use sc_cli::{build_runtime, SubstrateCli}; -use sc_service::TaskType; -use substrate_test_runner::node::build_node; - -fn main () -> Result<(), sc_cli::Error> { - use sc_cli::SubstrateCli; - let cli = node_cli::Cli::from_args(); - - match &cli.subcommand { - Some(subcommand) => { - let runner = cli.create_runner(subcommand)?; - runner.run_subcommand(subcommand, |config| Ok(new_full_start!(config).0)) - } - None => { - let runner = cli.create_runner(&cli.run)?; - runner.run_node_until_exit(config| { - build_node(config) - .map(|(taskmanager, rpc)| { - taskmanager - }) - }) - } - } - let config = cli - .create_runner(&cli.run) - // Todo: return result - .unwrap(); - config.run_node_until_exit(|config| { - build_node(config) - .map(|(taskmanager, rpc)| { - taskmanager - }) - }) -} diff --git a/src/node.rs b/src/node.rs index 1d60d7d..7c17c74 100644 --- a/src/node.rs +++ b/src/node.rs @@ -152,11 +152,11 @@ impl InternalNodeBuilder { Self { cli: vec![ - "--chain local".into(), "--no-mdns".into(), "--no-prometheus".into(), "--no-telemetry".into(), - format!("--base-path={}", random_path) + format!("--base-path={}", random_path), + "--dev".into(), ], logs, runtime, @@ -183,7 +183,7 @@ pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), s task_manager, rpc_handlers, client, transaction_pool, select_chain, prometheus_registry, .. - } = ServiceBuilder::new_full::(config)? + } = ServiceBuilder::new_full::(config)? .with_select_chain(|_config, backend| { Ok(sc_consensus::LongestChain::new(backend.clone())) })? diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 64aa12b..494ae0d 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -24,7 +24,9 @@ impl rpc::RpcExtension for Deterministic { use futures01::Future; let rpc_handler = self.node.rpc_handler(); let (client, fut) = local::connect::(rpc_handler); - self.compat_runtime.spawn(fut.map_err(|_| ())); + self.compat_runtime.spawn(fut.map_err(|err| { + log::error!("\n\nerror: {:?}\n\n", err) + })); client } @@ -64,7 +66,7 @@ impl Deterministic { let client = self.rpc::>(); self.compat_runtime.block_on_std(async { for _ in 0..num { - println!("produce_blocks"); + println!("\n\nproduce_blocks\n\n"); let result = client.create_block(true, true, None) .compat() .await diff --git a/tests/simple_run.rs b/tests/simple_run.rs index b2841ca..92d0029 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -59,11 +59,9 @@ fn should_read_state() { // nonce, // ) // }); - println!("produce_blocks"); - // when test.produce_blocks(1); - println!("produced blocks"); + println!("\n\nproduced blocks\n\n"); // test.with_state(|| { // // test.with_state(Read::External, Write::Memory(&mut storage), || { // let events = frame_system::Module::::events(); From 6b01e20754f48caa65a216b6a2f0e89b4d61a712 Mon Sep 17 00:00:00 2001 From: Seun Date: Wed, 29 Jul 2020 11:52:01 +0100 Subject: [PATCH 05/16] test_simple --- .gitignore | 4 +++- Cargo.lock | 12 ------------ Cargo.toml | 1 - src/node.rs | 7 +++---- src/rpc.rs | 1 - src/test/blackbox.rs | 1 - src/test/deterministic.rs | 17 +++-------------- tests/simple_run.rs | 10 +++++++++- 8 files changed, 18 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index 0ad020a..5571309 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ **/target .vscode -.idea \ No newline at end of file +.idea +.cargo/ + diff --git a/Cargo.lock b/Cargo.lock index 1ba8b1e..82a68ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -248,17 +248,6 @@ dependencies = [ "webpki-roots 0.19.0", ] -[[package]] -name = "async-trait" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92" -dependencies = [ - "proc-macro2", - "quote 1.0.7", - "syn 1.0.33", -] - [[package]] name = "atty" version = "0.2.14" @@ -7009,7 +6998,6 @@ dependencies = [ name = "substrate-test-runner" version = "0.1.0" dependencies = [ - "async-trait", "env_logger", "frame-system", "futures 0.1.29", diff --git a/Cargo.toml b/Cargo.toml index 6bff212..8a55be3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,6 @@ futures = { package = "futures", version = "0.3", features = ["compat"] } rand = "0.7" parking_lot = "0.10" tokio = { version = "0.2", features = ["full"] } -async-trait = "0.1.36" # Calling RPC jsonrpc-core-client = { version = "14.2", features = ["ws"] } diff --git a/src/node.rs b/src/node.rs index 7c17c74..0b8e539 100644 --- a/src/node.rs +++ b/src/node.rs @@ -70,8 +70,7 @@ impl InternalNode { // Todo: return result .unwrap(); // TODO: result - let (task_manager, rpc_handlers) = build_node(config) - .unwrap(); + let (task_manager, rpc_handlers) = build_node(config).unwrap(); Self { logs, @@ -109,9 +108,9 @@ impl InternalNodeBuilder { pub fn new(runtime: T) -> Self { let ignore = [ "yamux", "multistream_select", "libp2p", - "sc_network", "tokio_reactor", "jsonrpc_client_transports", + "sc_network", "tokio_reactor", "sub-libp2p", "sync", "peerset", "ws", "sc_network::protocol::generic_proto::behaviour", - "sc_service", "sc_peerset", "rpc", "sub-libp2p", "sync", "peerset" + "sc_service", "sc_peerset", "rpc" ]; let logs = Logger::default(); { diff --git a/src/rpc.rs b/src/rpc.rs index 39cb844..c834a9f 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -4,7 +4,6 @@ use jsonrpc_core_client::RpcChannel; pub use jsonrpc_core::types::params::Params; pub use jsonrpc_core_client::RawClient; use jsonrpc_core_client::RpcError; -use async_trait::async_trait; use futures::compat::Future01CompatExt; pub type ChainClient = sc_rpc_api::chain::ChainClient< diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index f3a1dbc..7d59f25 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -4,7 +4,6 @@ use crate::{ types, }; use jsonrpc_core_client::{RpcChannel, transports::local}; -use async_trait::async_trait; use crate::test::externalities::TestExternalities; use tokio_compat::runtime::Runtime; diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 494ae0d..c108263 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -4,7 +4,6 @@ use crate::{ }; use jsonrpc_core_client::RpcChannel; use tokio::time::{delay_for, Duration}; -use async_trait::async_trait; use futures::compat::Future01CompatExt; use crate::test::externalities; use tokio_compat::runtime::Runtime; @@ -24,9 +23,7 @@ impl rpc::RpcExtension for Deterministic { use futures01::Future; let rpc_handler = self.node.rpc_handler(); let (client, fut) = local::connect::(rpc_handler); - self.compat_runtime.spawn(fut.map_err(|err| { - log::error!("\n\nerror: {:?}\n\n", err) - })); + self.compat_runtime.spawn(fut.map_err(|_| ())); client } @@ -64,15 +61,7 @@ impl Deterministic { pub fn produce_blocks(&mut self, num: usize) { let client = self.rpc::>(); - self.compat_runtime.block_on_std(async { - for _ in 0..num { - println!("\n\nproduce_blocks\n\n"); - let result = client.create_block(true, true, None) - .compat() - .await - .expect("failed to create blocks"); - println!("\n\n\n{:#?}\n\n\n\n", result) - } - }); + let result = self.compat_runtime.block_on(client.create_block(true, true, None)); + log::info!("{:#?}", result); } } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 92d0029..829c373 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -39,7 +39,15 @@ fn should_run_off_chain_worker() { #[test] fn should_read_state() { // given - let mut test = test::deterministic(Runtime.into()); + let mut test = test::deterministic( + test::node(Runtime) + // TODO [ToDr] This does not work properly, since we have a shared logger. + // .with_sudo(Keyring::Alice) + // .with_genesis_state(|| { + // ... + // }) + .start() + ); // test.send_transaction() // .to_module("System") // .call("set_heap_pages") From 408435c6c99c27b132af9fd0c6f56c10afeca777 Mon Sep 17 00:00:00 2001 From: Seun Date: Sat, 1 Aug 2020 10:12:17 +0100 Subject: [PATCH 06/16] use subxt for transfers --- Cargo.lock | 3941 ++++++++++++++++++++++--------------- Cargo.toml | 7 + runtime/src/lib.rs | 9 +- src/lib.rs | 1 + src/node.rs | 261 +-- src/subxt.rs | 101 + src/test/blackbox.rs | 26 +- src/test/deterministic.rs | 68 +- src/test/externalities.rs | 14 +- src/test/mod.rs | 59 +- tests/simple_run.rs | 97 +- 11 files changed, 2746 insertions(+), 1838 deletions(-) create mode 100644 src/subxt.rs diff --git a/Cargo.lock b/Cargo.lock index 82a68ba..636a8a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,78 +12,77 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.12.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602d785912f476e480434627e8732e6766b760c045bbf897d9dfaa9f4fbd399c" +checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072" dependencies = [ - "gimli 0.21.0", + "gimli 0.22.0", ] [[package]] name = "adler" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccc9a9dd069569f212bc4330af9f17c4afb5e8ce185e83dbb14f1349dda18b10" +checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e" [[package]] name = "adler32" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aead" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf01b9b56e767bb57b94ebf91a58b338002963785cdd7013e21c0d4679471e4" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" dependencies = [ - "generic-array", + "generic-array 0.14.3", ] [[package]] name = "aes" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9" +checksum = "f7001367fde4c768a19d1029f0a8be5abd9308e1119846d5bd9ad26297b8faf5" dependencies = [ "aes-soft", "aesni", - "block-cipher-trait", + "block-cipher", ] [[package]] name = "aes-gcm" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "834a6bda386024dbb7c8fc51322856c10ffe69559f972261c868485f5759c638" +checksum = "86f5007801316299f922a6198d1d09a0bae95786815d066d5880d13f7c45ead1" dependencies = [ "aead", "aes", - "block-cipher-trait", + "block-cipher", "ghash", "subtle 2.2.3", - "zeroize", ] [[package]] name = "aes-soft" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d" +checksum = "4925647ee64e5056cf231608957ce7c81e12d6d6e316b9ce1404778cc1d35fa7" dependencies = [ - "block-cipher-trait", + "block-cipher", "byteorder", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] name = "aesni" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100" +checksum = "d050d39b0b7688b3a3254394c3e30a9d66c41dcf9b05b0e2dbdc623f6505d264" dependencies = [ - "block-cipher-trait", - "opaque-debug", + "block-cipher", + "opaque-debug 0.2.3", ] [[package]] @@ -95,6 +94,12 @@ dependencies = [ "const-random", ] +[[package]] +name = "ahash" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" + [[package]] name = "aho-corasick" version = "0.7.13" @@ -135,9 +140,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f" +checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b" [[package]] name = "approx" @@ -191,7 +196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -200,54 +205,77 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" +[[package]] +name = "async-channel" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43de69555a39d52918e2bc33a408d3c0a86c829b212d898f4ca25d21a6387478" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + [[package]] name = "async-std" -version = "1.5.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "538ecb01eb64eecd772087e5b6f7540cbc917f047727339a472dafed2185b267" +checksum = "00d68a33ebc8b57800847d00787307f84a562224a14db069b0acefe4c2abbf5d" dependencies = [ "async-task", - "broadcaster", - "crossbeam-channel", - "crossbeam-deque", "crossbeam-utils", + "futures-channel", "futures-core", "futures-io", - "futures-timer 2.0.2", + "futures-timer 3.0.2", "kv-log-macro", - "log 0.4.8", + "log 0.4.11", "memchr", - "mio", - "mio-uds", "num_cpus", "once_cell", "pin-project-lite", "pin-utils", "slab", + "smol", + "wasm-bindgen-futures", ] [[package]] name = "async-task" -version = "1.3.1" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17772156ef2829aadc587461c7753af20b7e8db1529bc66855add962a3b35d3" + +[[package]] +name = "async-tls" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac2c016b079e771204030951c366db398864f5026f84a44dafb0ff20f02085d" +checksum = "6ce6977f57fa68da77ffe5542950d47e9c23d65f5bc7cb0a9f8700996913eec7" dependencies = [ - "libc", - "winapi 0.3.9", + "futures 0.3.5", + "rustls 0.16.0", + "webpki", + "webpki-roots 0.17.0", ] [[package]] name = "async-tls" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fd83426b89b034bf4e9ceb9c533c2f2386b813fd3dcae0a425ec6f1837d78a" +checksum = "df097e3f506bec0e1a24f06bb3c962c228f36671de841ff579cb99f371772634" dependencies = [ "futures 0.3.5", - "rustls", + "rustls 0.18.0", "webpki", "webpki-roots 0.19.0", ] +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + [[package]] name = "atty" version = "0.2.14" @@ -273,14 +301,14 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" [[package]] name = "backtrace" -version = "0.3.49" +version = "0.3.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05100821de9e028f12ae3d189176b41ee198341eb8f369956407fea2f5cc666c" +checksum = "46254cf2fdcdf1badb5934448c1bcbe046a56537b3987d96c51a7afc5d03f293" dependencies = [ "addr2line", "cfg-if", "libc", - "miniz_oxide 0.3.7", + "miniz_oxide", "object 0.20.0", "rustc-demangle", ] @@ -346,7 +374,7 @@ dependencies = [ "env_logger", "lazy_static", "lazycell", - "log 0.4.8", + "log 0.4.11", "peeking_take_while", "proc-macro2", "quote 1.0.7", @@ -380,14 +408,15 @@ dependencies = [ [[package]] name = "blake2" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" +checksum = "84ce5b6108f8e154604bd4eb76a2f726066c3464d5a552a4229262a18c9bb471" dependencies = [ "byte-tools", - "crypto-mac", - "digest", - "opaque-debug", + "byteorder", + "crypto-mac 0.8.0", + "digest 0.9.0", + "opaque-debug 0.2.3", ] [[package]] @@ -431,16 +460,25 @@ dependencies = [ "block-padding", "byte-tools", "byteorder", - "generic-array", + "generic-array 0.12.3", ] [[package]] -name = "block-cipher-trait" -version = "0.6.2" +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.3", +] + +[[package]] +name = "block-cipher" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" +checksum = "fa136449e765dc7faa244561ccae839c394048667929af599b5d931ebe7b7f10" dependencies = [ - "generic-array", + "generic-array 0.14.3", ] [[package]] @@ -453,17 +491,17 @@ dependencies = [ ] [[package]] -name = "broadcaster" -version = "1.0.0" +name = "blocking" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c972e21e0d055a36cf73e4daae870941fe7a8abcd5ac3396aab9e4c126bd87" +checksum = "d2468ff7bf85066b4a3678fede6fe66db31846d753ff0adfbfab2c6a6e81612b" dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "futures-util", - "parking_lot 0.10.2", - "slab", + "async-channel", + "atomic-waker", + "futures-lite", + "once_cell", + "parking", + "waker-fn", ] [[package]] @@ -518,12 +556,9 @@ dependencies = [ [[package]] name = "bytes" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118cf036fbb97d0816e3c34b2d7a1e8cfc60f68fcf63d550ddbe9bd5f59c213b" -dependencies = [ - "loom", -] +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "c_linked_list" @@ -531,11 +566,17 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" +[[package]] +name = "cache-padded" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" + [[package]] name = "cc" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c1f1d60091c1b73e2b1f4560ab419204b178e625fa945ded7b660becd2bd46" +checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518" dependencies = [ "jobserver", ] @@ -557,9 +598,9 @@ checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] name = "chacha20" -version = "0.3.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6a7ae4c498f8447d86baef0fa0831909333f558866fabcb21600625ac5a31c7" +checksum = "086c0f07ac275808b7bf9a39f2fd013aae1498be83632814c8c4e0bd53f2dc58" dependencies = [ "stream-cipher", "zeroize", @@ -567,9 +608,9 @@ dependencies = [ [[package]] name = "chacha20poly1305" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48901293601228db2131606f741db33561f7576b5d19c99cd66222380a7dc863" +checksum = "18b0c90556d8e3fec7cf18d84a2f53d27b21288f2fe481b830fadcf809e48205" dependencies = [ "aead", "chacha20", @@ -580,9 +621,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" +checksum = "c74d84029116787153e02106bf53e66828452a4b325cc8652b788b5967c0a0b6" dependencies = [ "num-integer", "num-traits 0.2.12", @@ -616,21 +657,21 @@ dependencies = [ ] [[package]] -name = "clear_on_drop" -version = "0.2.4" +name = "cloudabi" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9cc5db465b294c3fa986d5bbb0f3017cd850bff6dd6c52f9ccff8b4d21b7b08" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "cc", + "bitflags", ] [[package]] -name = "cloudabi" -version = "0.0.3" +name = "concurrent-queue" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +checksum = "e296417c8154304ac70aceda41f05318f986f7c0c767bcb0a2366fbb890e78e1" dependencies = [ - "bitflags", + "cache-padded", ] [[package]] @@ -675,40 +716,46 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +[[package]] +name = "cpuid-bool" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" + [[package]] name = "cranelift-bforest" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4425bb6c3f3d2f581c650f1a1fdd3196a975490149cf59bea9d34c3bea79eda" +checksum = "8dcc286b052ee24a1e5a222e7c1125e6010ad35b0f248709b9b3737a8fedcfdf" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d166b289fd30062ee6de86284750fc3fe5d037c6b864b3326ce153239b0626e1" +checksum = "9d9badfe36176cb653506091693bc2bb1970c9bddfcd6ec7fac404f7eaec6f38" dependencies = [ "byteorder", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", - "gimli 0.20.0", - "log 0.4.8", + "gimli 0.21.0", + "log 0.4.11", "regalloc", "serde", - "smallvec 1.4.0", + "smallvec 1.4.1", "target-lexicon", "thiserror", ] [[package]] name = "cranelift-codegen-meta" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c9fb2306a36d41c5facd4bf3400bc6c157185c43a96eaaa503471c34c5144b" +checksum = "3c3f460031861e4f4ad510be62b2ae50bba6cc886b598a36f9c0a970feab9598" dependencies = [ "cranelift-codegen-shared", "cranelift-entity", @@ -716,36 +763,36 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e0cfe9b1f97d9f836bca551618106c7d53b93b579029ecd38e73daa7eb689e" +checksum = "76ad12409e922e7697cd0bdc7dc26992f64a77c31880dfe5e3c7722f4710206d" [[package]] name = "cranelift-entity" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "926a73c432e5ba9c891171ff50b75e7d992cd76cd271f0a0a0ba199138077472" +checksum = "d97cdc58972ea065d107872cfb9079f4c92ade78a8af85aaff519a65b5d13f71" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45f82e3446dd1ebb8c2c2f6a6b0e6cd6cd52965c7e5f7b1b35e9a9ace31ccde" +checksum = "2ef419efb4f94ecc02e5d9fbcc910d2bb7f0040e2de570e63a454f883bc891d6" dependencies = [ "cranelift-codegen", - "log 0.4.8", - "smallvec 1.4.0", + "log 0.4.11", + "smallvec 1.4.1", "target-lexicon", ] [[package]] name = "cranelift-native" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488b5d481bb0996a143e55a9d1739ef425efa20d4a5e5e98c859a8573c9ead9a" +checksum = "6e69d44d59826eef6794066ac2c0f4ad3975f02d97030c60dbc04e3886adf36e" dependencies = [ "cranelift-codegen", "raw-cpuid", @@ -754,17 +801,17 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.63.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00aa8dde71fd9fdb1958e7b0ef8f524c1560e2c6165e4ea54bc302b40551c161" +checksum = "979df666b1304624abe99738e9e0e7c7479ee5523ba4b8b237df9ff49996acbb" dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "log 0.4.8", + "log 0.4.11", "serde", "thiserror", - "wasmparser 0.51.4", + "wasmparser 0.59.0", ] [[package]] @@ -776,16 +823,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-channel" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" -dependencies = [ - "crossbeam-utils", - "maybe-uninit", -] - [[package]] name = "crossbeam-deque" version = "0.7.3" @@ -846,15 +883,25 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array", + "generic-array 0.12.3", "subtle 1.0.0", ] +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.3", + "subtle 2.2.3", +] + [[package]] name = "ct-logs" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3686f5fa27dbc1d76c751300376e167c5a43387f44bb451fd1c24776e49113" +checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e" dependencies = [ "sct", ] @@ -866,7 +913,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d85653f070353a16313d0046f173f70d1aadd5b42600a14de626f0dfb3473a5" dependencies = [ "byteorder", - "digest", + "digest 0.8.1", "rand_core 0.5.1", "subtle 2.2.3", "zeroize", @@ -886,7 +933,7 @@ checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -895,7 +942,16 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.3", ] [[package]] @@ -935,16 +991,54 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "dyn-clonable" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] + +[[package]] +name = "dyn-clonable-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +dependencies = [ + "proc-macro2", + "quote 1.0.7", + "syn 1.0.36", +] + +[[package]] +name = "dyn-clone" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c53dc3a653e0f64081026e4bf048d48fec9fce90c66e8326ca7292df0ff2d82" + +[[package]] +name = "ed25519" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf038a7b6fd7ef78ad3348b63f3a17550877b0e28f8d68bcc94894d1412158bc" +dependencies = [ + "signature", +] + [[package]] name = "ed25519-dalek" -version = "1.0.0-pre.3" +version = "1.0.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2" +checksum = "21a8a37f4e8b35af971e6db5e3897e7a6344caa3f92f6544f88125a1f5f0035a" dependencies = [ - "clear_on_drop", "curve25519-dalek", + "ed25519", "rand 0.7.3", - "sha2", + "serde", + "sha2 0.8.2", + "zeroize", ] [[package]] @@ -981,7 +1075,7 @@ checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -992,7 +1086,7 @@ checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" dependencies = [ "atty", "humantime", - "log 0.4.8", + "log 0.4.11", "regex", "termcolor", ] @@ -1014,9 +1108,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b480f641ccf0faf324e20c1d3e53d81b7484c698b42ea677f6907ae4db195371" +checksum = "6eab5ee3df98a279d9b316b1af6ac95422127b1290317e6d18c1743c99418b01" dependencies = [ "errno-dragonfly", "libc", @@ -1033,6 +1127,12 @@ dependencies = [ "libc", ] +[[package]] +name = "event-listener" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298f00c3b04c1d9b4cb86aefaaa35348af0957d98b30a5306fc635f8e718923d" + [[package]] name = "exit-future" version = "0.2.0" @@ -1042,21 +1142,6 @@ dependencies = [ "futures 0.3.5", ] -[[package]] -name = "faerie" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfef65b0e94693295c5d2fe2506f0ee6f43465342d4b5331659936aee8b16084" -dependencies = [ - "goblin", - "indexmap", - "log 0.4.8", - "scroll", - "string-interner", - "target-lexicon", - "thiserror", -] - [[package]] name = "failure" version = "0.1.8" @@ -1075,7 +1160,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", "synstructure", ] @@ -1091,6 +1176,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +[[package]] +name = "fastrand" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36a9cb09840f81cd211e435d00a4e487edd263dc3c8ff815c32dd76ad668ebed" + [[package]] name = "fdlimit" version = "0.1.4" @@ -1107,7 +1198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b3937f028664bd0e13df401ba49a4567ccda587420365823242977f06609ed1" dependencies = [ "env_logger", - "log 0.4.8", + "log 0.4.11", ] [[package]] @@ -1119,7 +1210,7 @@ dependencies = [ "either", "futures 0.3.5", "futures-timer 2.0.2", - "log 0.4.8", + "log 0.4.11", "num-traits 0.2.12", "parity-scale-codec", "parking_lot 0.9.0", @@ -1153,7 +1244,7 @@ dependencies = [ "crc32fast", "libc", "libz-sys", - "miniz_oxide 0.4.0", + "miniz_oxide", ] [[package]] @@ -1179,154 +1270,167 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", ] [[package]] name = "frame-benchmarking" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "linregress", "parity-scale-codec", "paste", - "sp-api", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "frame-benchmarking-cli" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ + "Inflector", "frame-benchmarking", "parity-scale-codec", "sc-cli", "sc-client-db", "sc-executor", "sc-service", - "sp-core", - "sp-externalities", - "sp-runtime", - "sp-state-machine", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "structopt", ] [[package]] name = "frame-executive" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-tracing 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "frame-metadata" +version = "11.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "frame-metadata" -version = "11.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "11.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e1fe409ad74aa3956aa512079b465c442534c72857209fdfc8748f4dc348ee" dependencies = [ "parity-scale-codec", "serde", - "sp-core", - "sp-std", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "frame-support" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "bitmask", - "frame-metadata", + "frame-metadata 11.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "frame-support-procedural", "impl-trait-for-tuples", - "log 0.4.8", + "log 0.4.11", "once_cell", "parity-scale-codec", "paste", "serde", - "smallvec 1.4.0", - "sp-arithmetic", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-tracing", + "smallvec 1.4.1", + "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-tracing 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "frame-support-procedural" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support-procedural-tools", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "frame-support-procedural-tools" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "frame-system" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "impl-trait-for-tuples", "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-version", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] @@ -1434,7 +1538,7 @@ dependencies = [ "futures 0.1.29", "futures 0.3.5", "lazy_static", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.9.0", "pin-project", "serde", @@ -1459,6 +1563,21 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789" +[[package]] +name = "futures-lite" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe71459749b2e8e66fb95df721b22fa08661ad384a0c5b519e11d3893b4692a" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.5" @@ -1468,7 +1587,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -1497,6 +1616,10 @@ name = "futures-timer" version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] [[package]] name = "futures-util" @@ -1531,25 +1654,13 @@ dependencies = [ "slab", ] -[[package]] -name = "futures_codec" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0a73299e4718f5452e45980fc1d6957a070abe308d3700b63b8673f47e1c2b3" -dependencies = [ - "bytes 0.5.5", - "futures 0.3.5", - "memchr", - "pin-project", -] - [[package]] name = "futures_codec" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "futures 0.3.5", "memchr", "pin-project", @@ -1562,25 +1673,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" [[package]] -name = "generator" -version = "0.6.21" +name = "generic-array" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add72f17bb81521258fcc8a7a3245b1e184e916bfbe34f0ea89558f440df5c68" +checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" dependencies = [ - "cc", - "libc", - "log 0.4.8", - "rustc_version", - "winapi 0.3.9", + "typenum", ] [[package]] name = "generic-array" -version = "0.12.3" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" +checksum = "60fb4bb6bba52f78a471264d9a3b7d026cc0af47b22cd2cffbc0b787ca003e63" dependencies = [ "typenum", + "version_check 0.9.2", ] [[package]] @@ -1618,32 +1726,29 @@ dependencies = [ [[package]] name = "ghash" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f0930ed19a7184089ea46d2fedead2f6dc2b674c5db4276b7da336c7cd83252" +checksum = "d6e27f0689a6e15944bdce7e45425efb87eaa8ab0c6e87f11d0987a9133e2531" dependencies = [ "polyval", ] [[package]] name = "gimli" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dd6190aad0f05ddbbf3245c54ed14ca4aa6dd32f22312b70d8f168c3e3e633" +checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" dependencies = [ - "arrayvec 0.5.1", - "byteorder", "fallible-iterator", "indexmap", - "smallvec 1.4.0", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" +checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724" [[package]] name = "glob" @@ -1660,19 +1765,21 @@ dependencies = [ "aho-corasick", "bstr", "fnv", - "log 0.4.8", + "log 0.4.11", "regex", ] [[package]] -name = "goblin" -version = "0.1.3" +name = "gloo-timers" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3081214398d39e4bd7f2c1975f0488ed04614ffdd976c6fc7a0708278552c0da" +checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" dependencies = [ - "log 0.4.8", - "plain", - "scroll", + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -1687,7 +1794,7 @@ dependencies = [ "futures 0.1.29", "http 0.1.21", "indexmap", - "log 0.4.8", + "log 0.4.11", "slab", "string", "tokio-io", @@ -1695,21 +1802,21 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" +checksum = "993f9e0baeed60001cf565546b0d3dbe6a6ad23f2bd31644a133c641eccf6d53" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "fnv", "futures-core", "futures-sink", "futures-util", "http 0.2.1", "indexmap", - "log 0.4.8", "slab", - "tokio 0.2.21", + "tokio 0.2.22", "tokio-util", + "tracing", ] [[package]] @@ -1733,10 +1840,30 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e6073d0ca812575946eb5f35ff68dbe519907b25c42530389ff946dc84c6ead" dependencies = [ - "ahash", + "ahash 0.2.18", "autocfg 0.1.7", ] +[[package]] +name = "hashbrown" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf" +dependencies = [ + "ahash 0.3.8", + "autocfg 1.0.0", +] + +[[package]] +name = "hashbrown" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34f595585f103464d8d2f6e9864682d74c1601fed5e07d62b1c9058dba8246fb" +dependencies = [ + "ahash 0.3.8", + "autocfg 1.0.0", +] + [[package]] name = "heck" version = "0.3.1" @@ -1748,9 +1875,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9586eedd4ce6b3c498bc3b4dd92fc9f11166aa908a914071953768066c67909" +checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" dependencies = [ "libc", ] @@ -1786,8 +1913,8 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" dependencies = [ - "crypto-mac", - "digest", + "crypto-mac 0.7.0", + "digest 0.8.1", ] [[package]] @@ -1796,8 +1923,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" dependencies = [ - "digest", - "generic-array", + "digest 0.8.1", + "generic-array 0.12.3", "hmac", ] @@ -1818,7 +1945,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "fnv", "itoa", ] @@ -1841,7 +1968,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "http 0.2.1", ] @@ -1894,7 +2021,7 @@ dependencies = [ "httparse", "iovec", "itoa", - "log 0.4.8", + "log 0.4.11", "net2", "rustc_version", "time", @@ -1911,42 +2038,42 @@ dependencies = [ [[package]] name = "hyper" -version = "0.13.6" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e7655b9594024ad0ee439f3b5a7299369dc2a3f459b47c696f9ff676f9aa1f" +checksum = "3e68a8dd9716185d9e64ea473ea6ef63529252e3e27623295a0378a19665d5eb" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "futures-channel", "futures-core", "futures-util", - "h2 0.2.5", + "h2 0.2.6", "http 0.2.1", "http-body 0.3.1", "httparse", "itoa", - "log 0.4.8", "pin-project", "socket2", "time", - "tokio 0.2.21", + "tokio 0.2.22", "tower-service", + "tracing", "want 0.3.0", ] [[package]] name = "hyper-rustls" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08" +checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "ct-logs", "futures-util", - "hyper 0.13.6", - "log 0.4.8", - "rustls", + "hyper 0.13.7", + "log 0.4.11", + "rustls 0.18.0", "rustls-native-certs", - "tokio 0.2.21", + "tokio 0.2.22", "tokio-rustls", "webpki", ] @@ -2008,16 +2135,18 @@ checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "indexmap" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c398b2b113b55809ceb9ee3e753fcbac793f1956663f3c36549c1346015c2afe" +checksum = "5b88cd59ee5f71fea89a62248fc8f387d44400cefe05ef548466d61ced9029a7" dependencies = [ "autocfg 1.0.0", + "hashbrown 0.8.1", + "serde", ] [[package]] @@ -2092,24 +2221,24 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.41" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4b9172132a62451e56142bff9afc91c8e4a4500aa5b847da36815b63bfda916" +checksum = "85a7e2c92a4804dd459b86c339278d0fe87cf93757fae222c3fa3ae75458bc73" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpc-client-transports" -version = "14.2.0" +version = "14.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecbdaacc17243168d9d1fa6b2bd7556a27e1e60a621d8a2a6e590ae2b145d158" +checksum = "2773fa94a2a1fd51efb89a8f45b8861023dbb415d18d3c9235ae9388d780f9ec" dependencies = [ "failure", "futures 0.1.29", "jsonrpc-core", "jsonrpc-pubsub", - "log 0.4.8", + "log 0.4.11", "serde", "serde_json", "tokio 0.1.22", @@ -2124,7 +2253,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0747307121ffb9703afd93afbd0fb4f854c38fb873f2c8b90e0e902f27c7b62" dependencies = [ "futures 0.1.29", - "log 0.4.8", + "log 0.4.11", "serde", "serde_derive", "serde_json", @@ -2148,7 +2277,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -2160,7 +2289,7 @@ dependencies = [ "hyper 0.12.35", "jsonrpc-core", "jsonrpc-server-utils", - "log 0.4.8", + "log 0.4.11", "net2", "parking_lot 0.10.2", "unicase 2.6.0", @@ -2174,7 +2303,7 @@ checksum = "dedccd693325d833963b549e959137f30a7a0ea650cde92feda81dc0c1393cb5" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", - "log 0.4.8", + "log 0.4.11", "parity-tokio-ipc", "parking_lot 0.10.2", "tokio-service", @@ -2187,7 +2316,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d44f5602a11d657946aac09357956d2841299ed422035edf140c552cb057986" dependencies = [ "jsonrpc-core", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.10.2", "rand 0.7.3", "serde", @@ -2203,7 +2332,7 @@ dependencies = [ "globset", "jsonrpc-core", "lazy_static", - "log 0.4.8", + "log 0.4.11", "tokio 0.1.22", "tokio-codec", "unicase 2.6.0", @@ -2217,12 +2346,57 @@ checksum = "903d3109fe7c4acb932b567e1e607e0f524ed04741b09fb0e61841bc40a022fc" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.10.2", "slab", "ws", ] +[[package]] +name = "jsonrpsee" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc8a1da5a54b417cfb7edb9f932024d833dc333de50c21c0e1b28d0e8b4f853" +dependencies = [ + "async-std", + "async-tls 0.6.0", + "bs58", + "bytes 0.5.6", + "fnv", + "futures 0.3.5", + "futures-timer 3.0.2", + "globset", + "hashbrown 0.7.2", + "hyper 0.13.7", + "jsonrpsee-proc-macros", + "lazy_static", + "log 0.4.11", + "parking_lot 0.10.2", + "pin-project", + "rand 0.7.3", + "serde", + "serde_json", + "smallvec 1.4.1", + "soketto 0.3.2", + "thiserror", + "tokio 0.2.22", + "unicase 2.6.0", + "url 2.1.1", + "webpki", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ed1b5f6937dd2c6c79a9ac6e0e3f41bbc64edb5d443840bdc73e606009ed70" +dependencies = [ + "Inflector", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.36", +] + [[package]] name = "keccak" version = "0.1.0" @@ -2241,28 +2415,28 @@ dependencies = [ [[package]] name = "kv-log-macro" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff57d6d215f7ca7eb35a9a64d656ba4d9d2bef114d741dc08048e75e2f5d418" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" dependencies = [ - "log 0.4.8", + "log 0.4.11", ] [[package]] name = "kvdb" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e763b2a9b500ba47948061d1e8bc3b5f03a8a1f067dbcf822a4d2c84d2b54a3a" +checksum = "0315ef2f688e33844400b31f11c263f2b3dc21d8b9355c6891c5f185fae43f9a" dependencies = [ "parity-util-mem", - "smallvec 1.4.0", + "smallvec 1.4.1", ] [[package]] name = "kvdb-memorydb" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73027d5e228de6f503b5b7335d530404fc26230a6ae3e09b33ec6e45408509a4" +checksum = "73de822b260a3bdfb889dbbb65bb2d473eee2253973d6fa4a5d149a2a4a7c66e" dependencies = [ "kvdb", "parity-util-mem", @@ -2271,20 +2445,20 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84384eca250c7ff67877eda5336f28a86586aaee24acb945643590671f6bfce1" +checksum = "7c341ef15cfb1f923fa3b5138bfbd2d4813a2c1640b473727a53351c7f0b0fa2" dependencies = [ "fs-swap", "kvdb", - "log 0.4.8", + "log 0.4.11", "num_cpus", "owning_ref", "parity-util-mem", "parking_lot 0.10.2", "regex", "rocksdb", - "smallvec 1.4.0", + "smallvec 1.4.1", ] [[package]] @@ -2313,9 +2487,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" [[package]] name = "libc" -version = "0.2.71" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" +checksum = "a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10" [[package]] name = "libflate" @@ -2353,11 +2527,11 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.20.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db81113df355dea9dddfcb01cd867555298dca29d915f25d1b1a0aad2e29338b" +checksum = "0306a49ee6a89468f96089906f36b0eef82c988dcfc8acf3e2dcd6ad1c859f85" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "futures 0.3.5", "lazy_static", "libp2p-core", @@ -2375,18 +2549,18 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "multihash", - "parity-multiaddr 0.9.1", + "parity-multiaddr", "parking_lot 0.10.2", "pin-project", - "smallvec 1.4.0", + "smallvec 1.4.1", "wasm-timer", ] [[package]] name = "libp2p-core" -version = "0.19.2" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a0387b930c3d4c2533dc4893c1e0394185ddcc019846121b1b27491e45a2c08" +checksum = "6a694fd76d7c33a45a0e6e1525e9b9b5d11127c9c94e560ac0f8abba54ed80af" dependencies = [ "asn1_der", "bs58", @@ -2397,10 +2571,10 @@ dependencies = [ "futures-timer 3.0.2", "lazy_static", "libsecp256k1", - "log 0.4.8", + "log 0.4.11", "multihash", "multistream-select", - "parity-multiaddr 0.9.1", + "parity-multiaddr", "parking_lot 0.10.2", "pin-project", "prost", @@ -2408,8 +2582,8 @@ dependencies = [ "rand 0.7.3", "ring", "rw-stream-sink", - "sha2", - "smallvec 1.4.0", + "sha2 0.8.2", + "smallvec 1.4.1", "thiserror", "unsigned-varint 0.4.0", "void", @@ -2418,62 +2592,62 @@ dependencies = [ [[package]] name = "libp2p-core-derive" -version = "0.19.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09548626b737ed64080fde595e06ce1117795b8b9fc4d2629fa36561c583171" +checksum = "f753d9324cd3ec14bf04b8a8cd0d269c87f294153d6bf2a84497a63a5ad22213" dependencies = [ "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "libp2p-dns" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cc186d9a941fd0207cf8f08ef225a735e2d7296258f570155e525f6ee732f87" +checksum = "f751924b6b98e350005e0b87a822beb246792a3fb878c684e088f866158120ac" dependencies = [ "futures 0.3.5", "libp2p-core", - "log 0.4.8", + "log 0.4.11", ] [[package]] name = "libp2p-identify" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f76075b170d908bae616f550ade410d9d27c013fa69042551dbfc757c7c094" +checksum = "912c00a7bf67e0e765daf0cc37e08f675ea26aba3d6d1fbfaee81f19a4c23049" dependencies = [ "futures 0.3.5", "libp2p-core", "libp2p-swarm", - "log 0.4.8", + "log 0.4.11", "prost", "prost-build", - "smallvec 1.4.0", + "smallvec 1.4.1", "wasm-timer", ] [[package]] name = "libp2p-kad" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c819a5425b2eb3416d67e9c868c5c1e922b6658655e06b9eeafaa41304b876" +checksum = "44ed3a4c8111c570ab2bffb30c6353178d7603ce3787e3c5f2493c8d3d16d1f0" dependencies = [ "arrayvec 0.5.1", - "bytes 0.5.5", + "bytes 0.5.6", "either", "fnv", "futures 0.3.5", - "futures_codec 0.4.1", + "futures_codec", "libp2p-core", "libp2p-swarm", - "log 0.4.8", + "log 0.4.11", "multihash", "prost", "prost-build", "rand 0.7.3", - "sha2", - "smallvec 1.4.0", + "sha2 0.8.2", + "smallvec 1.4.1", "uint", "unsigned-varint 0.4.0", "void", @@ -2482,9 +2656,9 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f55b2d4b80986e5bf158270ab23268ec0e7f644ece5436fbaabc5155472f357" +checksum = "cd004c668160fd922f7268b2cd1e4550ff69165d9c744e9eb5770086eb753d02" dependencies = [ "async-std", "data-encoding", @@ -2494,45 +2668,46 @@ dependencies = [ "lazy_static", "libp2p-core", "libp2p-swarm", - "log 0.4.8", + "log 0.4.11", "net2", "rand 0.7.3", - "smallvec 1.4.0", + "smallvec 1.4.1", "void", "wasm-timer", ] [[package]] name = "libp2p-mplex" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be7d913a4cd57de2013257ec73f07d77bfce390b370023e2d59083e5ca079864" +checksum = "14ae0ffacd30f073f96cd518b2c9cd2cb18ac27c3d136a4b23cf1af99f33e541" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "fnv", "futures 0.3.5", - "futures_codec 0.4.1", + "futures_codec", "libp2p-core", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.10.2", "unsigned-varint 0.4.0", ] [[package]] name = "libp2p-noise" -version = "0.19.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a03db664653369f46ee03fcec483a378c20195089bb43a26cb9fb0058009ac88" +checksum = "8f353f8966bbaaf7456535fffd3f366f153148773a0cf04b2ec3860955cb720e" dependencies = [ + "bytes 0.5.6", "curve25519-dalek", "futures 0.3.5", "lazy_static", "libp2p-core", - "log 0.4.8", + "log 0.4.11", "prost", "prost-build", "rand 0.7.3", - "sha2", + "sha2 0.8.2", "snow", "static_assertions", "x25519-dalek", @@ -2541,14 +2716,14 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.19.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dedd34e35a9728d52d59ef36a218e411359a353f9011b2574b86ee790978f6" +checksum = "70130cf130e4ba6dc177366e72dd9f86f9e3588fa1a0c4145247e676f16affad" dependencies = [ "futures 0.3.5", "libp2p-core", "libp2p-swarm", - "log 0.4.8", + "log 0.4.11", "rand 0.7.3", "void", "wasm-timer", @@ -2556,24 +2731,24 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.19.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce53ff4d127cf8b39adf84dbd381ca32d49bd85788cee08e6669da2495993930" +checksum = "f88d5e2a090a2aadf042cd33484e2f015c6dab212567406a59deece5dedbd133" dependencies = [ "futures 0.3.5", "libp2p-core", - "log 0.4.8", + "log 0.4.11", "rand 0.7.3", - "smallvec 1.4.0", + "smallvec 1.4.1", "void", "wasm-timer", ] [[package]] name = "libp2p-tcp" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481500c5774c62e8c413e9535b3f33a0e3dbacf2da63b8d3056c686a9df4146" +checksum = "9b1fa2bbad054020cb875546a577a66a65a5bf42eff55ed5265f92ffee3cc052" dependencies = [ "async-std", "futures 0.3.5", @@ -2581,15 +2756,15 @@ dependencies = [ "get_if_addrs", "ipnet", "libp2p-core", - "log 0.4.8", + "log 0.4.11", "socket2", ] [[package]] name = "libp2p-wasm-ext" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f59fdbb5706f2723ca108c088b1c7a37f735a8c328021f0508007162627e9885" +checksum = "0feb99e32fea20ffb1bbf56a6fb2614bff7325ff44a515728385170b3420d2c3" dependencies = [ "futures 0.3.5", "js-sys", @@ -2601,19 +2776,19 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4440551bf6519e0a684cd859ea809aec6d798f686e0d6ed03a28c3e76849b8" +checksum = "046a5201f6e471f22b22b394e4d084269ed1e28cf7300f7b49874385db84c7bd" dependencies = [ - "async-tls", + "async-tls 0.8.0", "either", "futures 0.3.5", "libp2p-core", - "log 0.4.8", + "log 0.4.11", "quicksink", - "rustls", + "rustls 0.18.0", "rw-stream-sink", - "soketto", + "soketto 0.4.1", "url 2.1.1", "webpki", "webpki-roots 0.18.0", @@ -2621,9 +2796,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da33e7b5f49c75c6a8afb0b8d1e229f5fa48be9f39bd14cdbc21459a02ac6fc" +checksum = "46ae9bf2f7d8a4be9c7e9b61df9de9dc1bd66419d669098f22f81f8d9571029a" dependencies = [ "futures 0.3.5", "libp2p-core", @@ -2652,10 +2827,10 @@ checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" dependencies = [ "arrayref", "crunchy", - "digest", + "digest 0.8.1", "hmac-drbg", "rand 0.7.3", - "sha2", + "sha2 0.8.2", "subtle 2.2.3", "typenum", ] @@ -2680,9 +2855,9 @@ checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" [[package]] name = "linked_hash_set" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7c91c4c7bbeb4f2f7c4e5be11e6a05bd6830bc37249c47ce1ad86ad453ff9c" +checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" dependencies = [ "linked-hash-map", ] @@ -2713,27 +2888,16 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.8", + "log 0.4.11", ] [[package]] name = "log" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "loom" -version = "0.3.4" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ecc775857611e1df29abba5c41355cdf540e7e9d4acfdf0f355eefee82330b7" +checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" dependencies = [ "cfg-if", - "generator", - "scoped-tls 0.1.2", ] [[package]] @@ -2742,7 +2906,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237" dependencies = [ - "hashbrown", + "hashbrown 0.6.3", ] [[package]] @@ -2793,22 +2957,21 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" +checksum = "c198b026e1bbf08a937e94c6c60f9ec4a2267f5b0d2eec9c1b21b061ce2be55f" dependencies = [ "autocfg 1.0.0", ] [[package]] name = "memory-db" -version = "0.21.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2999ff7a65d5a1d72172f6d51fa2ea03024b51aee709ba5ff81c3c629a2410" +checksum = "36f36ddb0b2cdc25d38babba472108798e3477f02be5165f038c5e393e50c57a" dependencies = [ - "ahash", "hash-db", - "hashbrown", + "hashbrown 0.8.1", "parity-util-mem", ] @@ -2839,15 +3002,6 @@ dependencies = [ "log 0.3.9", ] -[[package]] -name = "miniz_oxide" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" -dependencies = [ - "adler32", -] - [[package]] name = "miniz_oxide" version = "0.4.0" @@ -2869,7 +3023,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.8", + "log 0.4.11", "miow 0.2.1", "net2", "slab", @@ -2883,7 +3037,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.8", + "log 0.4.11", "mio", "slab", ] @@ -2894,7 +3048,7 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" dependencies = [ - "log 0.4.8", + "log 0.4.11", "mio", "miow 0.3.5", "winapi 0.3.9", @@ -2947,9 +3101,9 @@ checksum = "f75db05d738947aa5389863aadafbcf2e509d7ba099dc2ddcdf4fc66bf7a9e03" dependencies = [ "blake2b_simd", "blake2s_simd", - "digest", + "digest 0.8.1", "sha-1", - "sha2", + "sha2 0.8.2", "sha3", "unsigned-varint 0.3.3", ] @@ -2966,11 +3120,11 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9157e87afbc2ef0d84cc0345423d715f445edde00141c93721c162de35a05e5" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "futures 0.3.5", - "log 0.4.8", + "log 0.4.11", "pin-project", - "smallvec 1.4.0", + "smallvec 1.4.1", "unsigned-varint 0.4.0", ] @@ -2982,7 +3136,7 @@ checksum = "aaa9fddbc34c8c35dd2108515587b8ce0cab396f17977b8c738568e4edb521a2" dependencies = [ "alga", "approx", - "generic-array", + "generic-array 0.12.3", "matrixmultiply", "num-complex", "num-rational", @@ -3008,13 +3162,13 @@ checksum = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d" dependencies = [ "lazy_static", "libc", - "log 0.4.8", + "log 0.4.11", "openssl", "openssl-probe", "openssl-sys", "schannel", - "security-framework", - "security-framework-sys", + "security-framework 0.4.4", + "security-framework-sys 0.4.3", "tempfile", ] @@ -3058,8 +3212,8 @@ dependencies = [ [[package]] name = "node-cli" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking-cli", "frame-support", @@ -3067,7 +3221,7 @@ dependencies = [ "futures 0.3.5", "hex-literal", "jsonrpc-core", - "log 0.4.8", + "log 0.4.11", "node-executor", "node-inspect", "node-primitives", @@ -3103,17 +3257,18 @@ dependencies = [ "sc-transaction-pool", "serde", "sp-authority-discovery", - "sp-consensus", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-babe", - "sp-core", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-finality-grandpa", "sp-finality-tracker", - "sp-inherents", - "sp-io", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-keyring", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", - "sp-transaction-pool", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "structopt", "substrate-build-script-utils", "tracing", @@ -3121,54 +3276,54 @@ dependencies = [ [[package]] name = "node-executor" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking", "node-primitives", "node-runtime", "parity-scale-codec", "sc-executor", - "sp-core", - "sp-io", - "sp-state-machine", - "sp-trie", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "trie-root", ] [[package]] name = "node-inspect" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "sc-cli", "sc-client-api", "sc-service", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "structopt", ] [[package]] name = "node-primitives" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-system", "parity-scale-codec", - "sp-application-crypto", - "sp-core", - "sp-runtime", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "node-rpc" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "jsonrpc-core", "node-primitives", @@ -3182,21 +3337,22 @@ dependencies = [ "sc-finality-grandpa", "sc-finality-grandpa-rpc", "sc-keystore", - "sc-rpc-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sc-rpc", + "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-babe", - "sp-runtime", - "sp-transaction-pool", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "substrate-frame-rpc-system", ] [[package]] name = "node-runtime" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking", "frame-executive", @@ -3240,20 +3396,20 @@ dependencies = [ "pallet-vesting", "parity-scale-codec", "serde", - "sp-api", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-authority-discovery", - "sp-block-builder", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-babe", - "sp-core", - "sp-inherents", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-session", "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "static_assertions", "substrate-wasm-builder-runner", ] @@ -3363,18 +3519,20 @@ dependencies = [ [[package]] name = "object" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5666bbb90bc4d1e5bdcb26c0afda1822d25928341e9384ab187a9b37ab69e36" -dependencies = [ - "target-lexicon", -] +checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" [[package]] name = "object" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" +dependencies = [ + "crc32fast", + "indexmap", + "wasmparser 0.57.0", +] [[package]] name = "once_cell" @@ -3391,6 +3549,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + [[package]] name = "openssl" version = "0.10.30" @@ -3435,91 +3599,95 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "pallet-session", "parity-scale-codec", "serde", - "sp-application-crypto", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-authority-discovery", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-authorship" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "sp-authorship", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-babe" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", + "pallet-authorship", "pallet-session", "pallet-timestamp", "parity-scale-codec", "serde", - "sp-application-crypto", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-babe", "sp-consensus-vrf", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-session", "sp-staking", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", ] [[package]] name = "pallet-balances" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-collective" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-contracts" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ + "bitflags", "frame-support", "frame-system", "pallet-contracts-primitives", @@ -3527,28 +3695,28 @@ dependencies = [ "parity-wasm", "pwasm-utils", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-sandbox", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasmi-validation", ] [[package]] name = "pallet-contracts-primitives" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-contracts-rpc" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3557,58 +3725,58 @@ dependencies = [ "pallet-contracts-rpc-runtime-api", "parity-scale-codec", "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-contracts-rpc-runtime-api" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-democracy" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-elections-phragmen" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", "sp-npos-elections", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-finality-tracker" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", @@ -3616,35 +3784,37 @@ dependencies = [ "parity-scale-codec", "serde", "sp-finality-tracker", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-grandpa" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", + "pallet-authorship", "pallet-finality-tracker", "pallet-session", "parity-scale-codec", "serde", - "sp-application-crypto", - "sp-core", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-finality-grandpa", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-session", "sp-staking", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-identity" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3652,15 +3822,15 @@ dependencies = [ "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-im-online" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", @@ -3668,136 +3838,136 @@ dependencies = [ "pallet-session", "parity-scale-codec", "serde", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-staking", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-indices" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-core", - "sp-io", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-keyring", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-membership" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-multisig" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-offences" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "pallet-balances", "parity-scale-codec", "serde", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-staking", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-proxy" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-randomness-collective-flip" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "safe-mix", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-recovery" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "enumflags2", "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-scheduler" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-session" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", @@ -3805,33 +3975,33 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-session", "sp-staking", - "sp-std", - "sp-trie", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-society" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "rand_chacha 0.2.2", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-staking" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", @@ -3839,44 +4009,44 @@ dependencies = [ "pallet-session", "parity-scale-codec", "serde", - "sp-application-crypto", - "sp-io", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-npos-elections", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-staking", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "static_assertions", ] [[package]] name = "pallet-staking-reward-curve" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "pallet-sudo" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-timestamp" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-benchmarking", "frame-support", @@ -3884,31 +4054,33 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "serde", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", ] [[package]] name = "pallet-transaction-payment" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", "serde", - "smallvec 1.4.0", - "sp-runtime", - "sp-std", + "smallvec 1.4.1", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3916,67 +4088,67 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "parity-scale-codec", "serde", - "sp-api", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-treasury" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "pallet-balances", "parity-scale-codec", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-utility" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "pallet-vesting" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "enumflags2", "frame-support", "frame-system", "parity-scale-codec", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] @@ -3988,29 +4160,11 @@ dependencies = [ "blake2-rfc", "crc32fast", "libc", - "log 0.4.8", + "log 0.4.11", "memmap", "parking_lot 0.10.2", ] -[[package]] -name = "parity-multiaddr" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77055f9e81921a8cc7bebeb6cded3d128931d51f1e3dd6251f0770a6d431477" -dependencies = [ - "arrayref", - "bs58", - "byteorder", - "data-encoding", - "parity-multihash", - "percent-encoding 2.1.0", - "serde", - "static_assertions", - "unsigned-varint 0.3.3", - "url 2.1.1", -] - [[package]] name = "parity-multiaddr" version = "0.9.1" @@ -4029,26 +4183,11 @@ dependencies = [ "url 2.1.1", ] -[[package]] -name = "parity-multihash" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a1cd2ba02391b81367bec529fb209019d718684fdc8ad6a712c2b536e46f775" -dependencies = [ - "blake2", - "bytes 0.5.5", - "rand 0.7.3", - "sha-1", - "sha2", - "sha3", - "unsigned-varint 0.3.3", -] - [[package]] name = "parity-scale-codec" -version = "1.3.1" +version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a74f02beb35d47e0706155c9eac554b50c671e0d868fe8296bcdf44a9a4847bf" +checksum = "34d38aeaffc032ec69faa476b3caaca8d4dd7f3f798137ff30359e5c7869ceb6" dependencies = [ "arrayvec 0.5.1", "bitvec", @@ -4059,14 +4198,14 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0ec292e92e8ec7c58e576adacc1e3f399c597c8f263c42f18420abe58e7245" +checksum = "cd20ff7e0399b274a5f5bb37b712fccb5b3a64b9128200d1c3cc40fe709cb073" dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -4084,7 +4223,7 @@ dependencies = [ "bytes 0.4.12", "futures 0.1.29", "libc", - "log 0.4.8", + "log 0.4.11", "mio-named-pipes", "miow 0.3.5", "rand 0.7.3", @@ -4096,16 +4235,17 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6e2583649a3ca84894d1d71da249abcfda54d5aca24733d72ca10d0f02361c" +checksum = "297ff91fa36aec49ce183484b102f6b75b46776822bd81525bfc4cc9b0dd0f5c" dependencies = [ "cfg-if", + "hashbrown 0.8.1", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot 0.10.2", "primitive-types", - "smallvec 1.4.0", + "smallvec 1.4.1", "winapi 0.3.9", ] @@ -4116,7 +4256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.33", + "syn 1.0.36", "synstructure", ] @@ -4126,6 +4266,12 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" +[[package]] +name = "parking" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb300f271742d4a2a66c01b6b2fa0c83dfebd2e0bf11addb879a3547b4ed87c" + [[package]] name = "parking_lot" version = "0.9.0" @@ -4172,7 +4318,7 @@ dependencies = [ "cloudabi", "libc", "redox_syscall", - "smallvec 1.4.0", + "smallvec 1.4.1", "winapi 0.3.9", ] @@ -4202,7 +4348,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" dependencies = [ "byteorder", - "crypto-mac", + "crypto-mac 0.7.0", ] [[package]] @@ -4241,22 +4387,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12e3a6cdbfe94a5e4572812a0201f8c0ed98c1c452c7b8563ce2276988ef9c17" +checksum = "ca4433fff2ae79342e497d9f8ee990d174071408f28f726d6d83af93e58e48aa" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0ffd45cf79d88737d7cc85bfd5d2894bee1139b356e616fe85dc389c61aaf7" +checksum = "2c0e815c3ee9a031fdf5af21c10aa17c573c9c6a566328d99e3936c34e36461f" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -4273,15 +4419,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" - -[[package]] -name = "plain" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33" [[package]] name = "platforms" @@ -4291,18 +4431,18 @@ checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" [[package]] name = "poly1305" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5829f50f48e9ddb79f3f7c3097029d0caee30f8286accb241416df603b080b8" +checksum = "d9b42192ab143ed7619bf888a7f9c6733a9a2153b218e2cd557cfdb52fbf9bb1" dependencies = [ "universal-hash", ] [[package]] name = "polyval" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ec3341498978de3bfd12d1b22f1af1de22818f5473a11e8a6ef997989e3a212" +checksum = "d9a50142b55ab3ed0e9f68dfb3709f1d90d29da24e91033f28b96330643107dc" dependencies = [ "cfg-if", "universal-hash", @@ -4328,44 +4468,42 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ "toml", ] [[package]] name = "proc-macro-error" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc175e9777c3116627248584e8f8b3e2987405cabe1c0adf7d1dd28f09dc7880" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", "version_check 0.9.2", ] [[package]] name = "proc-macro-error-attr" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cc9795ca17eb581285ec44936da7fc2335a3f34f2ddd13118b6f4d515435c50" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", - "syn-mid", "version_check 0.9.2", ] [[package]] name = "proc-macro-hack" -version = "0.5.16" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" +checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" [[package]] name = "proc-macro-nested" @@ -4375,9 +4513,9 @@ checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a" [[package]] name = "proc-macro2" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa" +checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12" dependencies = [ "unicode-xid 0.2.1", ] @@ -4411,13 +4549,26 @@ dependencies = [ "thiserror", ] +[[package]] +name = "prometheus" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0ced56dee39a6e960c15c74dc48849d614586db2eaada6497477af7c7811cd" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "spin", + "thiserror", +] + [[package]] name = "prost" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "prost-derive", ] @@ -4427,10 +4578,10 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "heck", "itertools 0.8.2", - "log 0.4.8", + "log 0.4.11", "multimap", "petgraph", "prost", @@ -4449,7 +4600,7 @@ dependencies = [ "itertools 0.8.2", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -4458,15 +4609,15 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "prost", ] [[package]] name = "protobuf" -version = "2.15.1" +version = "2.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4951a8253c06334be9fe320bbcf73f14949fde62a0c8128d697eec1ff0fa8cd" +checksum = "d883f78645c21b7281d21305181aa1f4dd9e9363e7cf2566c93121552cff003e" [[package]] name = "pwasm-utils" @@ -4475,7 +4626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192" dependencies = [ "byteorder", - "log 0.4.8", + "log 0.4.11", "parity-wasm", ] @@ -4763,9 +4914,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_users" @@ -4795,18 +4946,18 @@ checksum = "7d21b475ab879ef0e315ad99067fa25778c3b0377f57f1b00207448dac1a3144" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "regalloc" -version = "0.0.21" +version = "0.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b27b256b41986ac5141b37b8bbba85d314fbf546c182eb255af6720e07e4f804" +checksum = "b9ba8aaf5fe7cf307c6dbdaeed85478961d29e25e3bee5169e11b92fa9f027a8" dependencies = [ - "log 0.4.8", + "log 0.4.11", "rustc-hash", - "smallvec 1.4.0", + "smallvec 1.4.1", ] [[package]] @@ -4866,9 +5017,15 @@ checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] +[[package]] +name = "retain_mut" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e005d658ad26eacc2b6c506dfde519f4e277e328d0eb3379ca61647d70a8f531" + [[package]] name = "ring" version = "0.16.15" @@ -4951,12 +5108,25 @@ dependencies = [ [[package]] name = "rustls" -version = "0.17.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" +checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" dependencies = [ - "base64 0.11.0", - "log 0.4.8", + "base64 0.10.1", + "log 0.4.11", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cac94b333ee2aac3284c5b8a1b7fb4dd11cba88c244e3fe33cdbd047af0eb693" +dependencies = [ + "base64 0.12.3", + "log 0.4.11", "ring", "sct", "webpki", @@ -4964,14 +5134,14 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" +checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8" dependencies = [ "openssl-probe", - "rustls", + "rustls 0.18.0", "schannel", - "security-framework", + "security-framework 1.0.0", ] [[package]] @@ -5008,15 +5178,15 @@ checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" [[package]] name = "sc-authority-discovery" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "derive_more", "futures 0.3.5", "futures-timer 3.0.2", "libp2p", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "prost", "prost-build", @@ -5025,58 +5195,59 @@ dependencies = [ "sc-keystore", "sc-network", "serde_json", - "sp-api", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-authority-discovery", - "sp-blockchain", - "sp-core", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-basic-authorship" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "sc-block-builder", "sc-client-api", "sc-proposer-metrics", "sc-telemetry", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-transaction-pool", - "substrate-prometheus-endpoint", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "tokio-executor 0.2.0-alpha.6", ] [[package]] name = "sc-block-builder" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", "sc-client-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-chain-spec" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -5084,26 +5255,26 @@ dependencies = [ "sc-telemetry", "serde", "serde_json", - "sp-chain-spec", - "sp-core", - "sp-runtime", + "sp-chain-spec 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-chain-spec-derive" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "sc-cli" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "ansi_term 0.12.1", "atty", @@ -5113,7 +5284,7 @@ dependencies = [ "fdlimit", "futures 0.3.5", "lazy_static", - "log 0.4.8", + "log 0.4.11", "names", "nix", "parity-util-mem", @@ -5125,25 +5296,26 @@ dependencies = [ "sc-service", "sc-telemetry", "sc-tracing", + "serde", "serde_json", - "sp-blockchain", - "sp-core", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-keyring", - "sp-panic-handler", - "sp-runtime", - "sp-state-machine", - "sp-utils", - "sp-version", + "sp-panic-handler 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "structopt", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "time", - "tokio 0.2.21", + "tokio 0.2.22", ] [[package]] name = "sc-client-api" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "fnv", @@ -5152,34 +5324,34 @@ dependencies = [ "hex-literal", "kvdb", "lazy_static", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", "sc-executor", "sc-telemetry", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-inherents", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-database 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-keyring", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-storage", - "sp-transaction-pool", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-client-db" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "blake2-rfc", "hash-db", @@ -5187,7 +5359,7 @@ dependencies = [ "kvdb-memorydb", "kvdb-rocksdb", "linked-hash-map", - "log 0.4.8", + "log 0.4.11", "parity-db", "parity-scale-codec", "parity-util-mem", @@ -5195,37 +5367,37 @@ dependencies = [ "sc-client-api", "sc-executor", "sc-state-db", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-database 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "sc-client-api", - "sp-blockchain", - "sp-consensus", - "sp-runtime", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus-babe" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "fork-tree", "futures 0.3.5", "futures-timer 3.0.2", - "log 0.4.8", + "log 0.4.11", "merlin", "num-bigint", "num-rational", @@ -5234,6 +5406,7 @@ dependencies = [ "parking_lot 0.10.2", "pdqselect", "rand 0.7.3", + "retain_mut", "sc-client-api", "sc-consensus-epochs", "sc-consensus-slots", @@ -5242,26 +5415,27 @@ dependencies = [ "sc-telemetry", "schnorrkel", "serde", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-babe", "sp-consensus-vrf", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", - "sp-version", - "substrate-prometheus-endpoint", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus-babe-rpc" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "futures 0.3.5", @@ -5271,34 +5445,34 @@ dependencies = [ "sc-consensus-babe", "sc-consensus-epochs", "sc-keystore", - "sc-rpc-api", + "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "serde", - "sp-api", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-babe", - "sp-core", - "sp-runtime", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus-epochs" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "fork-tree", "parity-scale-codec", "parking_lot 0.10.2", "sc-client-api", - "sp-blockchain", - "sp-runtime", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus-manual-seal" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "assert_matches", "derive_more", @@ -5306,141 +5480,142 @@ dependencies = [ "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-derive", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.10.2", "sc-client-api", "sc-transaction-pool", "serde", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-transaction-pool", - "substrate-prometheus-endpoint", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus-slots" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", "sc-client-api", "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus-slots", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-consensus-uncles" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "log 0.4.8", + "log 0.4.11", "sc-client-api", "sp-authorship", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-executor" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "lazy_static", "libsecp256k1", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parity-wasm", "parking_lot 0.10.2", "sc-executor-common", "sc-executor-wasmi", "sc-executor-wasmtime", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-panic-handler 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-serializer", - "sp-trie", - "sp-version", - "sp-wasm-interface", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasmi", ] [[package]] name = "sc-executor-common" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parity-wasm", "sp-allocator", - "sp-core", - "sp-runtime-interface", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-serializer", - "sp-wasm-interface", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasmi", ] [[package]] name = "sc-executor-wasmi" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "sc-executor-common", "sp-allocator", - "sp-core", - "sp-runtime-interface", - "sp-wasm-interface", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasmi", ] [[package]] name = "sc-executor-wasmtime" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "cranelift-codegen", "cranelift-wasm", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parity-wasm", "sc-executor-common", - "scoped-tls 1.0.0", + "scoped-tls", "sp-allocator", - "sp-core", - "sp-runtime-interface", - "sp-wasm-interface", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "substrate-wasmtime", - "substrate-wasmtime-runtime", "wasmtime-environ", + "wasmtime-runtime", ] [[package]] name = "sc-finality-grandpa" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "assert_matches", "derive_more", @@ -5448,7 +5623,7 @@ dependencies = [ "fork-tree", "futures 0.3.5", "futures-timer 3.0.2", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", "pin-project", @@ -5461,24 +5636,24 @@ dependencies = [ "sc-network-gossip", "sc-telemetry", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-finality-grandpa", "sp-finality-tracker", - "sp-inherents", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-finality-grandpa-rpc" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "finality-grandpa", @@ -5486,7 +5661,7 @@ dependencies = [ "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-derive", - "log 0.4.8", + "log 0.4.11", "sc-finality-grandpa", "serde", "serde_json", @@ -5494,27 +5669,26 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", - "log 0.4.8", + "log 0.4.11", "parity-util-mem", - "parking_lot 0.10.2", "sc-client-api", "sc-network", - "sp-blockchain", - "sp-runtime", - "sp-transaction-pool", - "sp-utils", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasm-timer", ] [[package]] name = "sc-keystore" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "hex", @@ -5522,15 +5696,15 @@ dependencies = [ "parking_lot 0.10.2", "rand 0.7.3", "serde_json", - "sp-application-crypto", - "sp-core", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "subtle 2.2.3", ] [[package]] name = "sc-light" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "hash-db", "lazy_static", @@ -5538,22 +5712,22 @@ dependencies = [ "parking_lot 0.10.2", "sc-client-api", "sc-executor", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-externalities", - "sp-runtime", - "sp-state-machine", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-network" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "bitflags", "bs58", - "bytes 0.5.5", + "bytes 0.5.6", "derive_more", "either", "erased-serde", @@ -5561,13 +5735,13 @@ dependencies = [ "fork-tree", "futures 0.3.5", "futures-timer 3.0.2", - "futures_codec 0.3.4", + "futures_codec", "hex", "ip_network", "libp2p", "linked-hash-map", "linked_hash_set", - "log 0.4.8", + "log 0.4.11", "lru", "nohash-hasher", "parity-scale-codec", @@ -5584,15 +5758,15 @@ dependencies = [ "slog", "slog_derive", "smallvec 0.6.13", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", + "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "thiserror", - "unsigned-varint 0.3.3", + "unsigned-varint 0.4.0", "void", "wasm-timer", "zeroize", @@ -5600,31 +5774,31 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", "libp2p", - "log 0.4.8", + "log 0.4.11", "lru", "sc-network", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasm-timer", ] [[package]] name = "sc-offchain" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "fnv", "futures 0.3.5", "futures-timer 3.0.2", - "hyper 0.13.6", + "hyper 0.13.7", "hyper-rustls", - "log 0.4.8", + "log 0.4.11", "num_cpus", "parity-scale-codec", "parking_lot 0.10.2", @@ -5632,72 +5806,97 @@ dependencies = [ "sc-client-api", "sc-keystore", "sc-network", - "sp-api", - "sp-core", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-offchain", - "sp-runtime", - "sp-utils", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "threadpool", ] [[package]] name = "sc-peerset" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "libp2p", - "log 0.4.8", + "log 0.4.11", "serde_json", - "sp-utils", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasm-timer", ] [[package]] name = "sc-proposer-metrics" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "log 0.4.8", - "substrate-prometheus-endpoint", + "log 0.4.11", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-rpc" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "hash-db", "jsonrpc-core", "jsonrpc-pubsub", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", "sc-block-builder", "sc-client-api", "sc-executor", "sc-keystore", - "sc-rpc-api", + "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "serde_json", - "sp-api", - "sp-blockchain", - "sp-chain-spec", - "sp-core", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-chain-spec 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-offchain", - "sp-rpc", - "sp-runtime", + "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-session", - "sp-state-machine", - "sp-transaction-pool", - "sp-utils", - "sp-version", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sc-rpc-api" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "derive_more", + "futures 0.3.5", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log 0.4.11", + "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "serde_json", + "sp-chain-spec 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-rpc-api" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1148bcc6691eb41135426c158b897afc53cdd59b5a2de82dd840cfe312efcfa3" dependencies = [ "derive_more", "futures 0.3.5", @@ -5705,39 +5904,39 @@ dependencies = [ "jsonrpc-core-client", "jsonrpc-derive", "jsonrpc-pubsub", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", "serde", "serde_json", - "sp-chain-spec", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-transaction-pool", - "sp-version", + "sp-chain-spec 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-rpc 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-transaction-pool 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sc-rpc-server" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", "jsonrpc-ipc-server", "jsonrpc-pubsub", "jsonrpc-ws-server", - "log 0.4.8", + "log 0.4.11", "serde", "serde_json", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-service" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "directories", @@ -5746,11 +5945,11 @@ dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", "hash-db", + "jsonrpc-core", "jsonrpc-pubsub", "lazy_static", - "log 0.4.8", + "log 0.4.11", "netstat2", - "parity-multiaddr 0.7.3", "parity-scale-codec", "parity-util-mem", "parking_lot 0.10.2", @@ -5775,22 +5974,23 @@ dependencies = [ "serde", "serde_json", "slog", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-session", - "sp-state-machine", - "sp-transaction-pool", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sysinfo", "tempfile", "tracing", @@ -5799,27 +5999,27 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parity-util-mem", "parity-util-mem-derive", "parking_lot 0.10.2", "sc-client-api", - "sp-core", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sc-telemetry" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", "libp2p", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.10.2", "pin-project", "rand 0.7.3", @@ -5834,64 +6034,65 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "erased-serde", - "log 0.4.8", + "log 0.4.11", "parking_lot 0.10.2", "rustc-hash", "sc-telemetry", "serde", "serde_json", "slog", - "sp-tracing", + "sp-tracing 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "tracing-core", ] [[package]] name = "sc-transaction-graph" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "futures 0.3.5", "linked-hash-map", - "log 0.4.8", + "log 0.4.11", "parity-util-mem", "parking_lot 0.10.2", + "retain_mut", "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-transaction-pool", - "sp-utils", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasm-timer", ] [[package]] name = "sc-transaction-pool" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "futures 0.3.5", "futures-diagnose", "intervalier", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parity-util-mem", "parking_lot 0.10.2", "sc-client-api", "sc-transaction-graph", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-tracing", - "sp-transaction-pool", - "sp-utils", - "substrate-prometheus-endpoint", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-tracing 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasm-timer", ] @@ -5918,17 +6119,11 @@ dependencies = [ "merlin", "rand 0.7.3", "rand_core 0.5.1", - "sha2", + "sha2 0.8.2", "subtle 2.2.3", "zeroize", ] -[[package]] -name = "scoped-tls" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" - [[package]] name = "scoped-tls" version = "1.0.0" @@ -5958,7 +6153,7 @@ checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -5990,7 +6185,20 @@ dependencies = [ "core-foundation", "core-foundation-sys", "libc", - "security-framework-sys", + "security-framework-sys 0.4.3", +] + +[[package]] +name = "security-framework" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys 1.0.0", ] [[package]] @@ -6003,6 +6211,16 @@ dependencies = [ "libc", ] +[[package]] +name = "security-framework-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "0.9.0" @@ -6024,6 +6242,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0eddf2e8f50ced781f288c19f18621fa72a3779e3cb58dbf23b07469b0abeb4" +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + [[package]] name = "serde" version = "1.0.114" @@ -6041,14 +6265,14 @@ checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "serde_json" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3433e879a558dde8b5e8feb2a04899cf34fdde1fafb894687e52105fc1162ac3" +checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c" dependencies = [ "itoa", "ryu", @@ -6061,10 +6285,10 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] @@ -6079,10 +6303,23 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2933378ddfeda7ea26f48c555bdad8bb446bf8a3d17832dc83e380d444cfb8c1" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpuid-bool", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -6091,11 +6328,11 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" dependencies = [ - "block-buffer", + "block-buffer 0.7.3", "byte-tools", - "digest", + "digest 0.8.1", "keccak", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] @@ -6114,6 +6351,12 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29f060a7d147e33490ec10da418795238fd7545bba241504d6b31a409f2e6210" + [[package]] name = "slab" version = "0.4.2" @@ -6161,7 +6404,7 @@ checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -6175,28 +6418,49 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" +checksum = "3757cb9d89161a2f24e1cf78efa0c1fcff485d18e3f55e0aa3480824ddaa0f3f" [[package]] -name = "snow" -version = "0.7.0" +name = "smol" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce0f91be479494dd92e69d9971bd23ed27037dd1c94fcf558f6c6e74e6afa654" +checksum = "620cbb3c6e34da57d3a248cda0cd01cd5848164dc062e764e65d06fe3ea7aed5" dependencies = [ - "aes-gcm", - "blake2", - "chacha20poly1305", - "rand 0.7.3", - "rand_core 0.5.1", - "ring", - "rustc_version", - "sha2", - "subtle 2.2.3", - "x25519-dalek", -] - + "async-task", + "blocking", + "concurrent-queue", + "fastrand", + "futures-io", + "futures-util", + "libc", + "once_cell", + "scoped-tls", + "slab", + "socket2", + "wepoll-sys-stjepang", + "winapi 0.3.9", +] + +[[package]] +name = "snow" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32bf8474159a95551661246cda4976e89356999e3cbfef36f493dacc3fae1e8e" +dependencies = [ + "aes-gcm", + "blake2", + "chacha20poly1305", + "rand 0.7.3", + "rand_core 0.5.1", + "ring", + "rustc_version", + "sha2 0.9.1", + "subtle 2.2.3", + "x25519-dalek", +] + [[package]] name = "socket2" version = "0.3.12" @@ -6209,6 +6473,25 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "soketto" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c9dab3f95c9ebdf3a88268c19af668f637a3c5039c2c56ff2d40b1b2d64a25b" +dependencies = [ + "base64 0.11.0", + "bytes 0.5.6", + "futures 0.3.5", + "http 0.2.1", + "httparse", + "log 0.4.11", + "rand 0.7.3", + "sha1", + "smallvec 1.4.1", + "static_assertions", + "thiserror", +] + [[package]] name = "soketto" version = "0.4.1" @@ -6216,134 +6499,232 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85457366ae0c6ce56bf05a958aef14cd38513c236568618edbcd9a8c52cb80b0" dependencies = [ "base64 0.12.3", - "bytes 0.5.5", + "bytes 0.5.6", "flate2", "futures 0.3.5", "httparse", - "log 0.4.8", + "log 0.4.11", "rand 0.7.3", "sha-1", ] [[package]] name = "sp-allocator" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", - "log 0.4.8", - "sp-core", - "sp-std", - "sp-wasm-interface", + "log 0.4.11", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-api" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "hash-db", "parity-scale-codec", - "sp-api-proc-macro", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-version", + "sp-api-proc-macro 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-api" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "438a9a62076de97d2879a10370958c140e2bc61dc707a775bd54abfa38cb8203" +dependencies = [ + "hash-db", + "parity-scale-codec", + "sp-api-proc-macro 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-api-proc-macro" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "blake2-rfc", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.36", ] [[package]] name = "sp-api-proc-macro" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38a368a6f6cebc08b1617da083764a93ab768b431be2cee4960bd70875aed0f" dependencies = [ "blake2-rfc", "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", +] + +[[package]] +name = "sp-application-crypto" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-application-crypto" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8504120e1d542bb726ca43147f0eb0f637f1b769b39932bafe4bdb5da7a12b" dependencies = [ "parity-scale-codec", "serde", - "sp-core", - "sp-io", - "sp-std", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-arithmetic" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "integer-sqrt", "num-traits 0.2.12", "parity-scale-codec", "serde", - "sp-debug-derive", - "sp-std", + "sp-debug-derive 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-arithmetic" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b472a16a6653d84bbb9ce148c75e136f468b24479e1fbb3219dde88341fde89" +dependencies = [ + "integer-sqrt", + "num-traits 0.2.12", + "parity-scale-codec", + "serde", + "sp-debug-derive 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-authority-discovery" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-authorship" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "parity-scale-codec", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-block-builder" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-block-builder" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034817d218d2fef063d85023c773c9fb2bbe9a82e39390cb70c538d9cb0f5037" dependencies = [ "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-inherents 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-blockchain" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", - "log 0.4.8", + "log 0.4.11", "lru", "parity-scale-codec", "parking_lot 0.10.2", - "sp-block-builder", - "sp-consensus", - "sp-runtime", - "sp-state-machine", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-database 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-blockchain" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9271dcdec8027596278c1103cac12adb4d4f269c8dd98ef03efa19d81118b7b4" +dependencies = [ + "derive_more", + "log 0.4.11", + "lru", + "parity-scale-codec", + "parking_lot 0.10.2", + "sp-block-builder 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-consensus 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-database 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-chain-spec" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "serde", + "serde_json", ] [[package]] name = "sp-chain-spec" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e893061dd2b91636a95c5f6a69a655899649483f9bac894e6aba3b1faea1bf9f" dependencies = [ "serde", "serde_json", @@ -6351,81 +6732,120 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "derive_more", "futures 0.3.5", "futures-timer 3.0.2", "libp2p", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", "serde", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "wasm-timer", +] + +[[package]] +name = "sp-consensus" +version = "0.8.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "347f4264dbf0b631cd4b0e469bbf726bc6edd6cedeef9280d32aa58731a8c6aa" +dependencies = [ + "derive_more", + "futures 0.3.5", + "futures-timer 3.0.2", + "libp2p", + "log 0.4.11", + "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-inherents 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-utils 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-prometheus-endpoint 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-timer", ] [[package]] name = "sp-consensus-aura" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", ] [[package]] name = "sp-consensus-babe" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "merlin", "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-consensus", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-consensus-slots", "sp-consensus-vrf", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", ] +[[package]] +name = "sp-consensus-slots" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "parity-scale-codec", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + [[package]] name = "sp-consensus-vrf" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", "schnorrkel", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-core" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "base58", "blake2-rfc", "byteorder", "derive_more", + "dyn-clonable", "ed25519-dalek", "futures 0.3.5", "hash-db", @@ -6434,7 +6854,7 @@ dependencies = [ "impl-serde 0.3.1", "lazy_static", "libsecp256k1", - "log 0.4.8", + "log 0.4.11", "merlin", "num-traits 0.2.12", "parity-scale-codec", @@ -6446,12 +6866,56 @@ dependencies = [ "schnorrkel", "secrecy", "serde", - "sha2", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sha2 0.8.2", + "sp-debug-derive 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-bip39", + "tiny-bip39", + "tiny-keccak", + "twox-hash", + "wasmi", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d536eb6fc48352dfd80bce71a880517fa8894ed22e6a2f73c7ed61fbcc30a919" +dependencies = [ + "base58", + "blake2-rfc", + "byteorder", + "derive_more", + "ed25519-dalek", + "futures 0.3.5", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde 0.3.1", + "lazy_static", + "libsecp256k1", + "log 0.4.11", + "merlin", + "num-traits 0.2.12", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.10.2", + "primitive-types", + "rand 0.7.3", + "regex", + "schnorrkel", + "secrecy", + "serde", + "sha2 0.8.2", + "sp-debug-derive 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bip39", "tiny-bip39", "tiny-keccak", @@ -6462,221 +6926,361 @@ dependencies = [ [[package]] name = "sp-database" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "kvdb", "parking_lot 0.10.2", ] +[[package]] +name = "sp-database" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a478928bdf4bc45223832dddc6845aded7e1fd1a80a19c3f95e23507aee77f" +dependencies = [ + "kvdb", + "parking_lot 0.10.2", +] + +[[package]] +name = "sp-debug-derive" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "proc-macro2", + "quote 1.0.7", + "syn 1.0.36", +] + [[package]] name = "sp-debug-derive" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db388274224f88d94a0d2646353c690d6871d25f819c5da84fbc2d427fbb16a9" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", +] + +[[package]] +name = "sp-externalities" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-externalities" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f80f3659ed04d60362ccc81a5880afc9b50be930f4262beda86a9fef3d09da6f" dependencies = [ "environmental", "parity-scale-codec", - "sp-std", - "sp-storage", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-finality-grandpa" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "finality-grandpa", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-finality-tracker" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-inherents", - "sp-std", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-inherents" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "derive_more", + "parity-scale-codec", + "parking_lot 0.10.2", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-inherents" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38524ebd5b0932a029505b02eb9a56f6081245d386e8ee294c2dc0d2d59d2745" dependencies = [ "derive_more", "parity-scale-codec", "parking_lot 0.10.2", - "sp-core", - "sp-std", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-io" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "futures 0.3.5", "hash-db", "libsecp256k1", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parking_lot 0.10.2", - "sp-core", - "sp-externalities", - "sp-runtime-interface", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-wasm-interface", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-tracing 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-io" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c5e3dbf239e31b7bbcceea4faabab94dc0ff1e3ae3ebeaf35147f5a963fc75" +dependencies = [ + "futures 0.3.5", + "hash-db", + "libsecp256k1", + "log 0.4.11", + "parity-scale-codec", + "parking_lot 0.10.2", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-keyring" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "lazy_static", - "sp-core", - "sp-runtime", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "strum", ] [[package]] name = "sp-npos-elections" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", "serde", - "sp-arithmetic", + "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-npos-elections-compact", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-npos-elections-compact" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "sp-offchain" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-panic-handler" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "backtrace", - "log 0.4.8", + "log 0.4.11", +] + +[[package]] +name = "sp-panic-handler" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5447e8eae27478614ba8c3c2bb9f4c710fc527c82b19cbd98a81d9bf401977a9" +dependencies = [ + "backtrace", + "log 0.4.11", ] [[package]] name = "sp-rpc" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "serde", - "sp-core", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-rpc" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "749fa444709ec7f84a164b0ce226171c1e6079e8d449575e9264fe8be158eece" +dependencies = [ + "serde", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-runtime" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log 0.4.11", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "serde", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-runtime" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c4ed14778efe72accd8f70cc815f56a79aa954c90ff42dfe19a44c7c4e1c049" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "parity-util-mem", "paste", "rand 0.7.3", "serde", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-inherents", - "sp-io", - "sp-std", + "sp-application-crypto 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-inherents 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime-interface" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-tracing", - "sp-wasm-interface", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime-interface-proc-macro 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-tracing 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "static_assertions", ] +[[package]] +name = "sp-runtime-interface" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f54304ab714b860f959f8f67cda6c09e70aaee90ebe34369757f156aa17b46" +dependencies = [ + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.36", +] + [[package]] name = "sp-runtime-interface-proc-macro" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4b1fbc3d08d09b97d3321dd27bb0c950a1044ab72662ed09aa3ab6e9cc5384f" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "sp-sandbox" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-core", - "sp-io", - "sp-std", - "sp-wasm-interface", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasmi", ] [[package]] name = "sp-serializer" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "serde", "serde_json", @@ -6684,151 +7288,271 @@ dependencies = [ [[package]] name = "sp-session" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-api", - "sp-core", - "sp-runtime", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-staking", - "sp-std", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-staking" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "parity-scale-codec", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-state-machine" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "hash-db", "itertools 0.9.0", - "log 0.4.8", + "log 0.4.11", "num-traits 0.2.12", "parity-scale-codec", "parking_lot 0.10.2", "rand 0.7.3", - "smallvec 1.4.0", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-trie", + "smallvec 1.4.1", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-panic-handler 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-state-machine" +version = "0.8.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436f6c1cd4ddac9fda662224a4f6d96b29f059385e0534f920c36d623809670f" +dependencies = [ + "hash-db", + "itertools 0.9.0", + "log 0.4.11", + "num-traits 0.2.12", + "parity-scale-codec", + "parking_lot 0.10.2", + "rand 0.7.3", + "smallvec 1.4.1", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", "trie-db", "trie-root", ] [[package]] name = "sp-std" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" + +[[package]] +name = "sp-std" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a58c21080bbfd72305a66db730d9cfaac50100a85071f560b133881f70e109a" + +[[package]] +name = "sp-storage" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "impl-serde 0.2.3", + "ref-cast", + "serde", + "sp-debug-derive 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] [[package]] name = "sp-storage" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29963c6391fbc0aba93d79288c1284229a55de384ae0ee45894d74222432b51" dependencies = [ "impl-serde 0.2.3", "ref-cast", "serde", - "sp-debug-derive", - "sp-std", + "sp-debug-derive 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-timestamp" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-std", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "wasm-timer", ] [[package]] name = "sp-tracing" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "log 0.4.8", + "log 0.4.11", + "rental", + "tracing", +] + +[[package]] +name = "sp-tracing" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "609a82203b73d298ea5d0892cd626c8b527ea333a64cdb506a61fd92d422f21d" +dependencies = [ + "log 0.4.11", "rental", "tracing", ] [[package]] name = "sp-transaction-pool" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "derive_more", + "futures 0.3.5", + "log 0.4.11", + "parity-scale-codec", + "serde", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "sp-transaction-pool" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c0ee05ab85866b55a3836763c0d1f3a18e39acad0e1de5d99c4b55e4fa4a70" +dependencies = [ + "derive_more", + "futures 0.3.5", + "log 0.4.11", + "parity-scale-codec", + "serde", + "sp-api 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-blockchain 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-trie" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ - "derive_more", - "futures 0.3.5", - "log 0.4.8", + "hash-db", + "memory-db", "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-runtime", - "sp-utils", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "trie-db", + "trie-root", ] [[package]] name = "sp-trie" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "340c24f1093d62d172f988cadab86e160effc3ccd3e69d9fa65907e51ab727ec" dependencies = [ "hash-db", "memory-db", "parity-scale-codec", - "sp-core", - "sp-std", + "sp-core 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", "trie-db", "trie-root", ] [[package]] name = "sp-utils" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "futures 0.3.5", + "futures-core", + "futures-timer 3.0.2", + "lazy_static", + "prometheus 0.9.0", +] + +[[package]] +name = "sp-utils" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5fbc3451309422bf20dadc1a0aac63134b5d99943f3d6734f91c1b25e73c38" dependencies = [ "futures 0.3.5", "futures-core", "futures-timer 3.0.2", "lazy_static", - "prometheus", + "prometheus 0.8.0", +] + +[[package]] +name = "sp-version" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "impl-serde 0.2.3", + "parity-scale-codec", + "serde", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] name = "sp-version" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2363e63c5bfbd95ae44bf4cdf7eb65d95ccf1e7613809fc3a22e4a6135749bd6" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-wasm-interface" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "wasmi", ] [[package]] name = "sp-wasm-interface" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e015754c6dab38a067b1122048f1c5b67d146319c46c27468b336dff98de5c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", - "sp-std", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi", ] @@ -6840,9 +7564,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "stable_deref_trait" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "static_assertions" @@ -6861,11 +7585,11 @@ dependencies = [ [[package]] name = "stream-cipher" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c" +checksum = "09f8ed9974042b8c3672ff3030a69fcc03b74c47c3d1ecb7755e8a3626011e88" dependencies = [ - "generic-array", + "generic-array 0.14.3", ] [[package]] @@ -6877,15 +7601,6 @@ dependencies = [ "bytes 0.4.12", ] -[[package]] -name = "string-interner" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd710eadff449a1531351b0e43eb81ea404336fa2f56c777427ab0e32a4cf183" -dependencies = [ - "serde", -] - [[package]] name = "strsim" version = "0.8.0" @@ -6913,7 +7628,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -6934,7 +7649,7 @@ dependencies = [ "heck", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -6946,58 +7661,115 @@ dependencies = [ "hmac", "pbkdf2", "schnorrkel", - "sha2", + "sha2 0.8.2", ] [[package]] name = "substrate-build-script-utils" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "platforms", ] [[package]] name = "substrate-frame-rpc-system" -version = "2.0.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "2.0.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.5", "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-derive", - "log 0.4.8", + "log 0.4.11", "parity-scale-codec", "sc-client-api", - "sc-rpc-api", + "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "serde", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-transaction-pool", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", +] + +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.8.0-rc5" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +dependencies = [ + "async-std", + "derive_more", + "futures-util", + "hyper 0.13.7", + "log 0.4.11", + "prometheus 0.9.0", + "tokio 0.2.22", ] [[package]] name = "substrate-prometheus-endpoint" -version = "0.8.0-rc4" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +version = "0.8.0-rc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab1195d819a77a444c4821c0fb798e0c035aec50c7fb700528eff4f0f99804e" dependencies = [ "async-std", "derive_more", "futures-util", - "hyper 0.13.6", - "log 0.4.8", - "prometheus", - "tokio 0.2.21", + "hyper 0.13.7", + "log 0.4.11", + "prometheus 0.8.0", + "tokio 0.2.22", +] + +[[package]] +name = "substrate-subxt" +version = "0.11.0" +source = "git+https://github.com/paritytech/substrate-subxt.git?branch=seun-substrate-test-runner#301684bf7092d557ddb49eb3ae21749f42ec1a3e" +dependencies = [ + "frame-metadata 11.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-support", + "futures 0.3.5", + "hex", + "jsonrpsee", + "log 0.4.11", + "num-traits 0.2.12", + "pallet-indices", + "parity-scale-codec", + "sc-rpc-api 0.8.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "serde_json", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "substrate-subxt-proc-macro", + "thiserror", + "url 2.1.1", +] + +[[package]] +name = "substrate-subxt-proc-macro" +version = "0.11.0" +source = "git+https://github.com/paritytech/substrate-subxt.git?branch=seun-substrate-test-runner#301684bf7092d557ddb49eb3ae21749f42ec1a3e" +dependencies = [ + "heck", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.36", + "synstructure", ] [[package]] name = "substrate-test-runner" version = "0.1.0" dependencies = [ + "derive_more", "env_logger", "frame-system", "futures 0.1.29", @@ -7006,8 +7778,11 @@ dependencies = [ "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-pubsub", - "log 0.4.8", + "jsonrpsee", + "log 0.4.11", "node-cli", + "pallet-balances", + "pallet-indices", "parity-scale-codec", "parking_lot 0.10.2", "primitive-types", @@ -7018,17 +7793,20 @@ dependencies = [ "sc-consensus-manual-seal", "sc-executor", "sc-rpc", - "sc-rpc-api", + "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sc-service", "sc-transaction-pool", - "sp-externalities", - "sp-inherents", - "sp-runtime", - "sp-storage", + "serde_json", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", "structopt", + "substrate-subxt", "test-runtime", - "tokio 0.2.21", + "tokio 0.2.22", "tokio-compat", "url 1.7.2", ] @@ -7036,97 +7814,33 @@ dependencies = [ [[package]] name = "substrate-wasm-builder-runner" version = "1.0.6" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#901754edef073315113f080c527b3b4f0772c844" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" [[package]] name = "substrate-wasmtime" -version = "0.16.0-threadsafe.4" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd62264edc1a5f3ef44d86fb0c11c9fb142894b9a2da034f34afae482080d7a" +checksum = "d75a69f5b3afef86e3e372529bf3fb1f7219b20287c4490e4cb4b4e91970f4f5" dependencies = [ "anyhow", "backtrace", "cfg-if", "lazy_static", "libc", + "log 0.4.11", "region", "rustc-demangle", - "substrate-wasmtime-jit", - "substrate-wasmtime-profiling", - "substrate-wasmtime-runtime", + "smallvec 1.4.1", "target-lexicon", - "wasmparser 0.52.2", + "wasmparser 0.59.0", "wasmtime-environ", + "wasmtime-jit", + "wasmtime-profiling", + "wasmtime-runtime", "wat", "winapi 0.3.9", ] -[[package]] -name = "substrate-wasmtime-jit" -version = "0.16.0-threadsafe.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ce43c159d4f3ef6b19641e1ae045847fd202d8e2cc74df7ccb2b6475e069d4a" -dependencies = [ - "anyhow", - "cfg-if", - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "cranelift-wasm", - "gimli 0.20.0", - "log 0.4.8", - "more-asserts", - "region", - "substrate-wasmtime-profiling", - "substrate-wasmtime-runtime", - "target-lexicon", - "thiserror", - "wasmparser 0.52.2", - "wasmtime-debug", - "wasmtime-environ", - "winapi 0.3.9", -] - -[[package]] -name = "substrate-wasmtime-profiling" -version = "0.16.0-threadsafe.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77f0ce539b5a09a54dc80a1cf0c7cd7e694df11029354fe50a2d5fe889bdb97" -dependencies = [ - "anyhow", - "cfg-if", - "gimli 0.20.0", - "lazy_static", - "libc", - "object 0.18.0", - "scroll", - "serde", - "substrate-wasmtime-runtime", - "target-lexicon", - "wasmtime-environ", -] - -[[package]] -name = "substrate-wasmtime-runtime" -version = "0.16.0-threadsafe.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46516af0a64a7d9b652c5aa7436b6ce13edfa54435a66ef177fc02d2283e2dc2" -dependencies = [ - "backtrace", - "cc", - "cfg-if", - "indexmap", - "lazy_static", - "libc", - "memoffset", - "more-asserts", - "region", - "thiserror", - "wasmtime-environ", - "winapi 0.3.9", -] - [[package]] name = "subtle" version = "1.0.0" @@ -7152,26 +7866,15 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.33" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd" +checksum = "4cdb98bcb1f9d81d07b536179c269ea15999b5d14ea958196413869445bb5250" dependencies = [ "proc-macro2", "quote 1.0.7", "unicode-xid 0.2.1", ] -[[package]] -name = "syn-mid" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" -dependencies = [ - "proc-macro2", - "quote 1.0.7", - "syn 1.0.33", -] - [[package]] name = "synom" version = "0.11.3" @@ -7189,15 +7892,15 @@ checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", "unicode-xid 0.2.1", ] [[package]] name = "sysinfo" -version = "0.13.4" +version = "0.14.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac193374347e7c263c5f547524f36ff8ec6702d56c8799c8331d26dffe8c1e" +checksum = "2983daff11a197c7c406b130579bc362177aa54cf2cc1f34d6ac88fccaa6a5e1" dependencies = [ "cfg-if", "doc-comment", @@ -7257,18 +7960,18 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "serde", - "sp-api", - "sp-block-builder", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-io", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-offchain", - "sp-runtime", + "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", + "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "substrate-wasm-builder-runner", ] @@ -7298,7 +8001,7 @@ checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -7341,7 +8044,7 @@ dependencies = [ "pbkdf2", "rand 0.7.3", "rustc-hash", - "sha2", + "sha2 0.8.2", "unicode-normalization", ] @@ -7386,11 +8089,11 @@ dependencies = [ [[package]] name = "tokio" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" +checksum = "5d34ca54d84bf2b5b4d7d31e901a8464f7b60ac145a284fba25ceb801f2ddccd" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "fnv", "futures-core", "iovec", @@ -7440,7 +8143,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "tokio 0.2.21", + "tokio 0.2.22", "tokio-current-thread", "tokio-executor 0.1.10", "tokio-reactor", @@ -7497,7 +8200,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures 0.1.29", - "log 0.4.8", + "log 0.4.11", ] [[package]] @@ -7508,7 +8211,7 @@ checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] @@ -7533,7 +8236,7 @@ dependencies = [ "crossbeam-utils", "futures 0.1.29", "lazy_static", - "log 0.4.8", + "log 0.4.11", "mio", "num_cpus", "parking_lot 0.9.0", @@ -7545,13 +8248,13 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15cb62a0d2770787abc96e99c1cd98fcf17f94959f3af63ca85bdfb203f051b4" +checksum = "228139ddd4fea3fa345a29233009635235833e52807af7ea6448ead03890d6a9" dependencies = [ "futures-core", - "rustls", - "tokio 0.2.21", + "rustls 0.18.0", + "tokio 0.2.22", "webpki", ] @@ -7610,7 +8313,7 @@ dependencies = [ "crossbeam-utils", "futures 0.1.29", "lazy_static", - "log 0.4.8", + "log 0.4.11", "num_cpus", "slab", "tokio-executor 0.1.10", @@ -7647,7 +8350,7 @@ checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", "futures 0.1.29", - "log 0.4.8", + "log 0.4.11", "mio", "tokio-codec", "tokio-io", @@ -7656,15 +8359,15 @@ dependencies = [ [[package]] name = "tokio-uds" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5076db410d6fdc6523df7595447629099a1fdc47b3d9f896220780fa48faf798" +checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" dependencies = [ "bytes 0.4.12", "futures 0.1.29", "iovec", "libc", - "log 0.4.8", + "log 0.4.11", "mio", "mio-uds", "tokio-codec", @@ -7678,12 +8381,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "bytes 0.5.5", + "bytes 0.5.6", "futures-core", "futures-sink", - "log 0.4.8", + "log 0.4.11", "pin-project-lite", - "tokio 0.2.21", + "tokio 0.2.22", ] [[package]] @@ -7703,31 +8406,32 @@ checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" [[package]] name = "tracing" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41f40ed0e162c911ac6fcb53ecdc8134c46905fdbbae8c50add462a538b495f" +checksum = "f0aae59226cf195d8e74d4b34beae1859257efb4e5fed3f147d2dc2c7d372178" dependencies = [ "cfg-if", + "log 0.4.11", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99bbad0de3fd923c9c3232ead88510b783e5a4d16a6154adffa3d53308de984c" +checksum = "f0693bf8d6f2bf22c690fc61a9d21ac69efdbb894a17ed596b9af0f01e64b84b" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", ] [[package]] name = "tracing-core" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa83a9a47081cd522c09c81b31aec2c9273424976f922ad61c053b58350b715" +checksum = "b2734b5a028fa697686f16c6d18c2c6a3c7e41513f9a213abb6754c4acb3c8d7" dependencies = [ "lazy_static", ] @@ -7740,15 +8444,15 @@ checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" [[package]] name = "trie-db" -version = "0.21.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb230c24c741993b04cfccbabb45acff6f6480c5f00d3ed8794ea43db3a9d727" +checksum = "9e55f7ace33d6237e14137e386f4e1672e2a5c6bbc97fef9f438581a143971f0" dependencies = [ "hash-db", - "hashbrown", - "log 0.4.8", + "hashbrown 0.8.1", + "log 0.4.11", "rustc-hex", - "smallvec 1.4.0", + "smallvec 1.4.1", ] [[package]] @@ -7762,9 +8466,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "twox-hash" @@ -7861,11 +8565,11 @@ checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" [[package]] name = "universal-hash" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0c900f2f9b4116803415878ff48b63da9edb268668e08cf9292d7503114a01" +checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" dependencies = [ - "generic-array", + "generic-array 0.14.3", "subtle 2.2.3", ] @@ -7874,12 +8578,6 @@ name = "unsigned-varint" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f67332660eb59a6f1eb24ff1220c9e8d01738a8503c6002e30bcfe4bd9f2b4a9" -dependencies = [ - "bytes 0.5.5", - "futures-io", - "futures-util", - "futures_codec 0.3.4", -] [[package]] name = "unsigned-varint" @@ -7887,8 +8585,10 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "669d776983b692a906c881fcd0cfb34271a48e197e4d6cb8df32b05bfc3d3fa5" dependencies = [ - "bytes 0.5.5", - "futures_codec 0.4.1", + "bytes 0.5.6", + "futures-io", + "futures-util", + "futures_codec", ] [[package]] @@ -7949,6 +8649,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "waker-fn" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9571542c2ce85ce642e6b58b3364da2fb53526360dfb7c211add4f5c23105ff7" + [[package]] name = "want" version = "0.2.0" @@ -7956,7 +8662,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures 0.1.29", - "log 0.4.8", + "log 0.4.11", "try-lock", ] @@ -7966,7 +8672,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" dependencies = [ - "log 0.4.8", + "log 0.4.11", "try-lock", ] @@ -7978,9 +8684,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasm-bindgen" -version = "0.2.64" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a634620115e4a229108b71bde263bb4220c483b3f07f5ba514ee8d15064c4c2" +checksum = "f0563a9a4b071746dd5aedbc3a28c6fe9be4586fb3fbadb67c400d4f53c6b16c" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7988,24 +8694,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.64" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e53963b583d18a5aa3aaae4b4c1cb535218246131ba22a71f05b518098571df" +checksum = "bc71e4c5efa60fb9e74160e89b93353bc24059999c0ae0fb03affc39770310b0" dependencies = [ "bumpalo", "lazy_static", - "log 0.4.8", + "log 0.4.11", "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.14" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba48d66049d2a6cc8488702e7259ab7afc9043ad0dc5448444f46f2a453b362" +checksum = "95f8d235a77f880bcef268d379810ea6c0af2eacfa90b1ad5af731776e0c4699" dependencies = [ "cfg-if", "js-sys", @@ -8015,9 +8721,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.64" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcfd5ef6eec85623b4c6e844293d4516470d8f19cd72d0d12246017eb9060b8" +checksum = "97c57cefa5fa80e2ba15641578b44d36e7a64279bc5ed43c6dbaf329457a2ed2" dependencies = [ "quote 1.0.7", "wasm-bindgen-macro-support", @@ -8025,22 +8731,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.64" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9adff9ee0e94b926ca81b57f57f86d5545cdcb1d259e21ec9bdd95b901754c75" +checksum = "841a6d1c35c6f596ccea1f82504a192a60378f64b3bb0261904ad8f2f5657556" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.64" +version = "0.2.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7b90ea6c632dd06fd765d44542e234d5e63d9bb917ecd64d79778a13bd79ae" +checksum = "93b162580e34310e5931c4b792560108b10fd14d64915d7fff8ff00180e70092" [[package]] name = "wasm-timer" @@ -8052,7 +8758,7 @@ dependencies = [ "js-sys", "parking_lot 0.9.0", "pin-utils", - "send_wrapper", + "send_wrapper 0.2.0", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -8084,61 +8790,146 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.51.4" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb1956b19469d1c5e63e459d29e7b5aa0f558d9f16fcef09736f8a265e6c10a" +checksum = "32fddd575d477c6e9702484139cf9f23dcd554b06d185ed0f56c857dd3a47aa6" [[package]] name = "wasmparser" -version = "0.52.2" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733954023c0b39602439e60a65126fd31b003196d3a1e8e4531b055165a79b31" +checksum = "a950e6a618f62147fd514ff445b2a0b53120d382751960797f85f058c7eda9b9" [[package]] name = "wasmtime-debug" -version = "0.16.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39ba645aee700b29ff0093028b4123556dd142a74973f04ed6225eedb40e77d" +checksum = "6e634af9067a3af6cf2c7d33dc3b84767ddaf5d010ba68e80eecbcea73d4a349" dependencies = [ "anyhow", - "faerie", - "gimli 0.20.0", + "gimli 0.21.0", "more-asserts", + "object 0.20.0", "target-lexicon", "thiserror", - "wasmparser 0.51.4", + "wasmparser 0.59.0", "wasmtime-environ", ] [[package]] name = "wasmtime-environ" -version = "0.16.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed54fd9d64dfeeee7c285fd126174a6b5e6d4efc7e5a1566fdb635e60ff6a74e" +checksum = "08f85619a94ee4034bd5bb87fc3dcf71fd2237b81c840809da1201061eec9ab3" dependencies = [ "anyhow", "base64 0.12.3", "bincode", + "cfg-if", "cranelift-codegen", "cranelift-entity", + "cranelift-frontend", "cranelift-wasm", "directories", "errno", "file-per-thread-logger", "indexmap", "libc", - "log 0.4.8", + "log 0.4.11", "more-asserts", "rayon", "serde", - "sha2", + "sha2 0.8.2", "thiserror", "toml", - "wasmparser 0.51.4", + "wasmparser 0.59.0", "winapi 0.3.9", "zstd", ] +[[package]] +name = "wasmtime-jit" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e914c013c7a9f15f4e429d5431f2830fb8adb56e40567661b69c5ec1d645be23" +dependencies = [ + "anyhow", + "cfg-if", + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", + "cranelift-wasm", + "gimli 0.21.0", + "log 0.4.11", + "more-asserts", + "object 0.20.0", + "region", + "target-lexicon", + "thiserror", + "wasmparser 0.59.0", + "wasmtime-debug", + "wasmtime-environ", + "wasmtime-obj", + "wasmtime-profiling", + "wasmtime-runtime", + "winapi 0.3.9", +] + +[[package]] +name = "wasmtime-obj" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e81d8e02e9bc9fe2da9b6d48bbc217f96e089f7df613f11a28a3958abc44641e" +dependencies = [ + "anyhow", + "more-asserts", + "object 0.20.0", + "target-lexicon", + "wasmtime-debug", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-profiling" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8d4d1af8dd5f7096cfcc89dd668d358e52980c38cce199643372ffd6590e27" +dependencies = [ + "anyhow", + "cfg-if", + "gimli 0.21.0", + "lazy_static", + "libc", + "object 0.19.0", + "scroll", + "serde", + "target-lexicon", + "wasmtime-environ", + "wasmtime-runtime", +] + +[[package]] +name = "wasmtime-runtime" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a25f140bbbaadb07c531cba99ce1a966dba216138dc1b2a0ddecec851a01a93" +dependencies = [ + "backtrace", + "cc", + "cfg-if", + "indexmap", + "lazy_static", + "libc", + "log 0.4.11", + "memoffset", + "more-asserts", + "region", + "thiserror", + "wasmtime-environ", + "winapi 0.3.9", +] + [[package]] name = "wast" version = "21.0.0" @@ -8159,9 +8950,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.41" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863539788676619aac1a23e2df3655e96b32b0e05eb72ca34ba045ad573c625d" +checksum = "dda38f4e5ca63eda02c059d243aa25b5f35ab98451e518c51612cd0f1bd19a47" dependencies = [ "js-sys", "wasm-bindgen", @@ -8177,6 +8968,15 @@ dependencies = [ "untrusted", ] +[[package]] +name = "webpki-roots" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a262ae37dd9d60f60dd473d1158f9fbebf110ba7b6a5051c8160460f6043718b" +dependencies = [ + "webpki", +] + [[package]] name = "webpki-roots" version = "0.18.0" @@ -8236,6 +9036,15 @@ dependencies = [ "tokio-tls", ] +[[package]] +name = "wepoll-sys-stjepang" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fd319e971980166b53e17b1026812ad66c6b54063be879eb182342b55284694" +dependencies = [ + "cc", +] + [[package]] name = "which" version = "3.1.1" @@ -8297,7 +9106,7 @@ dependencies = [ "byteorder", "bytes 0.4.12", "httparse", - "log 0.4.8", + "log 0.4.11", "mio", "mio-extras", "rand 0.7.3", @@ -8334,7 +9143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd37e58a1256a0b328ce9c67d8b62ecdd02f4803ba443df478835cb1a41a637c" dependencies = [ "futures 0.3.5", - "log 0.4.8", + "log 0.4.11", "nohash-hasher", "parking_lot 0.10.2", "rand 0.7.3", @@ -8358,7 +9167,7 @@ checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.36", "synstructure", ] diff --git a/Cargo.toml b/Cargo.toml index 8a55be3..516b049 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,18 +20,25 @@ sc-rpc-api = { git = "https://github.com/paritytech/substrate.git", branch = "se sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } frame-system = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +pallet-balances = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +pallet-indices = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } manual-seal = { package = "sc-consensus-manual-seal", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } parity-scale-codec = "1.3.1" structopt = "0.3.15" env_logger = "0.7.1" log = "0.4.8" hyper = "0.12.35" +serde_json = "1.0" +derive_more = "0.99.9" +substrate-subxt = { git = "https://github.com/paritytech/substrate-subxt.git", branch = "seun-substrate-test-runner" } +jsonrpsee = "0.1.0" futures01 = { package = "futures", version = "0.1.29" } futures = { package = "futures", version = "0.3", features = ["compat"] } rand = "0.7" diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 161a019..ba47e4c 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -15,10 +15,9 @@ use sp_runtime::{ transaction_validity::{TransactionValidity, TransactionSource}, }; use sp_runtime::traits::{ - BlakeTwo256, Block as BlockT, IdentityLookup, Verify, IdentifyAccount, NumberFor, Saturating, + BlakeTwo256, Block as BlockT, IdentityLookup, Verify, IdentifyAccount, Saturating, }; use sp_api::impl_runtime_apis; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_version::RuntimeVersion; #[cfg(feature = "std")] use sp_version::NativeVersion; @@ -182,6 +181,8 @@ impl system::Trait for Runtime { type OnKilledAccount = (); /// The data to be stored in an account. type AccountData = balances::AccountData; + + type SystemWeightInfo = (); } @@ -194,6 +195,8 @@ impl timestamp::Trait for Runtime { type Moment = u64; type OnTimestampSet = (); type MinimumPeriod = MinimumPeriod; + + type WeightInfo = (); } parameter_types! { @@ -208,6 +211,8 @@ impl balances::Trait for Runtime { type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; + + type WeightInfo = (); } parameter_types! { diff --git a/src/lib.rs b/src/lib.rs index 65715ea..f9d8a88 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,4 @@ +pub mod subxt; pub mod node; pub mod rpc; pub mod test; diff --git a/src/node.rs b/src/node.rs index 0b8e539..43dbd2a 100644 --- a/src/node.rs +++ b/src/node.rs @@ -1,25 +1,19 @@ use std::io::Write; use std::sync::Arc; use parking_lot::RwLock; -use sc_service::{ServiceBuilder, Configuration, ServiceComponents, TaskManager, RpcHandlers, TaskType}; +use sc_service::{ + new_full_parts, spawn_tasks, build_network, + Configuration, TaskManager, RpcHandlers, TaskType, + BuildNetworkParams, SpawnTasksParams, TaskExecutor, +}; +use sc_transaction_pool::BasicPool; use sp_inherents::InherentDataProviders; -use sc_cli::{SubstrateCli, build_runtime, CliConfiguration}; +use sc_cli::SubstrateCli; use jsonrpc_core::MetaIoHandler; -use sc_executor::native_executor_instance; - -// Our native executor instance. -native_executor_instance!( - pub Executor, - runtime::api::dispatch, - runtime::native_version, -); - - -/// TODO [ToDr] Remove in favour of direct use of `AbstractService`. -pub(crate) const RPC_WS_URL: &str = "ws://127.0.0.1:9944"; - -/// TODO [ToDr] This should probably be a path to the chain spec file. -type ChainSpec = &'static str; +use futures::FutureExt; +use sc_executor::NativeExecutionDispatch; +use sp_runtime::traits::Block as BlockT; +use std::marker::PhantomData; type Module = String; type Logger = Arc>>>; @@ -27,90 +21,96 @@ type Logger = Arc>>>; /// this holds a reference to a running node on another thread, /// we set a port over cli, process is dropped when this struct is dropped /// holds logs from the process. -pub struct InternalNode { - runtime: T, - logs: Logger, - tokio_runtime: tokio::runtime::Runtime, - rpc_handlers: Arc>, - task_manager: TaskManager, -} +pub struct InternalNode { + logs: Logger, -impl From for InternalNode { - fn from(runtime: T) -> Self { - InternalNodeBuilder::new(runtime).start() - } + /// rpc handler for communicating with the node over rpc. + rpc_handlers: Arc>, + + /// tokio-compat runtime + _tokio_runtime: tokio_compat::runtime::Runtime, + + /// handle to the running node. + _task_manager: Option, + + /// phantom type to pin generics + _phantom: PhantomData<(Block, RuntimeApi, Executor)> } -impl InternalNode { - pub fn builder(runtime: T) -> InternalNodeBuilder { - InternalNodeBuilder::new(runtime) +impl InternalNode + where + Block: BlockT, + Executor: NativeExecutionDispatch, + RuntimeApi: Send + Sync, +{ + pub fn builder() -> InternalNodeBuilder { + InternalNodeBuilder::new() } - pub fn new(logs: Logger, cli: &[String], runtime: T) -> Self { - use sc_cli::SubstrateCli; + pub fn new(logs: Logger, cli: &[String]) -> Self { let cli = node_cli::Cli::from_iter(cli.iter()); - let tokio_runtime = build_runtime().unwrap(); + let tokio_runtime = tokio_compat::runtime::Runtime::new().unwrap(); let runtime_handle = tokio_runtime.handle().clone(); let task_executor = move |fut, task_type| { match task_type { - TaskType::Async => { runtime_handle.spawn(fut); } + TaskType::Async => runtime_handle.spawn(fut).map(drop), TaskType::Blocking => { - runtime_handle.spawn(async move { - // `spawn_blocking` is looking for the current runtime, and as such has to - // be called from within `spawn`. - tokio::task::spawn_blocking(move || futures::executor::block_on(fut)) - }); + runtime_handle + .spawn_blocking(move || futures::executor::block_on(fut)) + .map(drop) } } }; let config = cli - .create_configuration(&cli.run, task_executor.into()) - // Todo: return result - .unwrap(); - // TODO: result - let (task_manager, rpc_handlers) = build_node(config).unwrap(); + .create_configuration(&cli.run, TaskExecutor::from(task_executor)) + .expect("failed to create node config"); + let (task_manager, rpc_handlers) = build_node::(config).unwrap(); Self { logs, - runtime, - task_manager, - tokio_runtime, - rpc_handlers: Arc::new(rpc_handlers.into_handler().into()), + _task_manager: Some(task_manager), + _tokio_runtime: tokio_runtime, + rpc_handlers: Arc::new(rpc_handlers.into_handler().into()), + _phantom: PhantomData, } } pub fn rpc_handler(&self) -> Arc> { self.rpc_handlers.clone() - } + } + + pub fn tokio_runtime(&mut self) -> &mut tokio_compat::runtime::Runtime { + &mut self._tokio_runtime + } pub(crate) fn logs(&self) -> &Logger { &self.logs } } +impl Drop for InternalNode { + fn drop(&mut self) { + if let Some(mut task_manager) = self._task_manager.take() { + task_manager.terminate() + } + } +} #[derive(Debug)] -pub struct InternalNodeBuilder { +pub struct InternalNodeBuilder { /// Parameters passed as-is. cli: Vec, - logs: Logger, - runtime: T, -} - -impl From> for InternalNode { - fn from(builder: InternalNodeBuilder) -> Self { - builder.start() - } + logs: Logger, + _phantom: PhantomData<(Block, RuntimeApi, Executor)> } -impl InternalNodeBuilder { - pub fn new(runtime: T) -> Self { +impl InternalNodeBuilder { + pub fn new() -> Self { let ignore = [ - "yamux", "multistream_select", "libp2p", + "yamux", "multistream_select", "libp2p", "jsonrpc_client_transports", "sc_network", "tokio_reactor", "sub-libp2p", "sync", "peerset", - "ws", "sc_network::protocol::generic_proto::behaviour", - "sc_service", "sc_peerset", "rpc" + "ws", "sc_network", "sc_service", "sc_peerset", "rpc" ]; let logs = Logger::default(); { @@ -158,7 +158,7 @@ impl InternalNodeBuilder { "--dev".into(), ], logs, - runtime, + _phantom: PhantomData, } } @@ -167,64 +167,97 @@ impl InternalNodeBuilder { self } - pub fn start(self) -> InternalNode { - InternalNode::new(self.logs, &self.cli, self.runtime) + pub fn start(self) -> InternalNode { + InternalNode::new(self.logs, &self.cli) } } -/// TODO: should be generic over the runtime, block and executor. /// starts a manual seal authorship task. -pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { +pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> + where + Block: BlockT, + Executor: NativeExecutionDispatch, + RuntimeApi: frame_system::Trait + Send + Sync, +{ // Channel for the rpc handler to communicate with the authorship task. - let (command_sink, commands_stream) = futures::channel::mpsc::channel(1000); - - let ServiceComponents { - task_manager, rpc_handlers, client, - transaction_pool, select_chain, prometheus_registry, - .. - } = ServiceBuilder::new_full::(config)? - .with_select_chain(|_config, backend| { - Ok(sc_consensus::LongestChain::new(backend.clone())) - })? - .with_transaction_pool(|builder| { - let pool_api = sc_transaction_pool::FullChainApi::new(builder.client().clone()); - Ok(sc_transaction_pool::BasicPool::new( - builder.config().transaction_pool.clone(), - std::sync::Arc::new(pool_api), - builder.prometheus_registry(), - )) - })? - .with_import_queue(|_config, client, _select_chain, _transaction_pool, spawn_task_handle, registry| { - Ok(manual_seal::import_queue( - Box::new(client), - spawn_task_handle, - registry, - )) - })? - .with_rpc_extensions(|_| -> Result, _> { - use manual_seal::rpc; - let mut io = jsonrpc_core::IoHandler::default(); - io.extend_with( - // We provide the rpc handler with the sending end of the channel to allow the rpc - // send EngineCommands to the background block authorship task. - rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink)), - ); - Ok(io) - })? - .build_full()?; - - let inherent_data_providers = InherentDataProviders::new(); - inherent_data_providers - .register_provider(sp_timestamp::InherentDataProvider) - .unwrap(); + let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); + + let ( + client, + backend, + keystore, + mut task_manager + ) = new_full_parts::(&config)?; + let client = Arc::new(client); + let import_queue = manual_seal::import_queue( + Box::new(client.clone()), + &task_manager.spawn_handle(), + None + ); + + let transaction_pool = BasicPool::new_full( + config.transaction_pool.clone(), + config.prometheus_registry(), + task_manager.spawn_handle(), + client.clone(), + ); + + let (network, network_status_sinks, system_rpc_tx) = { + let params = BuildNetworkParams { + config: &config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue, + on_demand: None, + block_announce_validator_builder: None, + finality_proof_request_builder: None, + finality_proof_provider: None, + }; + build_network(params)? + }; // Proposer object for block authorship. let proposer = sc_basic_authorship::ProposerFactory::new( client.clone(), transaction_pool.clone(), - prometheus_registry.as_ref(), + config.prometheus_registry(), ); + let rpc_handlers = { + let params = SpawnTasksParams { + config, + client: client.clone(), + backend: backend.clone(), + task_manager: &mut task_manager, + keystore, + on_demand: None, + transaction_pool: transaction_pool.clone(), + rpc_extensions_builder: Box::new(move |_| { + use manual_seal::rpc; + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with( + // We provide the rpc handler with the sending end of the channel to allow the rpc + // send EngineCommands to the background block authorship task. + rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), + ); + io + }), + remote_blockchain: None, + network, + network_status_sinks, + system_rpc_tx, + telemetry_connection_sinks: Default::default() + }; + spawn_tasks(params)? + }; + + let inherent_data_providers = InherentDataProviders::new(); + inherent_data_providers + .register_provider(sp_timestamp::InherentDataProvider)?; + + let select_chain = sc_consensus::LongestChain::new(backend.clone()); + // Background authorship future. let authorship_future = manual_seal::run_manual_seal( Box::new(client.clone()), @@ -232,14 +265,14 @@ pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), s client, transaction_pool.pool().clone(), commands_stream, - select_chain.expect("SelectChain is set at Service initialization; qed"), + select_chain, inherent_data_providers, ); - // we spawn the future on a background thread managed by service. + // spawn the authorship task as an essential task. task_manager.spawn_essential_handle() .spawn("manual-seal", authorship_future); // we really only care about the rpc interface. Ok((task_manager, rpc_handlers)) -} \ No newline at end of file +} diff --git a/src/subxt.rs b/src/subxt.rs new file mode 100644 index 0000000..57b9ff5 --- /dev/null +++ b/src/subxt.rs @@ -0,0 +1,101 @@ +use futures::{ + channel::mpsc, + compat::{Compat01As03, Sink01CompatExt, Stream01CompatExt}, + sink::SinkExt, + stream::StreamExt, +}; +use futures01::sync::mpsc as mpsc01; +use jsonrpsee::{ + common::{Request, Response}, + transport::TransportClient, +}; +pub use sc_service::{ + config::{ + DatabaseConfig, + KeystoreConfig, + }, + Error as ServiceError, +}; +use std::{future::Future, pin::Pin, sync::Arc}; +use jsonrpc_core::MetaIoHandler; +use futures::compat::Future01CompatExt; + +/// Error thrown by the client. +#[derive(Debug, derive_more::Display, derive_more::From, derive_more::Error)] +pub enum SubxtClientError { + /// Failed to parse json rpc message. + #[display(fmt="{}", _0)] + Json(serde_json::Error), + /// Channel closed. + #[display(fmt="{}", _0)] + Mpsc(mpsc::SendError), +} + +/// Client for an embedded substrate node. +pub struct SubxtClient { + request_sink: mpsc::Sender, + response_stream: Compat01As03>, +} + +impl SubxtClient { + /// Create a new client. + pub fn new(rpc: Arc>) -> Self { + let (request_sink, mut request_stream) = mpsc::channel::(4); + let (response_sink, response_stream) = mpsc01::channel::(4); + + let session = response_sink.clone(); + + tokio::task::spawn(async move { + while let Some(request) = request_stream.next().await { + let rpc = rpc.clone(); + let mut response_sink = response_sink.clone().sink_compat(); + + let response = rpc.handle_request(&request, session.clone().into()).compat().await; + if let Ok(Some(response)) = response { + response_sink.send(response).await.ok(); + } + } + }); + + Self { + request_sink, + response_stream: response_stream.compat(), + } + } +} + +impl TransportClient for SubxtClient { + type Error = SubxtClientError; + + fn send_request<'a>( + &'a mut self, + request: Request, + ) -> Pin> + Send + 'a>> { + Box::pin(async move { + let request = serde_json::to_string(&request)?; + self.request_sink.send(request).await?; + Ok(()) + }) + } + + fn next_response<'a>( + &'a mut self, + ) -> Pin> + Send + 'a>> { + Box::pin(async move { + let response = self + .response_stream + .next() + .await + .expect("channel shouldn't close") + .unwrap(); + Ok(serde_json::from_str(&response)?) + }) + } +} + +impl From for jsonrpsee::Client { + fn from(client: SubxtClient) -> Self { + let client = jsonrpsee::raw::RawClient::new(client); + jsonrpsee::Client::new(client) + } +} diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 7d59f25..17d04d4 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -7,37 +7,37 @@ use jsonrpc_core_client::{RpcChannel, transports::local}; use crate::test::externalities::TestExternalities; use tokio_compat::runtime::Runtime; -pub enum BlackBoxNode { +pub enum BlackBoxNode { /// Connects to an external node. External(String), /// Spawns a pristine node. - Internal(InternalNode), + Internal(InternalNode), } /// A black box test. -pub struct BlackBox { - node: BlackBoxNode, +pub struct BlackBox { + node: BlackBoxNode, compat_runtime: Runtime, } -impl BlackBox { +impl BlackBox { pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R where TRuntime: frame_system::Trait { TestExternalities::::new(self.rpc()) .execute_with(closure) } } -impl rpc::RpcExtension for BlackBox { +impl rpc::RpcExtension for BlackBox { fn rpc + 'static>(&mut self) -> TClient { let client = match self.node { BlackBoxNode::External(ref url) => { self.compat_runtime.block_on_std( rpc::connect_ws(&url)).unwrap() }, - BlackBoxNode::Internal(ref internal) => { + BlackBoxNode::Internal(ref node) => { use futures01::Future; - - let (client, fut) = local::connect::(internal.rpc_handler()); - self.compat_runtime.spawn(fut.map_err(|_| ())); + let (client, fut) = local::connect::(node.rpc_handler()); + self.compat_runtime.spawn(fut.map_err(|_| ())); + client }, }; @@ -46,14 +46,14 @@ impl rpc::RpcExtension for BlackBox { } -impl BlackBox { - pub fn new(node: BlackBoxNode) -> Self { +impl BlackBox { + pub fn new(node: BlackBoxNode) -> Self { let runtime = Runtime::new().unwrap(); Self { node, compat_runtime: runtime } } } -impl BlackBox { +impl BlackBox { /// Wait `number` of blocks. pub fn wait_blocks(&self, _number: impl Into>) { todo!() diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index c108263..bec340a 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -3,22 +3,18 @@ use crate::{ rpc::{self, RpcExtension}, }; use jsonrpc_core_client::RpcChannel; -use tokio::time::{delay_for, Duration}; -use futures::compat::Future01CompatExt; -use crate::test::externalities; +use crate::test::externalities::TestExternalities; use tokio_compat::runtime::Runtime; -use futures::FutureExt; use jsonrpc_core_client::transports::local; -use std::thread; use manual_seal::rpc::ManualSealClient; +use std::ops::{Deref, DerefMut}; /// A deterministic internal instance of substrate node. -pub struct Deterministic { - node: InternalNode, - compat_runtime: Runtime, +pub struct Deterministic { + node: InternalNode, } -impl rpc::RpcExtension for Deterministic { +impl rpc::RpcExtension for Deterministic { fn rpc + 'static>(&mut self) -> TClient { use futures01::Future; let rpc_handler = self.node.rpc_handler(); @@ -29,23 +25,13 @@ impl rpc::RpcExtension for Deterministic { } } -impl Deterministic { - pub fn new(node: InternalNode) -> Self { - let runtime = Runtime::new().unwrap(); - Self { node, compat_runtime: runtime } - } - - pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R - where - TRuntime: frame_system::Trait - { - let client = self.rpc(); - externalities::TestExternalities::::new(client) - .execute_with(closure) +impl Deterministic { + pub fn new(node: InternalNode) -> Self { + Self { node } } } -impl Deterministic { +impl Deterministic { pub fn assert_log_line(&self, module: &str, content: &str) { if let Some(logs) = self.node.logs().read().get(module) { for log in logs { @@ -60,8 +46,38 @@ impl Deterministic { } pub fn produce_blocks(&mut self, num: usize) { - let client = self.rpc::>(); - let result = self.compat_runtime.block_on(client.create_block(true, true, None)); - log::info!("{:#?}", result); + let client = self.rpc::>(); + for _ in 0..num { + self.node.tokio_runtime() + .block_on(client.create_block(true, true, None)) + .expect("block production failed: "); + + } + log::info!("sealed {} blocks", num) + } + + + pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { + TestExternalities::::new(self.rpc()) + .execute_with(closure) + } + +} + +impl Deref for Deterministic { + type Target = InternalNode; + + fn deref(&self) -> &Self::Target { + &self.node } } + +impl DerefMut for Deterministic { + type Target = InternalNode; + + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.node + } +} + + diff --git a/src/test/externalities.rs b/src/test/externalities.rs index decb7ad..d91effb 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -4,12 +4,12 @@ use sp_externalities::{Extension, Error}; use sp_storage::{ChildInfo, StorageKey}; use futures01::Future; -pub struct TestExternalities { - client: rpc::StateClient, +pub struct TestExternalities { + client: rpc::StateClient, } -impl TestExternalities { - pub fn new(client: rpc::StateClient) -> Self { +impl TestExternalities { + pub fn new(client: rpc::StateClient) -> Self { Self { client } } @@ -19,7 +19,7 @@ impl TestExternalities { } // TODO [ToDr] Most likely the implementation is not really relevant, but we still need the trait. -impl sp_externalities::ExtensionStore for TestExternalities { +impl sp_externalities::ExtensionStore for TestExternalities { fn extension_by_type_id(&mut self, _type_id: TypeId) -> Option<&mut dyn Any> { todo!() } @@ -34,7 +34,7 @@ impl sp_externalities::ExtensionStore for TestExt } -impl sp_externalities::Externalities for TestExternalities { +impl sp_externalities::Externalities for TestExternalities { fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { todo!() } fn storage(&self, key: &[u8]) -> Option> { @@ -134,7 +134,7 @@ impl sp_externalities::Externalities for TestExte todo!() } - fn set_whitelist(&mut self, new: Vec>) { + fn set_whitelist(&mut self, _: Vec>) { todo!() } } diff --git a/src/test/mod.rs b/src/test/mod.rs index d44b84b..f96ad17 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -2,71 +2,20 @@ pub mod blackbox; pub mod deterministic; pub mod externalities; -pub fn blackbox_external(url: &str, _runtime: TRuntime) -> blackbox::BlackBox { +pub fn blackbox_external(url: &str, _runtime: TRuntime) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } -pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { +pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { let node = crate::node::InternalNode::builder(runtime).start(); blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { +pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } -pub fn node(runtime: TRuntime) -> crate::node::InternalNodeBuilder { +pub fn node(runtime: TRuntime) -> crate::node::InternalNodeBuilder { crate::node::InternalNode::builder(runtime) } -// Substrate Repo -// #[test] -// fn balances_transfer_should_work() { -// let node = SubstrateNode::deterministic(node_cli::Service); -// } -// -// fn generic_balances_transfer_test(node: SubstrateNode) { -// -// } -// -// #[test] -// fn balances_transfer_should_work2() { -// generic_balances_transfer_test(SubstrateNode::deterministic(runtime)); -// -// -// // Polkadot Repo -// #[test] -// fn transfer_works() { -// let node = SubstrateNode::start_external(polkadot::Client); -// generic_balances_transfer_test(node); -// } -// -// -// // E2E Tests -// #[test] -// fn transfer_works() { -// generic_balances_transfer_test( -// SubstrateNode::external("ws://somenode:9944"), -// runtime_primitives, -// ) -// } -// -// trait RuntimePrimitivesTrait { -// type BlockNumber; -// type BlockHash; -// type Block =generic::Block; -// } -// -// impl for RuntimePrimitivesTrait for T { -// type Block = T::Block; -// } -// -// // decl_runtime!{} -// impl RuntimePrimitivesTrait for FrameRuntime { -// -// } -// -// //struct CustomRuntime; -// impl RuntimePrimitivesTrait for CustomRuntime { -// -// } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 829c373..b5422e2 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,6 +1,10 @@ -use substrate_test_runner::{test, rpc, prelude::*}; +use substrate_test_runner::{test, rpc, prelude::*, subxt}; use runtime::Runtime; use futures::compat::Future01CompatExt; +use substrate_subxt::{ClientBuilder, DefaultNodeRuntime, PairSigner, balances::TransferCallExt}; +use sp_core::{sr25519, crypto::Pair}; +use sp_runtime::{traits::IdentifyAccount, MultiSigner}; +use pallet_indices::address::Address; #[test] fn should_run_off_chain_worker() { @@ -39,61 +43,44 @@ fn should_run_off_chain_worker() { #[test] fn should_read_state() { // given - let mut test = test::deterministic( - test::node(Runtime) - // TODO [ToDr] This does not work properly, since we have a shared logger. - // .with_sudo(Keyring::Alice) - // .with_genesis_state(|| { - // ... - // }) - .start() - ); - // test.send_transaction() - // .to_module("System") - // .call("set_heap_pages") - // .origin(Root) - // .send(); - - // test.with_state(Read::Memory(&map), Write::Sudo, || { - // my_pallet::test_conditions(1) - // }); - // - // let balance_call = balances_helper().tranfser(Alice, Bob); - // test.read_state(|| { - // ::create_transaction( - // balance_call, - // signer, - // account, - // nonce, - // ) - // }); - // when + let mut test = test::deterministic(Runtime.into()); + type Balances = pallet_balances::Module; + test.produce_blocks(1); - println!("\n\nproduced blocks\n\n"); - // test.with_state(|| { - // // test.with_state(Read::External, Write::Memory(&mut storage), || { - // let events = frame_system::Module::::events(); - // println!("events {:#?}", events); - // // assert_eq!(events.len(), 2); - // // - // let events = frame_system::Module::::events(); - // println!("events {:#?}", events); - // // assert_eq!(events.len(), 1); - // }); - // - // // when - // test.produce_blocks(5); - // - // // then - // test.with_state(|| { - // let events = frame_system::Module::::events(); - // println!("events {:#?}", events); - // // assert_eq!(events.len(), 0); - // - // let events = frame_system::Module::::events(); - // println!("events {:#?}", events); - // // assert_eq!(events.len(), 0); - // }); + + let alice = sr25519::Pair::from_string("//Alice".into(), None).unwrap(); + let bob = sr25519::Pair::from_string("//Bob".into(), None).unwrap(); + let signer = PairSigner::new(alice.clone()); + + let rpc_handlers = test.rpc_handler(); + + let alice_balance = test.with_state(|| { + Balances::free_balance(MultiSigner::from(alice.public()).into_account()) + }); + + test.tokio_runtime() + .block_on_std(async { + let client = ClientBuilder::::new() + .set_client( subxt::SubxtClient::new(rpc_handlers)) + .build() + .await + .unwrap(); + + client + .transfer(&signer, &Address::from(MultiSigner::from(bob.public()).into_account()), 8900000000000000) + .await + .expect("failed to transfer funds"); + + }); + + test.produce_blocks(1); + + let new_alice_balance = test.with_state(|| { + Balances::free_balance(MultiSigner::from(alice.public()).into_account()) + }); + + // account for fees + assert!((alice_balance - new_alice_balance) > 8900000000000000); } #[test] From 94c5cbfdfb61ba8685ad95356d3fa244145728ab Mon Sep 17 00:00:00 2001 From: Seun Date: Mon, 3 Aug 2020 17:20:21 +0100 Subject: [PATCH 07/16] balances exanple --- Cargo.lock | 5 +-- Cargo.toml | 3 ++ src/node.rs | 68 +++++++++++++++++++-------------------- src/rpc.rs | 3 +- src/test/blackbox.rs | 38 +++++++++++----------- src/test/deterministic.rs | 25 +++++++------- src/test/mod.rs | 12 +++---- tests/simple_run.rs | 13 ++++---- 8 files changed, 86 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 636a8a5..794d604 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7800,6 +7800,7 @@ dependencies = [ "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-keyring", "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", @@ -8493,9 +8494,9 @@ checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" [[package]] name = "uint" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173cd16430c206dc1a430af8a89a0e9c076cf15cb42b4aedb10e8cc8fee73681" +checksum = "429ffcad8c8c15f874578c7337d156a3727eb4a1c2374c0ae937ad9a9b748c80" dependencies = [ "byteorder", "crunchy", diff --git a/Cargo.toml b/Cargo.toml index 516b049..0449025 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,3 +56,6 @@ primitive-types = "0.7" # Externalities sp-externalities = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-storage = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } + +[dev-dependencies] +sp-keyring = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/src/node.rs b/src/node.rs index 43dbd2a..ff764f0 100644 --- a/src/node.rs +++ b/src/node.rs @@ -4,16 +4,22 @@ use parking_lot::RwLock; use sc_service::{ new_full_parts, spawn_tasks, build_network, Configuration, TaskManager, RpcHandlers, TaskType, - BuildNetworkParams, SpawnTasksParams, TaskExecutor, + BuildNetworkParams, SpawnTasksParams, TaskExecutor, }; use sc_transaction_pool::BasicPool; use sp_inherents::InherentDataProviders; -use sc_cli::SubstrateCli; +use sc_cli::{SubstrateCli, build_runtime}; use jsonrpc_core::MetaIoHandler; use futures::FutureExt; -use sc_executor::NativeExecutionDispatch; -use sp_runtime::traits::Block as BlockT; use std::marker::PhantomData; +use sc_executor::native_executor_instance; + +// Our native executor instance. +native_executor_instance!( + pub Executor, + runtime::api::dispatch, + runtime::native_version, +); type Module = String; type Logger = Arc>>>; @@ -21,36 +27,33 @@ type Logger = Arc>>>; /// this holds a reference to a running node on another thread, /// we set a port over cli, process is dropped when this struct is dropped /// holds logs from the process. -pub struct InternalNode { +pub struct InternalNode { logs: Logger, /// rpc handler for communicating with the node over rpc. rpc_handlers: Arc>, /// tokio-compat runtime - _tokio_runtime: tokio_compat::runtime::Runtime, + tokio_runtime: tokio_compat::runtime::Runtime, + + _runtime: tokio::runtime::Runtime, /// handle to the running node. _task_manager: Option, - /// phantom type to pin generics - _phantom: PhantomData<(Block, RuntimeApi, Executor)> + _phantom: PhantomData } -impl InternalNode - where - Block: BlockT, - Executor: NativeExecutionDispatch, - RuntimeApi: Send + Sync, -{ - pub fn builder() -> InternalNodeBuilder { +impl InternalNode { + pub fn builder() -> InternalNodeBuilder { InternalNodeBuilder::new() } pub fn new(logs: Logger, cli: &[String]) -> Self { let cli = node_cli::Cli::from_iter(cli.iter()); let tokio_runtime = tokio_compat::runtime::Runtime::new().unwrap(); - let runtime_handle = tokio_runtime.handle().clone(); + let newer_runtime = build_runtime().unwrap(); + let runtime_handle = newer_runtime.handle().clone(); let task_executor = move |fut, task_type| { match task_type { @@ -66,13 +69,14 @@ impl InternalNode let config = cli .create_configuration(&cli.run, TaskExecutor::from(task_executor)) .expect("failed to create node config"); - let (task_manager, rpc_handlers) = build_node::(config).unwrap(); + let (task_manager, rpc_handlers) = build_node(config).unwrap(); Self { logs, _task_manager: Some(task_manager), - _tokio_runtime: tokio_runtime, - rpc_handlers: Arc::new(rpc_handlers.into_handler().into()), + tokio_runtime: tokio_runtime, + _runtime: newer_runtime, + rpc_handlers: rpc_handlers.io_handler(), _phantom: PhantomData, } } @@ -82,7 +86,7 @@ impl InternalNode } pub fn tokio_runtime(&mut self) -> &mut tokio_compat::runtime::Runtime { - &mut self._tokio_runtime + &mut self.tokio_runtime } pub(crate) fn logs(&self) -> &Logger { @@ -90,7 +94,7 @@ impl InternalNode } } -impl Drop for InternalNode { +impl Drop for InternalNode { fn drop(&mut self) { if let Some(mut task_manager) = self._task_manager.take() { task_manager.terminate() @@ -98,14 +102,14 @@ impl Drop for InternalNode { +pub struct InternalNodeBuilder { /// Parameters passed as-is. cli: Vec, logs: Logger, - _phantom: PhantomData<(Block, RuntimeApi, Executor)> + _phantom: PhantomData } -impl InternalNodeBuilder { +impl InternalNodeBuilder { pub fn new() -> Self { let ignore = [ "yamux", "multistream_select", "libp2p", "jsonrpc_client_transports", @@ -167,18 +171,13 @@ impl InternalNodeBuilder InternalNode { + pub fn start(self) -> InternalNode { InternalNode::new(self.logs, &self.cli) } } /// starts a manual seal authorship task. -pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> - where - Block: BlockT, - Executor: NativeExecutionDispatch, - RuntimeApi: frame_system::Trait + Send + Sync, -{ +pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { // Channel for the rpc handler to communicate with the authorship task. let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); @@ -187,7 +186,7 @@ pub fn build_node(config: Configuration) -> Result< backend, keystore, mut task_manager - ) = new_full_parts::(&config)?; + ) = new_full_parts::(&config)?; let client = Arc::new(client); let import_queue = manual_seal::import_queue( Box::new(client.clone()), @@ -239,7 +238,7 @@ pub fn build_node(config: Configuration) -> Result< io.extend_with( // We provide the rpc handler with the sending end of the channel to allow the rpc // send EngineCommands to the background block authorship task. - rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), + rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), ); io }), @@ -254,7 +253,8 @@ pub fn build_node(config: Configuration) -> Result< let inherent_data_providers = InherentDataProviders::new(); inherent_data_providers - .register_provider(sp_timestamp::InherentDataProvider)?; + .register_provider(sp_timestamp::InherentDataProvider) + .expect("failed to register timestamp inherent"); let select_chain = sc_consensus::LongestChain::new(backend.clone()); diff --git a/src/rpc.rs b/src/rpc.rs index c834a9f..6c894ed 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -25,8 +25,7 @@ pub trait RpcExtension { fn rpc + 'static>(&mut self) -> TClient; } -pub async fn connect_ws>(url: &str) -> Result -{ +pub async fn connect_ws>(url: &str) -> Result { let url = url::Url::parse(url).expect("URL is valid"); jsonrpc_core_client::transports::ws::connect(&url) .compat() diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 17d04d4..51071c4 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -5,38 +5,39 @@ use crate::{ }; use jsonrpc_core_client::{RpcChannel, transports::local}; use crate::test::externalities::TestExternalities; -use tokio_compat::runtime::Runtime; -pub enum BlackBoxNode { +pub enum BlackBoxNode { /// Connects to an external node. External(String), /// Spawns a pristine node. - Internal(InternalNode), + Internal(InternalNode), } /// A black box test. -pub struct BlackBox { - node: BlackBoxNode, - compat_runtime: Runtime, +pub struct BlackBox { + node: BlackBoxNode, } -impl BlackBox { - pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R where TRuntime: frame_system::Trait { - TestExternalities::::new(self.rpc()) +impl BlackBox + where + Runtime: frame_system::Trait +{ + pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { + TestExternalities::::new(self.rpc()) .execute_with(closure) } } -impl rpc::RpcExtension for BlackBox { +impl rpc::RpcExtension for BlackBox { fn rpc + 'static>(&mut self) -> TClient { let client = match self.node { BlackBoxNode::External(ref url) => { - self.compat_runtime.block_on_std( rpc::connect_ws(&url)).unwrap() + futures::executor::block_on(rpc::connect_ws(&url)).unwrap() }, - BlackBoxNode::Internal(ref node) => { + BlackBoxNode::Internal(ref mut node) => { use futures01::Future; let (client, fut) = local::connect::(node.rpc_handler()); - self.compat_runtime.spawn(fut.map_err(|_| ())); + node.tokio_runtime().spawn(fut.map_err(|_| ())); client }, @@ -46,16 +47,15 @@ impl rpc::RpcExtension for BlackBox { } -impl BlackBox { - pub fn new(node: BlackBoxNode) -> Self { - let runtime = Runtime::new().unwrap(); - Self { node, compat_runtime: runtime } +impl BlackBox { + pub fn new(node: BlackBoxNode) -> Self { + Self { node } } } -impl BlackBox { +impl BlackBox { /// Wait `number` of blocks. - pub fn wait_blocks(&self, _number: impl Into>) { + pub fn wait_blocks(&self, _number: impl Into>) { todo!() } } diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index bec340a..025ad35 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -4,34 +4,33 @@ use crate::{ }; use jsonrpc_core_client::RpcChannel; use crate::test::externalities::TestExternalities; -use tokio_compat::runtime::Runtime; use jsonrpc_core_client::transports::local; use manual_seal::rpc::ManualSealClient; use std::ops::{Deref, DerefMut}; /// A deterministic internal instance of substrate node. -pub struct Deterministic { - node: InternalNode, +pub struct Deterministic { + node: InternalNode, } -impl rpc::RpcExtension for Deterministic { +impl rpc::RpcExtension for Deterministic { fn rpc + 'static>(&mut self) -> TClient { use futures01::Future; let rpc_handler = self.node.rpc_handler(); let (client, fut) = local::connect::(rpc_handler); - self.compat_runtime.spawn(fut.map_err(|_| ())); + self.node.tokio_runtime().spawn(fut.map_err(|_| ())); client } } -impl Deterministic { - pub fn new(node: InternalNode) -> Self { +impl Deterministic { + pub fn new(node: InternalNode) -> Self { Self { node } } } -impl Deterministic { +impl Deterministic { pub fn assert_log_line(&self, module: &str, content: &str) { if let Some(logs) = self.node.logs().read().get(module) { for log in logs { @@ -46,7 +45,11 @@ impl Determinist } pub fn produce_blocks(&mut self, num: usize) { - let client = self.rpc::>(); + log::info!("produce blocks"); + + let client = self.rpc::>(); + log::info!("produce blocks"); + for _ in 0..num { self.node.tokio_runtime() .block_on(client.create_block(true, true, None)) @@ -58,7 +61,7 @@ impl Determinist pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { - TestExternalities::::new(self.rpc()) + TestExternalities::::new(self.rpc()) .execute_with(closure) } @@ -73,8 +76,6 @@ impl Deref for Deterministic { } impl DerefMut for Deterministic { - type Target = InternalNode; - fn deref_mut(&mut self) -> &mut Self::Target { &mut self.node } diff --git a/src/test/mod.rs b/src/test/mod.rs index f96ad17..e2af41f 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -2,20 +2,20 @@ pub mod blackbox; pub mod deterministic; pub mod externalities; -pub fn blackbox_external(url: &str, _runtime: TRuntime) -> blackbox::BlackBox { +pub fn blackbox_external(url: &str) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } -pub fn blackbox_internal(runtime: TRuntime) -> blackbox::BlackBox { - let node = crate::node::InternalNode::builder(runtime).start(); +pub fn blackbox_internal() -> blackbox::BlackBox { + let node = crate::node::InternalNode::::builder().start(); blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { +pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } -pub fn node(runtime: TRuntime) -> crate::node::InternalNodeBuilder { - crate::node::InternalNode::builder(runtime) +pub fn node() -> crate::node::InternalNodeBuilder { + crate::node::InternalNode::::builder() } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index b5422e2..a86100b 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -2,14 +2,15 @@ use substrate_test_runner::{test, rpc, prelude::*, subxt}; use runtime::Runtime; use futures::compat::Future01CompatExt; use substrate_subxt::{ClientBuilder, DefaultNodeRuntime, PairSigner, balances::TransferCallExt}; -use sp_core::{sr25519, crypto::Pair}; +use sp_core::crypto::Pair; use sp_runtime::{traits::IdentifyAccount, MultiSigner}; use pallet_indices::address::Address; +use sp_keyring::Sr25519Keyring; #[test] fn should_run_off_chain_worker() { let mut test = test::deterministic( - test::node(Runtime) + test::node::() // TODO [ToDr] This does not work properly, since we have a shared logger. .cli_param("-lsc_offchain=trace") // .with_sudo(Keyring::Alice) @@ -43,13 +44,13 @@ fn should_run_off_chain_worker() { #[test] fn should_read_state() { // given - let mut test = test::deterministic(Runtime.into()); + let mut test = test::deterministic(test::node::().start()); type Balances = pallet_balances::Module; test.produce_blocks(1); - let alice = sr25519::Pair::from_string("//Alice".into(), None).unwrap(); - let bob = sr25519::Pair::from_string("//Bob".into(), None).unwrap(); + let alice = Sr25519Keyring::Alice.pair(); + let bob = Sr25519Keyring::Bob.pair(); let signer = PairSigner::new(alice.clone()); let rpc_handlers = test.rpc_handler(); @@ -85,7 +86,7 @@ fn should_read_state() { #[test] fn external_black_box() { - let test = test::blackbox_external("ws://127.0.0.1:3001", Runtime); + let test = test::blackbox_external::("ws://127.0.0.1:3001"); test.wait_blocks(5_u32); } From 54c52c2aece52533b37f4bf1773dafd21c49fc97 Mon Sep 17 00:00:00 2001 From: Seun Date: Tue, 4 Aug 2020 14:31:45 +0100 Subject: [PATCH 08/16] attempt to switch to CreateSignedTransaction for dispatching extrinsics --- Cargo.lock | 91 ++++++++++++++++---------------- Cargo.toml | 4 +- runtime/Cargo.toml | 2 + runtime/src/lib.rs | 97 ++++++++++++++++++++++++++++++++-- src/node.rs | 19 +++++-- src/rpc.rs | 5 +- src/test/deterministic.rs | 56 ++++++++++++++------ src/test/externalities.rs | 106 +++++++++++++++++++++++++------------- src/test/mod.rs | 2 +- tests/simple_run.rs | 38 ++++++-------- 10 files changed, 289 insertions(+), 131 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 794d604..fa8b701 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -196,7 +196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -933,7 +933,7 @@ checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -1009,7 +1009,7 @@ checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -1075,7 +1075,7 @@ checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -1160,7 +1160,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "synstructure", ] @@ -1383,7 +1383,7 @@ dependencies = [ "frame-support-procedural-tools", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -1395,7 +1395,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -1405,7 +1405,7 @@ source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate- dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -1587,7 +1587,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -2135,7 +2135,7 @@ checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -2277,7 +2277,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -2394,7 +2394,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -2597,7 +2597,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f753d9324cd3ec14bf04b8a8cd0d269c87f294153d6bf2a84497a63a5ad22213" dependencies = [ "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -4026,7 +4026,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -4205,7 +4205,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -4256,7 +4256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.36", + "syn 1.0.37", "synstructure", ] @@ -4402,7 +4402,7 @@ checksum = "2c0e815c3ee9a031fdf5af21c10aa17c573c9c6a566328d99e3936c34e36461f" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -4484,7 +4484,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "version_check 0.9.2", ] @@ -4600,7 +4600,7 @@ dependencies = [ "itertools 0.8.2", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -4946,7 +4946,7 @@ checksum = "7d21b475ab879ef0e315ad99067fa25778c3b0377f57f1b00207448dac1a3144" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -5017,7 +5017,7 @@ checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -5268,7 +5268,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6153,7 +6153,7 @@ checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6265,7 +6265,7 @@ checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6404,7 +6404,7 @@ checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6560,7 +6560,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6573,7 +6573,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6950,7 +6950,7 @@ source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate- dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -6961,7 +6961,7 @@ checksum = "db388274224f88d94a0d2646353c690d6871d25f819c5da84fbc2d427fbb16a9" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -7112,7 +7112,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -7248,7 +7248,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -7261,7 +7261,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -7628,7 +7628,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -7649,7 +7649,7 @@ dependencies = [ "heck", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -7761,7 +7761,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "synstructure", ] @@ -7792,6 +7792,7 @@ dependencies = [ "sc-consensus", "sc-consensus-manual-seal", "sc-executor", + "sc-keystore", "sc-rpc", "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sc-service", @@ -7867,9 +7868,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cdb98bcb1f9d81d07b536179c269ea15999b5d14ea958196413869445bb5250" +checksum = "239f255b9e3429350f188c27b807fc9920a15eb9145230ff1a7d054c08fec319" dependencies = [ "proc-macro2", "quote 1.0.7", @@ -7893,7 +7894,7 @@ checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "unicode-xid 0.2.1", ] @@ -7955,6 +7956,7 @@ dependencies = [ "frame-support", "frame-system", "pallet-balances", + "pallet-indices", "pallet-randomness-collective-flip", "pallet-sudo", "pallet-timestamp", @@ -7962,6 +7964,7 @@ dependencies = [ "parity-scale-codec", "serde", "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-consensus-aura", "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -8002,7 +8005,7 @@ checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -8212,7 +8215,7 @@ checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -8425,7 +8428,7 @@ checksum = "f0693bf8d6f2bf22c690fc61a9d21ac69efdbb894a17ed596b9af0f01e64b84b" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", ] [[package]] @@ -8704,7 +8707,7 @@ dependencies = [ "log 0.4.11", "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "wasm-bindgen-shared", ] @@ -8738,7 +8741,7 @@ checksum = "841a6d1c35c6f596ccea1f82504a192a60378f64b3bb0261904ad8f2f5657556" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9168,7 +9171,7 @@ checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.36", + "syn 1.0.37", "synstructure", ] diff --git a/Cargo.toml b/Cargo.toml index 0449025..a2ab6f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,6 +22,7 @@ sc-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "seun-s sc-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-keystore = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } @@ -44,6 +45,7 @@ futures = { package = "futures", version = "0.3", features = ["compat"] } rand = "0.7" parking_lot = "0.10" tokio = { version = "0.2", features = ["full"] } +sp-keyring = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } # Calling RPC jsonrpc-core-client = { version = "14.2", features = ["ws"] } @@ -57,5 +59,3 @@ primitive-types = "0.7" sp-externalities = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-storage = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } -[dev-dependencies] -sp-keyring = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 54c58b1..96ea6d3 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -15,6 +15,7 @@ codec = { package = "parity-scale-codec", version = "1.3.1", default-features = serde = { version = "1.0.101", optional = true, features = ["derive"] } balances = { default-features = false, package = "pallet-balances", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +indices = { default-features = false, package = "pallet-indices", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } frame-support = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } randomness-collective-flip = { default-features = false, package = "pallet-randomness-collective-flip", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sudo = { default-features = false, package = "pallet-sudo", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } @@ -34,6 +35,7 @@ sp-session = { default-features = false, git = "https://github.com/paritytech/su sp-std = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-version = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } [build-dependencies] wasm-builder-runner = { version = "1.0.5", package = "substrate-wasm-builder-runner", git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index ba47e4c..08166b0 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -11,16 +11,20 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); use sp_std::prelude::*; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; use sp_runtime::{ + traits, ApplyExtrinsicResult, generic, create_runtime_str, impl_opaque_keys, MultiSignature, transaction_validity::{TransactionValidity, TransactionSource}, }; use sp_runtime::traits::{ - BlakeTwo256, Block as BlockT, IdentityLookup, Verify, IdentifyAccount, Saturating, + BlakeTwo256, Block as BlockT, StaticLookup, Verify, IdentifyAccount, Saturating, }; +use frame_support::debug; use sp_api::impl_runtime_apis; use sp_version::RuntimeVersion; #[cfg(feature = "std")] use sp_version::NativeVersion; +use codec::Encode; +use sp_runtime::SaturatedConversion; // A few exports that help ease life for downstream crates. #[cfg(any(feature = "std", test))] @@ -134,7 +138,7 @@ impl system::Trait for Runtime { /// The aggregated dispatch type that is available for extrinsics. type Call = Call; /// The lookup mechanism to get account ID from whatever is passed in dispatchers. - type Lookup = IdentityLookup; + type Lookup = Indices; /// The index type for storing how many extrinsics an account has signed. type Index = Index; /// The index type for blocks. @@ -185,6 +189,22 @@ impl system::Trait for Runtime { type SystemWeightInfo = (); } +parameter_types! { + pub const IndexDeposit: Balance = 1 * DOLLARS; +} + +pub const MILLICENTS: Balance = 1_000_000_000; +pub const CENTS: Balance = 1_000 * MILLICENTS; +pub const DOLLARS: Balance = 100 * CENTS; + +impl indices::Trait for Runtime { + type AccountIndex = AccountIndex; + type Currency = Balances; + type Deposit = IndexDeposit; + type Event = Event; + type WeightInfo = (); +} + parameter_types! { pub const MinimumPeriod: u64 = SLOT_DURATION / 2; @@ -242,13 +262,82 @@ construct_runtime!( RandomnessCollectiveFlip: randomness_collective_flip::{Module, Call, Storage}, Timestamp: timestamp::{Module, Call, Storage, Inherent}, Balances: balances::{Module, Call, Storage, Config, Event}, + Indices: indices::{Module, Call, Storage, Config, Event}, TransactionPayment: transaction_payment::{Module, Storage}, Sudo: sudo::{Module, Call, Config, Storage, Event}, } ); +impl system::offchain::SigningTypes for Runtime { + type Public = ::Signer; + type Signature = MultiSignature; +} + +use sp_runtime::MultiSigner; +use sp_application_crypto::sr25519; + +pub struct RuntimeKeyType; + +impl system::offchain::AppCrypto for RuntimeKeyType { + type RuntimeAppPublic = sr25519::AppPublic; + type GenericSignature = sp_core::sr25519::Signature; + type GenericPublic = sp_core::sr25519::Public; +} + +impl system::offchain::SendTransactionTypes for Runtime + where + Call: From, +{ + type Extrinsic = UncheckedExtrinsic; + type OverarchingCall = Call; +} + +impl system::offchain::CreateSignedTransaction for Runtime + where + Call: From, +{ + fn create_transaction>( + call: Call, + public: ::Signer, + account: AccountId, + nonce: Index, + ) -> Option<(Call, ::SignaturePayload)> { + // take the biggest period possible. + let period = BlockHashCount::get() + .checked_next_power_of_two() + .map(|c| c / 2) + .unwrap_or(2) as u64; + let current_block = System::block_number() + .saturated_into::() + // The `System::block_number` is initialized with `n+1`, + // so the actual block number is `n`. + .saturating_sub(1); + let tip = 0; + let extra: SignedExtra = ( + system::CheckSpecVersion::::new(), + system::CheckTxVersion::::new(), + system::CheckGenesis::::new(), + system::CheckEra::::from(generic::Era::mortal(period, current_block)), + system::CheckNonce::::from(nonce), + system::CheckWeight::::new(), + transaction_payment::ChargeTransactionPayment::::from(tip), + ); + let raw_payload = SignedPayload::new(call, extra) + .map_err(|e| { + debug::warn!("Unable to create signed payload: {:?}", e); + }) + .ok()?; + let signature = raw_payload.using_encoded(|payload| { + C::sign(payload, public) + })?; + let address = Indices::unlookup(account); + let (call, extra, _) = raw_payload.deconstruct(); + Some((call, (address, signature.into(), extra))) + } +} + /// The address format for describing accounts. -pub type Address = AccountId; +pub type Address = ::Source; /// Block header type as expected by this runtime. pub type Header = generic::Header; /// Block type as expected by this runtime. @@ -273,6 +362,8 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive, Runtime, AllModules>; +/// Signed payload type +pub type SignedPayload = generic::SignedPayload; impl_runtime_apis! { impl sp_api::Core for Runtime { diff --git a/src/node.rs b/src/node.rs index ff764f0..4f5b5ac 100644 --- a/src/node.rs +++ b/src/node.rs @@ -13,6 +13,8 @@ use jsonrpc_core::MetaIoHandler; use futures::FutureExt; use std::marker::PhantomData; use sc_executor::native_executor_instance; +use jsonrpc_core_client::transports::local; +use jsonrpc_core_client::RpcChannel; // Our native executor instance. native_executor_instance!( @@ -34,7 +36,7 @@ pub struct InternalNode { rpc_handlers: Arc>, /// tokio-compat runtime - tokio_runtime: tokio_compat::runtime::Runtime, + compat_runtime: tokio_compat::runtime::Runtime, _runtime: tokio::runtime::Runtime, @@ -74,7 +76,7 @@ impl InternalNode { Self { logs, _task_manager: Some(task_manager), - tokio_runtime: tokio_runtime, + compat_runtime: tokio_runtime, _runtime: newer_runtime, rpc_handlers: rpc_handlers.io_handler(), _phantom: PhantomData, @@ -84,9 +86,20 @@ impl InternalNode { pub fn rpc_handler(&self) -> Arc> { self.rpc_handlers.clone() } + + pub fn rpc_client(&self) -> C + where + C: From + 'static, + { + use futures01::Future; + let rpc_handler = self.rpc_handlers.clone(); + let (client, fut) = local::connect::(rpc_handler); + self.compat_runtime.spawn(fut.map_err(|_| ())); + client + } pub fn tokio_runtime(&mut self) -> &mut tokio_compat::runtime::Runtime { - &mut self.tokio_runtime + &mut self.compat_runtime } pub(crate) fn logs(&self) -> &Logger { diff --git a/src/rpc.rs b/src/rpc.rs index 6c894ed..d29d80a 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -13,10 +13,9 @@ pub type ChainClient = sc_rpc_api::chain::ChainClient< types::SignedBlock, >; -pub type StateClient = sc_rpc_api::state::StateClient< - types::BlockHash, ->; +pub type StateClient = sc_rpc_api::state::StateClient,>; +pub type AuthorClient = sc_rpc_api::author::AuthorClient, types::BlockHash>; pub trait RpcExtension { fn raw_rpc(&mut self) -> RawClient { self.rpc() diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 025ad35..359b9d5 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -3,30 +3,52 @@ use crate::{ rpc::{self, RpcExtension}, }; use jsonrpc_core_client::RpcChannel; -use crate::test::externalities::TestExternalities; -use jsonrpc_core_client::transports::local; +use crate::test::externalities::{TestExternalities, TxPoolExtApi}; use manual_seal::rpc::ManualSealClient; use std::ops::{Deref, DerefMut}; +use sp_core::{ + traits::KeystoreExt, + offchain::TransactionPoolExt, + testing::{KeyStore, SR25519}, +}; +use sp_externalities::{Externalities, ExternalitiesExt}; +use sp_keyring::sr25519::Keyring; /// A deterministic internal instance of substrate node. -pub struct Deterministic { - node: InternalNode, +pub struct Deterministic { + node: InternalNode, + externalities: TestExternalities } -impl rpc::RpcExtension for Deterministic { +impl rpc::RpcExtension for Deterministic { fn rpc + 'static>(&mut self) -> TClient { - use futures01::Future; - let rpc_handler = self.node.rpc_handler(); - let (client, fut) = local::connect::(rpc_handler); - self.node.tokio_runtime().spawn(fut.map_err(|_| ())); - - client + self.node.rpc_client() } } -impl Deterministic { +impl Deterministic { pub fn new(node: InternalNode) -> Self { - Self { node } + let mut externalities = TestExternalities::::new(node.rpc_client()); + + (&mut externalities as &mut dyn Externalities) + .register_extension(TransactionPoolExt::new(TxPoolExtApi::::new(node.rpc_client()))) + .expect("Failed to transaction register"); + + let keystore = KeyStore::new(); + + // here we load all the test keys (which have initial ballances) + // in the keyring into the keystore + for key in Keyring::iter() { + keystore.write() + .sr25519_generate_new(SR25519, Some(&format!("//{}", key))) + .expect("failed to add key to keystore: "); + } + + (&mut externalities as &mut dyn Externalities) + .register_extension(KeystoreExt(keystore)) + .expect("Failed to transaction register"); + + Self { node, externalities } } } @@ -60,14 +82,14 @@ impl Deterministic { } + /// Execute closure in an externalities provided environment. pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { - TestExternalities::::new(self.rpc()) - .execute_with(closure) + self.externalities.execute_with(closure) } } -impl Deref for Deterministic { +impl Deref for Deterministic { type Target = InternalNode; fn deref(&self) -> &Self::Target { @@ -75,7 +97,7 @@ impl Deref for Deterministic { } } -impl DerefMut for Deterministic { +impl DerefMut for Deterministic { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.node } diff --git a/src/test/externalities.rs b/src/test/externalities.rs index d91effb..db7dbce 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -1,16 +1,39 @@ use crate::rpc; use std::any::{TypeId, Any}; -use sp_externalities::{Extension, Error}; use sp_storage::{ChildInfo, StorageKey}; use futures01::Future; +use sp_externalities::Extensions; +use sp_core::offchain::TransactionPool; pub struct TestExternalities { - client: rpc::StateClient, + client: rpc::StateClient, + extensions: Extensions, +} + +pub struct TxPoolExtApi { + client: rpc::AuthorClient +} + +impl TransactionPool for TxPoolExtApi { + fn submit_transaction(&mut self, extrinsic: Vec) -> Result<(), ()> { + match self.client.submit_extrinsic(extrinsic.into()).wait() { + Ok(hash) => log::info!("extrinsic successfully submitted with hash {:?}", hash), + Err(err) => log::error!("error submitting extrinsic {:?}", err) + }; + Ok(()) + } +} + + +impl TxPoolExtApi { + pub fn new(client: rpc::AuthorClient) -> Self { + Self { client } + } } impl TestExternalities { pub fn new(client: rpc::StateClient) -> Self { - Self { client } + Self { client, extensions: Extensions::new() } } pub fn execute_with(&mut self, execute: impl FnOnce() -> R) -> R { @@ -18,24 +41,31 @@ impl TestExternalities { } } -// TODO [ToDr] Most likely the implementation is not really relevant, but we still need the trait. + impl sp_externalities::ExtensionStore for TestExternalities { - fn extension_by_type_id(&mut self, _type_id: TypeId) -> Option<&mut dyn Any> { - todo!() - } + fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any> { + self.extensions.get_mut(type_id) + } - fn register_extension_with_type_id(&mut self, _type_id: TypeId, _extension: Box) -> Result<(), Error> { - todo!() - } + fn register_extension_with_type_id( + &mut self, + type_id: TypeId, + extension: Box, + ) -> Result<(), sp_externalities::Error> { + self.extensions.register_with_type_id(type_id, extension) + } - fn deregister_extension_by_type_id(&mut self, _type_id: TypeId) -> Result<(), Error> { - todo!() - } + fn deregister_extension_by_type_id(&mut self, type_id: TypeId) -> Result<(), sp_externalities::Error> { + self.extensions + .deregister(type_id) + .ok_or(sp_externalities::Error::ExtensionIsNotRegistered(type_id)) + .map(drop) + } } impl sp_externalities::Externalities for TestExternalities { - fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { todo!() } + fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { unimplemented!("set_offchain_storage") } fn storage(&self, key: &[u8]) -> Option> { // this is pretty weird, but stay with me. @@ -49,41 +79,41 @@ impl sp_externalities::Externalities for TestExter .map(|data| data.0) } - fn storage_hash(&self, _key: &[u8]) -> Option> { todo!() } + fn storage_hash(&self, _key: &[u8]) -> Option> { unimplemented!("storage_hash") } fn child_storage_hash( &self, _child_info: &ChildInfo, _key: &[u8], - ) -> Option> { todo!() } + ) -> Option> { unimplemented!("child_storage_hash") } fn child_storage( &self, _child_info: &ChildInfo, _key: &[u8], - ) -> Option> { todo!() } + ) -> Option> { unimplemented!("child_storage") } - fn next_storage_key(&self, _key: &[u8]) -> Option> { todo!() } + fn next_storage_key(&self, _key: &[u8]) -> Option> { unimplemented!("next_storage_key") } fn next_child_storage_key( &self, _child_info: &ChildInfo, _key: &[u8], - ) -> Option> { todo!() } + ) -> Option> { unimplemented!("next_child_storage_key") } - fn kill_child_storage(&mut self, _child_info: &ChildInfo) { todo!() } + fn kill_child_storage(&mut self, _child_info: &ChildInfo) { unimplemented!("kill_child_storage") } - fn clear_prefix(&mut self, _prefix: &[u8]) { todo!() } + fn clear_prefix(&mut self, _prefix: &[u8]) { unimplemented!("clear_prefix") } fn clear_child_prefix( &mut self, _child_info: &ChildInfo, _prefix: &[u8], - ) { todo!() } + ) { unimplemented!("clear_child_prefix") } fn place_storage(&mut self, _key: Vec, _value: Option>) { // Create a sudo transaction that alters storage on-chain. - todo!() + unimplemented!("place_storage") } fn place_child_storage( @@ -91,50 +121,52 @@ impl sp_externalities::Externalities for TestExter _child_info: &ChildInfo, _key: Vec, _value: Option>, - ) { todo!() } + ) { unimplemented!("place_child_storage") } - fn chain_id(&self) -> u64 { todo!() } + fn chain_id(&self) -> u64 { unimplemented!("chain_id") } - fn storage_root(&mut self) -> Vec { todo!() } + fn storage_root(&mut self) -> Vec { unimplemented!("storage_root") } fn child_storage_root( &mut self, _child_info: &ChildInfo, - ) -> Vec { todo!() } + ) -> Vec { unimplemented!("child_storage_root") } fn storage_append( &mut self, _key: Vec, _value: Vec, - ) { todo!() } + ) { unimplemented!("storage_append") } - fn storage_changes_root(&mut self, _parent: &[u8]) -> Result>, ()> { todo!() } + fn storage_changes_root(&mut self, _parent: &[u8]) -> Result>, ()> { + unimplemented!("storage_changes_root") + } fn storage_start_transaction(&mut self) { - todo!() + unimplemented!("storage_start_transaction") } fn storage_rollback_transaction(&mut self) -> Result<(), ()> { - todo!() + unimplemented!("storage_rollback_transaction") } fn storage_commit_transaction(&mut self) -> Result<(), ()> { - todo!() + unimplemented!("storage_commit_transaction") } - fn wipe(&mut self) { todo!() } + fn wipe(&mut self) { unimplemented!("wipe") } - fn commit(&mut self) { todo!() } + fn commit(&mut self) { unimplemented!("commit") } fn read_write_count(&self) -> (u32, u32, u32, u32) { - todo!() + unimplemented!("read_write_count") } fn reset_read_write_count(&mut self) { - todo!() + unimplemented!("reset_read_write_count") } fn set_whitelist(&mut self, _: Vec>) { - todo!() + unimplemented!("set_whitelist") } } diff --git a/src/test/mod.rs b/src/test/mod.rs index e2af41f..51cf23b 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -11,7 +11,7 @@ pub fn blackbox_internal() -> blackbox::BlackBox blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { +pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index a86100b..7c89964 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,12 +1,13 @@ use substrate_test_runner::{test, rpc, prelude::*, subxt}; -use runtime::Runtime; +use runtime::{Runtime, RuntimeKeyType}; use futures::compat::Future01CompatExt; use substrate_subxt::{ClientBuilder, DefaultNodeRuntime, PairSigner, balances::TransferCallExt}; use sp_core::crypto::Pair; use sp_runtime::{traits::IdentifyAccount, MultiSigner}; use pallet_indices::address::Address; use sp_keyring::Sr25519Keyring; - +use frame_system::offchain::{SendSignedTransaction, Signer}; +use pallet_balances::Call as BalancesCall; #[test] fn should_run_off_chain_worker() { let mut test = test::deterministic( @@ -47,32 +48,27 @@ fn should_read_state() { let mut test = test::deterministic(test::node::().start()); type Balances = pallet_balances::Module; - test.produce_blocks(1); + // test.produce_blocks(1); let alice = Sr25519Keyring::Alice.pair(); let bob = Sr25519Keyring::Bob.pair(); - let signer = PairSigner::new(alice.clone()); - let rpc_handlers = test.rpc_handler(); - + let signer = Signer::::all_accounts() + // only use alice' account. + .with_filter(vec![alice.public().into()]); + let alice_balance = test.with_state(|| { Balances::free_balance(MultiSigner::from(alice.public()).into_account()) - }); + }); - test.tokio_runtime() - .block_on_std(async { - let client = ClientBuilder::::new() - .set_client( subxt::SubxtClient::new(rpc_handlers)) - .build() - .await - .unwrap(); - - client - .transfer(&signer, &Address::from(MultiSigner::from(bob.public()).into_account()), 8900000000000000) - .await - .expect("failed to transfer funds"); - - }); + let result = test.with_state(|| { + signer.send_signed_transaction(|_| { + BalancesCall::transfer(Address::from(MultiSigner::from(bob.public()).into_account()), 8900000000000000) + }) + }); + + log::info!("ext result: {:#?}", result); + test.produce_blocks(1); From bd67b87256c0d397f80df2b2fab8f02f4552a468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Tue, 4 Aug 2020 18:21:45 +0200 Subject: [PATCH 09/16] Add .editorconfig. --- .editorconfig | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2b40ec3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,22 @@ +root = true +[*] +indent_style=tab +indent_size=tab +tab_width=4 +end_of_line=lf +charset=utf-8 +trim_trailing_whitespace=true +max_line_length=100 +insert_final_newline=true + +[*.yml] +indent_style=space +indent_size=2 +tab_width=8 +end_of_line=lf + +[*.sh] +indent_style=space +indent_size=2 +tab_width=8 +end_of_line=lf From 8939fd75851aa654444469cf7fbb37e2195da72a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Tue, 4 Aug 2020 18:22:19 +0200 Subject: [PATCH 10/16] Add rustfmt. --- rustfmt.toml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 rustfmt.toml diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..8ded863 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,3 @@ +hard_tabs = true +max_width = 120 +edition = "2018" From df8874cb3dd2b1e02c1435a002dd3515cd6d2bdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Tue, 4 Aug 2020 18:22:36 +0200 Subject: [PATCH 11/16] cargo fmt --- runtime/src/lib.rs | 257 ++++++++++++------------ src/lib.rs | 6 +- src/node.rs | 399 +++++++++++++++++++------------------- src/rpc.rs | 26 +-- src/subxt.rs | 17 +- src/test/blackbox.rs | 70 ++++--- src/test/deterministic.rs | 85 ++++---- src/test/externalities.rs | 131 +++++++------ src/test/mod.rs | 15 +- tests/simple_run.rs | 107 +++++----- 10 files changed, 542 insertions(+), 571 deletions(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 08166b0..9283e19 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -2,45 +2,43 @@ #![cfg_attr(not(feature = "std"), no_std)] // `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit="256"] +#![recursion_limit = "256"] // Make the WASM binary available. #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); -use sp_std::prelude::*; +use codec::Encode; +use frame_support::debug; +use sp_api::impl_runtime_apis; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_runtime::traits::{BlakeTwo256, Block as BlockT, IdentifyAccount, Saturating, StaticLookup, Verify}; +use sp_runtime::SaturatedConversion; use sp_runtime::{ - traits, - ApplyExtrinsicResult, generic, create_runtime_str, impl_opaque_keys, MultiSignature, - transaction_validity::{TransactionValidity, TransactionSource}, -}; -use sp_runtime::traits::{ - BlakeTwo256, Block as BlockT, StaticLookup, Verify, IdentifyAccount, Saturating, + create_runtime_str, generic, impl_opaque_keys, traits, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, MultiSignature, }; -use frame_support::debug; -use sp_api::impl_runtime_apis; -use sp_version::RuntimeVersion; +use sp_std::prelude::*; #[cfg(feature = "std")] use sp_version::NativeVersion; -use codec::Encode; -use sp_runtime::SaturatedConversion; +use sp_version::RuntimeVersion; // A few exports that help ease life for downstream crates. -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -pub use timestamp::Call as TimestampCall; pub use balances::Call as BalancesCall; -pub use sp_runtime::{Permill, Perbill}; pub use frame_support::{ - construct_runtime, parameter_types, StorageValue, - traits::{KeyOwnerProofSystem, Randomness}, - weights::{ - Weight, IdentityFee, - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - }, + construct_runtime, parameter_types, + traits::{KeyOwnerProofSystem, Randomness}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + IdentityFee, Weight, + }, + StorageValue, }; - +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +pub use sp_runtime::{Perbill, Permill}; +pub use timestamp::Call as TimestampCall; /// An index to a block. pub type BlockNumber = u32; @@ -73,31 +71,31 @@ pub type DigestItem = generic::DigestItem; /// of data like extrinsics, allowing for them to continue syncing the network through upgrades /// to even the core data structures. pub mod opaque { - use super::*; + use super::*; - pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; + pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; - /// Opaque block header type. - pub type Header = generic::Header; - /// Opaque block type. - pub type Block = generic::Block; - /// Opaque block identifier type. - pub type BlockId = generic::BlockId; + /// Opaque block header type. + pub type Header = generic::Header; + /// Opaque block type. + pub type Block = generic::Block; + /// Opaque block identifier type. + pub type BlockId = generic::BlockId; - impl_opaque_keys! { + impl_opaque_keys! { pub struct SessionKeys {} } } /// This runtime version. pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("node-template"), - impl_name: create_runtime_str!("node-template"), - authoring_version: 1, - spec_version: 1, - impl_version: 1, - apis: RUNTIME_API_VERSIONS, - transaction_version: 1, + spec_name: create_runtime_str!("node-template"), + impl_name: create_runtime_str!("node-template"), + authoring_version: 1, + spec_version: 1, + impl_version: 1, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, }; pub const MILLISECS_PER_BLOCK: u64 = 6000; @@ -112,10 +110,10 @@ pub const DAYS: BlockNumber = HOURS * 24; /// The version information used to identify this runtime when compiled natively. #[cfg(feature = "std")] pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } + NativeVersion { + runtime_version: VERSION, + can_author_with: Default::default(), + } } parameter_types! { @@ -131,62 +129,62 @@ parameter_types! { } impl system::Trait for Runtime { - /// The basic call filter to use in dispatchable. - type BaseCallFilter = (); - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; - /// The lookup mechanism to get account ID from whatever is passed in dispatchers. - type Lookup = Indices; - /// The index type for storing how many extrinsics an account has signed. - type Index = Index; - /// The index type for blocks. - type BlockNumber = BlockNumber; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The header type. - type Header = generic::Header; - /// The ubiquitous event type. - type Event = Event; - /// The ubiquitous origin type. - type Origin = Origin; - /// Maximum number of block number to block hash mappings to keep (oldest pruned first). - type BlockHashCount = BlockHashCount; - /// Maximum weight of each block. - type MaximumBlockWeight = MaximumBlockWeight; - /// The weight of database operations that the runtime can invoke. - type DbWeight = RocksDbWeight; - /// The weight of the overhead invoked on the block import process, independent of the + /// The basic call filter to use in dispatchable. + type BaseCallFilter = (); + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + /// The lookup mechanism to get account ID from whatever is passed in dispatchers. + type Lookup = Indices; + /// The index type for storing how many extrinsics an account has signed. + type Index = Index; + /// The index type for blocks. + type BlockNumber = BlockNumber; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The hashing algorithm used. + type Hashing = BlakeTwo256; + /// The header type. + type Header = generic::Header; + /// The ubiquitous event type. + type Event = Event; + /// The ubiquitous origin type. + type Origin = Origin; + /// Maximum number of block number to block hash mappings to keep (oldest pruned first). + type BlockHashCount = BlockHashCount; + /// Maximum weight of each block. + type MaximumBlockWeight = MaximumBlockWeight; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// The weight of the overhead invoked on the block import process, independent of the /// extrinsics included in that block. - type BlockExecutionWeight = BlockExecutionWeight; - /// The base weight of any extrinsic processed by the runtime, independent of the + type BlockExecutionWeight = BlockExecutionWeight; + /// The base weight of any extrinsic processed by the runtime, independent of the /// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...) - type ExtrinsicBaseWeight = ExtrinsicBaseWeight; - /// The maximum weight that a single extrinsic of `Normal` dispatch class can have, + type ExtrinsicBaseWeight = ExtrinsicBaseWeight; + /// The maximum weight that a single extrinsic of `Normal` dispatch class can have, /// idependent of the logic of that extrinsics. (Roughly max block weight - average on /// initialize cost). - type MaximumExtrinsicWeight = MaximumExtrinsicWeight; - /// Maximum size of all encoded transactions (in bytes) that are allowed in one block. - type MaximumBlockLength = MaximumBlockLength; - /// Portion of the block weight that is available to all normal transactions. - type AvailableBlockRatio = AvailableBlockRatio; - /// Version of the runtime. - type Version = Version; - /// Converts a module to the index of the module in `construct_runtime!`. + type MaximumExtrinsicWeight = MaximumExtrinsicWeight; + /// Maximum size of all encoded transactions (in bytes) that are allowed in one block. + type MaximumBlockLength = MaximumBlockLength; + /// Portion of the block weight that is available to all normal transactions. + type AvailableBlockRatio = AvailableBlockRatio; + /// Version of the runtime. + type Version = Version; + /// Converts a module to the index of the module in `construct_runtime!`. /// /// This type is being generated by `construct_runtime!`. - type ModuleToIndex = ModuleToIndex; - /// What to do if a new account is created. - type OnNewAccount = (); - /// What to do if an account is fully reaped from the system. - type OnKilledAccount = (); - /// The data to be stored in an account. - type AccountData = balances::AccountData; - - type SystemWeightInfo = (); + type ModuleToIndex = ModuleToIndex; + /// What to do if a new account is created. + type OnNewAccount = (); + /// What to do if an account is fully reaped from the system. + type OnKilledAccount = (); + /// The data to be stored in an account. + type AccountData = balances::AccountData; + + type SystemWeightInfo = (); } parameter_types! { @@ -205,18 +203,17 @@ impl indices::Trait for Runtime { type WeightInfo = (); } - parameter_types! { pub const MinimumPeriod: u64 = SLOT_DURATION / 2; } impl timestamp::Trait for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = MinimumPeriod; - type WeightInfo = (); + type WeightInfo = (); } parameter_types! { @@ -224,15 +221,15 @@ parameter_types! { } impl balances::Trait for Runtime { - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type Event = Event; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - - type WeightInfo = (); + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type Event = Event; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + + type WeightInfo = (); } parameter_types! { @@ -240,16 +237,16 @@ parameter_types! { } impl transaction_payment::Trait for Runtime { - type Currency = balances::Module; - type OnTransactionPayment = (); - type TransactionByteFee = TransactionByteFee; - type WeightToFee = IdentityFee; - type FeeMultiplierUpdate = (); + type Currency = balances::Module; + type OnTransactionPayment = (); + type TransactionByteFee = TransactionByteFee; + type WeightToFee = IdentityFee; + type FeeMultiplierUpdate = (); } impl sudo::Trait for Runtime { - type Event = Event; - type Call = Call; + type Event = Event; + type Call = Call; } construct_runtime!( @@ -273,8 +270,8 @@ impl system::offchain::SigningTypes for Runtime { type Signature = MultiSignature; } -use sp_runtime::MultiSigner; use sp_application_crypto::sr25519; +use sp_runtime::MultiSigner; pub struct RuntimeKeyType; @@ -285,16 +282,16 @@ impl system::offchain::AppCrypto for RuntimeKeyType } impl system::offchain::SendTransactionTypes for Runtime - where - Call: From, +where + Call: From, { type Extrinsic = UncheckedExtrinsic; type OverarchingCall = Call; } impl system::offchain::CreateSignedTransaction for Runtime - where - Call: From, +where + Call: From, { fn create_transaction>( call: Call, @@ -327,9 +324,7 @@ impl system::offchain::CreateSignedTransaction for Runtime debug::warn!("Unable to create signed payload: {:?}", e); }) .ok()?; - let signature = raw_payload.using_encoded(|payload| { - C::sign(payload, public) - })?; + let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?; let address = Indices::unlookup(account); let (call, extra, _) = raw_payload.deconstruct(); Some((call, (address, signature.into(), extra))) @@ -348,13 +343,13 @@ pub type SignedBlock = generic::SignedBlock; pub type BlockId = generic::BlockId; /// The SignedExtension to the basic transaction logic. pub type SignedExtra = ( - system::CheckSpecVersion, - system::CheckTxVersion, - system::CheckGenesis, - system::CheckEra, - system::CheckNonce, - system::CheckWeight, - transaction_payment::ChargeTransactionPayment + system::CheckSpecVersion, + system::CheckTxVersion, + system::CheckGenesis, + system::CheckEra, + system::CheckNonce, + system::CheckWeight, + transaction_payment::ChargeTransactionPayment, ); /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; diff --git a/src/lib.rs b/src/lib.rs index f9d8a88..5c7b5c7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,10 +1,10 @@ -pub mod subxt; pub mod node; pub mod rpc; +pub mod subxt; pub mod test; pub mod types; pub mod prelude { - pub use super::test::*; - pub use super::rpc::RpcExtension; + pub use super::rpc::RpcExtension; + pub use super::test::*; } diff --git a/src/node.rs b/src/node.rs index 4f5b5ac..6dd025e 100644 --- a/src/node.rs +++ b/src/node.rs @@ -1,20 +1,19 @@ -use std::io::Write; -use std::sync::Arc; +use futures::FutureExt; +use jsonrpc_core::MetaIoHandler; +use jsonrpc_core_client::transports::local; +use jsonrpc_core_client::RpcChannel; use parking_lot::RwLock; +use sc_cli::{build_runtime, SubstrateCli}; +use sc_executor::native_executor_instance; use sc_service::{ - new_full_parts, spawn_tasks, build_network, - Configuration, TaskManager, RpcHandlers, TaskType, - BuildNetworkParams, SpawnTasksParams, TaskExecutor, + build_network, new_full_parts, spawn_tasks, BuildNetworkParams, Configuration, RpcHandlers, SpawnTasksParams, + TaskExecutor, TaskManager, TaskType, }; use sc_transaction_pool::BasicPool; use sp_inherents::InherentDataProviders; -use sc_cli::{SubstrateCli, build_runtime}; -use jsonrpc_core::MetaIoHandler; -use futures::FutureExt; +use std::io::Write; use std::marker::PhantomData; -use sc_executor::native_executor_instance; -use jsonrpc_core_client::transports::local; -use jsonrpc_core_client::RpcChannel; +use std::sync::Arc; // Our native executor instance. native_executor_instance!( @@ -42,49 +41,45 @@ pub struct InternalNode { /// handle to the running node. _task_manager: Option, - - _phantom: PhantomData + + _phantom: PhantomData, } impl InternalNode { - pub fn builder() -> InternalNodeBuilder { - InternalNodeBuilder::new() - } + pub fn builder() -> InternalNodeBuilder { + InternalNodeBuilder::new() + } pub fn new(logs: Logger, cli: &[String]) -> Self { - let cli = node_cli::Cli::from_iter(cli.iter()); - let tokio_runtime = tokio_compat::runtime::Runtime::new().unwrap(); + let cli = node_cli::Cli::from_iter(cli.iter()); + let tokio_runtime = tokio_compat::runtime::Runtime::new().unwrap(); let newer_runtime = build_runtime().unwrap(); let runtime_handle = newer_runtime.handle().clone(); - let task_executor = move |fut, task_type| { - match task_type { - TaskType::Async => runtime_handle.spawn(fut).map(drop), - TaskType::Blocking => { - runtime_handle - .spawn_blocking(move || futures::executor::block_on(fut)) - .map(drop) - } - } - }; - - let config = cli - .create_configuration(&cli.run, TaskExecutor::from(task_executor)) - .expect("failed to create node config"); - let (task_manager, rpc_handlers) = build_node(config).unwrap(); - - Self { - logs, - _task_manager: Some(task_manager), + let task_executor = move |fut, task_type| match task_type { + TaskType::Async => runtime_handle.spawn(fut).map(drop), + TaskType::Blocking => runtime_handle + .spawn_blocking(move || futures::executor::block_on(fut)) + .map(drop), + }; + + let config = cli + .create_configuration(&cli.run, TaskExecutor::from(task_executor)) + .expect("failed to create node config"); + let (task_manager, rpc_handlers) = build_node(config).unwrap(); + + Self { + logs, + _task_manager: Some(task_manager), compat_runtime: tokio_runtime, _runtime: newer_runtime, rpc_handlers: rpc_handlers.io_handler(), _phantom: PhantomData, - } - } + } + } - pub fn rpc_handler(&self) -> Arc> { - self.rpc_handlers.clone() + pub fn rpc_handler(&self) -> Arc> { + self.rpc_handlers.clone() } pub fn rpc_client(&self) -> C @@ -92,200 +87,196 @@ impl InternalNode { C: From + 'static, { use futures01::Future; - let rpc_handler = self.rpc_handlers.clone(); - let (client, fut) = local::connect::(rpc_handler); - self.compat_runtime.spawn(fut.map_err(|_| ())); - client + let rpc_handler = self.rpc_handlers.clone(); + let (client, fut) = local::connect::(rpc_handler); + self.compat_runtime.spawn(fut.map_err(|_| ())); + client } - + pub fn tokio_runtime(&mut self) -> &mut tokio_compat::runtime::Runtime { &mut self.compat_runtime } - pub(crate) fn logs(&self) -> &Logger { - &self.logs - } + pub(crate) fn logs(&self) -> &Logger { + &self.logs + } } impl Drop for InternalNode { - fn drop(&mut self) { - if let Some(mut task_manager) = self._task_manager.take() { - task_manager.terminate() - } - } + fn drop(&mut self) { + if let Some(mut task_manager) = self._task_manager.take() { + task_manager.terminate() + } + } } #[derive(Debug)] pub struct InternalNodeBuilder { - /// Parameters passed as-is. - cli: Vec, + /// Parameters passed as-is. + cli: Vec, logs: Logger, - _phantom: PhantomData + _phantom: PhantomData, } impl InternalNodeBuilder { - pub fn new() -> Self { - let ignore = [ - "yamux", "multistream_select", "libp2p", "jsonrpc_client_transports", - "sc_network", "tokio_reactor", "sub-libp2p", "sync", "peerset", - "ws", "sc_network", "sc_service", "sc_peerset", "rpc" - ]; - let logs = Logger::default(); - { - let logs = logs.clone(); - let mut builder = env_logger::builder(); - builder.format(move |buf: &mut env_logger::fmt::Formatter, record: &log::Record| { - let entry = format!("{} {} {}", record.level(), record.target(), record.args()); - let res = writeln!(buf, "{}", entry); - logs.write() - .entry(record.target().to_string()) - .or_default() - .push(entry); - res - }); - builder.filter_level(log::LevelFilter::Debug); - builder.filter_module("runtime", log::LevelFilter::Trace); - for module in &ignore { - builder.filter_module(module, log::LevelFilter::Info); - } - - let _ = builder - .is_test(true) - .try_init(); - } - - // create random directory for database - let random_path = { - let dir: String = rand::Rng::sample_iter( - rand::thread_rng(), - &rand::distributions::Alphanumeric - ) - .take(15) - .collect(); - let path = format!("/tmp/substrate-test-runner/{}", dir); - std::fs::create_dir_all(&path).unwrap(); - path - }; - - Self { - cli: vec![ - "--no-mdns".into(), - "--no-prometheus".into(), - "--no-telemetry".into(), - format!("--base-path={}", random_path), - "--dev".into(), - ], - logs, - _phantom: PhantomData, - } - } - - pub fn cli_param(mut self, param: &str) -> Self { - self.cli.push(param.into()); - self - } - - pub fn start(self) -> InternalNode { - InternalNode::new(self.logs, &self.cli) - } + pub fn new() -> Self { + let ignore = [ + "yamux", + "multistream_select", + "libp2p", + "jsonrpc_client_transports", + "sc_network", + "tokio_reactor", + "sub-libp2p", + "sync", + "peerset", + "ws", + "sc_network", + "sc_service", + "sc_peerset", + "rpc", + ]; + let logs = Logger::default(); + { + let logs = logs.clone(); + let mut builder = env_logger::builder(); + builder.format(move |buf: &mut env_logger::fmt::Formatter, record: &log::Record| { + let entry = format!("{} {} {}", record.level(), record.target(), record.args()); + let res = writeln!(buf, "{}", entry); + logs.write().entry(record.target().to_string()).or_default().push(entry); + res + }); + builder.filter_level(log::LevelFilter::Debug); + builder.filter_module("runtime", log::LevelFilter::Trace); + for module in &ignore { + builder.filter_module(module, log::LevelFilter::Info); + } + + let _ = builder.is_test(true).try_init(); + } + + // create random directory for database + let random_path = { + let dir: String = rand::Rng::sample_iter(rand::thread_rng(), &rand::distributions::Alphanumeric) + .take(15) + .collect(); + let path = format!("/tmp/substrate-test-runner/{}", dir); + std::fs::create_dir_all(&path).unwrap(); + path + }; + + Self { + cli: vec![ + "--no-mdns".into(), + "--no-prometheus".into(), + "--no-telemetry".into(), + format!("--base-path={}", random_path), + "--dev".into(), + ], + logs, + _phantom: PhantomData, + } + } + + pub fn cli_param(mut self, param: &str) -> Self { + self.cli.push(param.into()); + self + } + + pub fn start(self) -> InternalNode { + InternalNode::new(self.logs, &self.cli) + } } /// starts a manual seal authorship task. pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { - // Channel for the rpc handler to communicate with the authorship task. - let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); - - let ( - client, - backend, - keystore, - mut task_manager - ) = new_full_parts::(&config)?; - let client = Arc::new(client); - let import_queue = manual_seal::import_queue( - Box::new(client.clone()), - &task_manager.spawn_handle(), - None - ); - - let transaction_pool = BasicPool::new_full( - config.transaction_pool.clone(), - config.prometheus_registry(), - task_manager.spawn_handle(), - client.clone(), + // Channel for the rpc handler to communicate with the authorship task. + let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); + + let (client, backend, keystore, mut task_manager) = + new_full_parts::(&config)?; + let client = Arc::new(client); + let import_queue = manual_seal::import_queue(Box::new(client.clone()), &task_manager.spawn_handle(), None); + + let transaction_pool = BasicPool::new_full( + config.transaction_pool.clone(), + config.prometheus_registry(), + task_manager.spawn_handle(), + client.clone(), ); - - let (network, network_status_sinks, system_rpc_tx) = { + + let (network, network_status_sinks, system_rpc_tx) = { let params = BuildNetworkParams { - config: &config, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue, - on_demand: None, - block_announce_validator_builder: None, - finality_proof_request_builder: None, - finality_proof_provider: None, - }; + config: &config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue, + on_demand: None, + block_announce_validator_builder: None, + finality_proof_request_builder: None, + finality_proof_provider: None, + }; build_network(params)? }; - // Proposer object for block authorship. - let proposer = sc_basic_authorship::ProposerFactory::new( - client.clone(), - transaction_pool.clone(), - config.prometheus_registry(), - ); + // Proposer object for block authorship. + let proposer = sc_basic_authorship::ProposerFactory::new( + client.clone(), + transaction_pool.clone(), + config.prometheus_registry(), + ); - let rpc_handlers = { + let rpc_handlers = { let params = SpawnTasksParams { - config, - client: client.clone(), - backend: backend.clone(), - task_manager: &mut task_manager, - keystore, - on_demand: None, - transaction_pool: transaction_pool.clone(), - rpc_extensions_builder: Box::new(move |_| { - use manual_seal::rpc; - let mut io = jsonrpc_core::IoHandler::default(); - io.extend_with( - // We provide the rpc handler with the sending end of the channel to allow the rpc - // send EngineCommands to the background block authorship task. - rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), - ); - io - }), - remote_blockchain: None, - network, - network_status_sinks, - system_rpc_tx, - telemetry_connection_sinks: Default::default() - }; + config, + client: client.clone(), + backend: backend.clone(), + task_manager: &mut task_manager, + keystore, + on_demand: None, + transaction_pool: transaction_pool.clone(), + rpc_extensions_builder: Box::new(move |_| { + use manual_seal::rpc; + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with( + // We provide the rpc handler with the sending end of the channel to allow the rpc + // send EngineCommands to the background block authorship task. + rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), + ); + io + }), + remote_blockchain: None, + network, + network_status_sinks, + system_rpc_tx, + telemetry_connection_sinks: Default::default(), + }; spawn_tasks(params)? }; - + let inherent_data_providers = InherentDataProviders::new(); - inherent_data_providers + inherent_data_providers .register_provider(sp_timestamp::InherentDataProvider) .expect("failed to register timestamp inherent"); - + let select_chain = sc_consensus::LongestChain::new(backend.clone()); - // Background authorship future. - let authorship_future = manual_seal::run_manual_seal( - Box::new(client.clone()), - proposer, - client, - transaction_pool.pool().clone(), - commands_stream, - select_chain, - inherent_data_providers, - ); - - // spawn the authorship task as an essential task. - task_manager.spawn_essential_handle() - .spawn("manual-seal", authorship_future); - - // we really only care about the rpc interface. - Ok((task_manager, rpc_handlers)) + // Background authorship future. + let authorship_future = manual_seal::run_manual_seal( + Box::new(client.clone()), + proposer, + client, + transaction_pool.pool().clone(), + commands_stream, + select_chain, + inherent_data_providers, + ); + + // spawn the authorship task as an essential task. + task_manager + .spawn_essential_handle() + .spawn("manual-seal", authorship_future); + + // we really only care about the rpc interface. + Ok((task_manager, rpc_handlers)) } diff --git a/src/rpc.rs b/src/rpc.rs index d29d80a..ffa3351 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -1,32 +1,26 @@ use crate::types; use jsonrpc_core_client::RpcChannel; +use futures::compat::Future01CompatExt; pub use jsonrpc_core::types::params::Params; pub use jsonrpc_core_client::RawClient; use jsonrpc_core_client::RpcError; -use futures::compat::Future01CompatExt; -pub type ChainClient = sc_rpc_api::chain::ChainClient< - types::BlockNumber, - types::BlockHash, - types::Header, - types::SignedBlock, ->; +pub type ChainClient = + sc_rpc_api::chain::ChainClient, types::BlockHash, types::Header, types::SignedBlock>; -pub type StateClient = sc_rpc_api::state::StateClient,>; +pub type StateClient = sc_rpc_api::state::StateClient>; pub type AuthorClient = sc_rpc_api::author::AuthorClient, types::BlockHash>; pub trait RpcExtension { - fn raw_rpc(&mut self) -> RawClient { - self.rpc() - } + fn raw_rpc(&mut self) -> RawClient { + self.rpc() + } - fn rpc + 'static>(&mut self) -> TClient; + fn rpc + 'static>(&mut self) -> TClient; } pub async fn connect_ws>(url: &str) -> Result { - let url = url::Url::parse(url).expect("URL is valid"); - jsonrpc_core_client::transports::ws::connect(&url) - .compat() - .await + let url = url::Url::parse(url).expect("URL is valid"); + jsonrpc_core_client::transports::ws::connect(&url).compat().await } diff --git a/src/subxt.rs b/src/subxt.rs index 57b9ff5..b6e8c1d 100644 --- a/src/subxt.rs +++ b/src/subxt.rs @@ -1,3 +1,4 @@ +use futures::compat::Future01CompatExt; use futures::{ channel::mpsc, compat::{Compat01As03, Sink01CompatExt, Stream01CompatExt}, @@ -5,29 +6,25 @@ use futures::{ stream::StreamExt, }; use futures01::sync::mpsc as mpsc01; +use jsonrpc_core::MetaIoHandler; use jsonrpsee::{ common::{Request, Response}, transport::TransportClient, }; pub use sc_service::{ - config::{ - DatabaseConfig, - KeystoreConfig, - }, + config::{DatabaseConfig, KeystoreConfig}, Error as ServiceError, }; use std::{future::Future, pin::Pin, sync::Arc}; -use jsonrpc_core::MetaIoHandler; -use futures::compat::Future01CompatExt; /// Error thrown by the client. #[derive(Debug, derive_more::Display, derive_more::From, derive_more::Error)] pub enum SubxtClientError { /// Failed to parse json rpc message. - #[display(fmt="{}", _0)] + #[display(fmt = "{}", _0)] Json(serde_json::Error), /// Channel closed. - #[display(fmt="{}", _0)] + #[display(fmt = "{}", _0)] Mpsc(mpsc::SendError), } @@ -78,9 +75,7 @@ impl TransportClient for SubxtClient { }) } - fn next_response<'a>( - &'a mut self, - ) -> Pin> + Send + 'a>> { + fn next_response<'a>(&'a mut self) -> Pin> + Send + 'a>> { Box::pin(async move { let response = self .response_stream diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 51071c4..3349d4e 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -1,61 +1,57 @@ +use crate::test::externalities::TestExternalities; use crate::{ - node::InternalNode, - rpc::{self, RpcExtension}, - types, + node::InternalNode, + rpc::{self, RpcExtension}, + types, }; -use jsonrpc_core_client::{RpcChannel, transports::local}; -use crate::test::externalities::TestExternalities; +use jsonrpc_core_client::{transports::local, RpcChannel}; pub enum BlackBoxNode { - /// Connects to an external node. - External(String), - /// Spawns a pristine node. - Internal(InternalNode), + /// Connects to an external node. + External(String), + /// Spawns a pristine node. + Internal(InternalNode), } /// A black box test. pub struct BlackBox { - node: BlackBoxNode, + node: BlackBoxNode, } impl BlackBox - where - Runtime: frame_system::Trait +where + Runtime: frame_system::Trait, { - pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { - TestExternalities::::new(self.rpc()) - .execute_with(closure) - } + pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { + TestExternalities::::new(self.rpc()).execute_with(closure) + } } impl rpc::RpcExtension for BlackBox { - fn rpc + 'static>(&mut self) -> TClient { - let client = match self.node { - BlackBoxNode::External(ref url) => { - futures::executor::block_on(rpc::connect_ws(&url)).unwrap() - }, - BlackBoxNode::Internal(ref mut node) => { - use futures01::Future; - let (client, fut) = local::connect::(node.rpc_handler()); + fn rpc + 'static>(&mut self) -> TClient { + let client = match self.node { + BlackBoxNode::External(ref url) => futures::executor::block_on(rpc::connect_ws(&url)).unwrap(), + BlackBoxNode::Internal(ref mut node) => { + use futures01::Future; + let (client, fut) = local::connect::(node.rpc_handler()); node.tokio_runtime().spawn(fut.map_err(|_| ())); - - client - }, + + client + } }; - client - } + client + } } - impl BlackBox { - pub fn new(node: BlackBoxNode) -> Self { - Self { node } - } + pub fn new(node: BlackBoxNode) -> Self { + Self { node } + } } impl BlackBox { - /// Wait `number` of blocks. - pub fn wait_blocks(&self, _number: impl Into>) { - todo!() - } + /// Wait `number` of blocks. + pub fn wait_blocks(&self, _number: impl Into>) { + todo!() + } } diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 359b9d5..8d2c2b8 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -1,35 +1,35 @@ +use crate::test::externalities::{TestExternalities, TxPoolExtApi}; use crate::{ - node::InternalNode, - rpc::{self, RpcExtension}, + node::InternalNode, + rpc::{self, RpcExtension}, }; use jsonrpc_core_client::RpcChannel; -use crate::test::externalities::{TestExternalities, TxPoolExtApi}; use manual_seal::rpc::ManualSealClient; -use std::ops::{Deref, DerefMut}; use sp_core::{ - traits::KeystoreExt, offchain::TransactionPoolExt, testing::{KeyStore, SR25519}, + traits::KeystoreExt, }; use sp_externalities::{Externalities, ExternalitiesExt}; use sp_keyring::sr25519::Keyring; +use std::ops::{Deref, DerefMut}; /// A deterministic internal instance of substrate node. pub struct Deterministic { node: InternalNode, - externalities: TestExternalities + externalities: TestExternalities, } impl rpc::RpcExtension for Deterministic { - fn rpc + 'static>(&mut self) -> TClient { - self.node.rpc_client() - } + fn rpc + 'static>(&mut self) -> TClient { + self.node.rpc_client() + } } impl Deterministic { - pub fn new(node: InternalNode) -> Self { + pub fn new(node: InternalNode) -> Self { let mut externalities = TestExternalities::::new(node.rpc_client()); - + (&mut externalities as &mut dyn Externalities) .register_extension(TransactionPoolExt::new(TxPoolExtApi::::new(node.rpc_client()))) .expect("Failed to transaction register"); @@ -39,7 +39,8 @@ impl Deterministic { // here we load all the test keys (which have initial ballances) // in the keyring into the keystore for key in Keyring::iter() { - keystore.write() + keystore + .write() .sr25519_generate_new(SR25519, Some(&format!("//{}", key))) .expect("failed to add key to keystore: "); } @@ -49,58 +50,54 @@ impl Deterministic { .expect("Failed to transaction register"); Self { node, externalities } - } + } } impl Deterministic { - pub fn assert_log_line(&self, module: &str, content: &str) { - if let Some(logs) = self.node.logs().read().get(module) { - for log in logs { - if log.contains(content) { - return; - } - } - panic!("Could not find {} in logs: {:?}", content, logs) - } else { - panic!("No logs from {} module.", module); - } - } - - pub fn produce_blocks(&mut self, num: usize) { + pub fn assert_log_line(&self, module: &str, content: &str) { + if let Some(logs) = self.node.logs().read().get(module) { + for log in logs { + if log.contains(content) { + return; + } + } + panic!("Could not find {} in logs: {:?}", content, logs) + } else { + panic!("No logs from {} module.", module); + } + } + + pub fn produce_blocks(&mut self, num: usize) { log::info!("produce blocks"); let client = self.rpc::>(); log::info!("produce blocks"); - - for _ in 0..num { - self.node.tokio_runtime() - .block_on(client.create_block(true, true, None)) - .expect("block production failed: "); + for _ in 0..num { + self.node + .tokio_runtime() + .block_on(client.create_block(true, true, None)) + .expect("block production failed: "); } log::info!("sealed {} blocks", num) } - /// Execute closure in an externalities provided environment. - pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { + pub fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { self.externalities.execute_with(closure) } - } impl Deref for Deterministic { - type Target = InternalNode; + type Target = InternalNode; - fn deref(&self) -> &Self::Target { - &self.node - } + fn deref(&self) -> &Self::Target { + &self.node + } } impl DerefMut for Deterministic { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.node - } + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.node + } } - - diff --git a/src/test/externalities.rs b/src/test/externalities.rs index db7dbce..3b0cb91 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -1,9 +1,9 @@ use crate::rpc; -use std::any::{TypeId, Any}; -use sp_storage::{ChildInfo, StorageKey}; use futures01::Future; -use sp_externalities::Extensions; use sp_core::offchain::TransactionPool; +use sp_externalities::Extensions; +use sp_storage::{ChildInfo, StorageKey}; +use std::any::{Any, TypeId}; pub struct TestExternalities { client: rpc::StateClient, @@ -11,37 +11,38 @@ pub struct TestExternalities { } pub struct TxPoolExtApi { - client: rpc::AuthorClient + client: rpc::AuthorClient, } impl TransactionPool for TxPoolExtApi { fn submit_transaction(&mut self, extrinsic: Vec) -> Result<(), ()> { match self.client.submit_extrinsic(extrinsic.into()).wait() { Ok(hash) => log::info!("extrinsic successfully submitted with hash {:?}", hash), - Err(err) => log::error!("error submitting extrinsic {:?}", err) + Err(err) => log::error!("error submitting extrinsic {:?}", err), }; Ok(()) } } - impl TxPoolExtApi { - pub fn new(client: rpc::AuthorClient) -> Self { - Self { client } - } + pub fn new(client: rpc::AuthorClient) -> Self { + Self { client } + } } impl TestExternalities { - pub fn new(client: rpc::StateClient) -> Self { - Self { client, extensions: Extensions::new() } - } + pub fn new(client: rpc::StateClient) -> Self { + Self { + client, + extensions: Extensions::new(), + } + } pub fn execute_with(&mut self, execute: impl FnOnce() -> R) -> R { sp_externalities::set_and_run_with_externalities(self, execute) } } - impl sp_externalities::ExtensionStore for TestExternalities { fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any> { self.extensions.get_mut(type_id) @@ -63,80 +64,80 @@ impl sp_externalities::ExtensionStore for TestExte } } - impl sp_externalities::Externalities for TestExternalities { - fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { unimplemented!("set_offchain_storage") } + fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { + unimplemented!("set_offchain_storage") + } fn storage(&self, key: &[u8]) -> Option> { // this is pretty weird, but stay with me. // the tests in `simple_run` is wrapped with a tokio runtime // so this means the code path here has access to the tokio v0.1 runtime // requried for this future to complete, without the runtime, this call would panic. - self.client.storage(StorageKey(key.to_vec()), None) + self.client + .storage(StorageKey(key.to_vec()), None) .wait() .ok() .flatten() .map(|data| data.0) - } + } - fn storage_hash(&self, _key: &[u8]) -> Option> { unimplemented!("storage_hash") } + fn storage_hash(&self, _key: &[u8]) -> Option> { + unimplemented!("storage_hash") + } - fn child_storage_hash( - &self, - _child_info: &ChildInfo, - _key: &[u8], - ) -> Option> { unimplemented!("child_storage_hash") } + fn child_storage_hash(&self, _child_info: &ChildInfo, _key: &[u8]) -> Option> { + unimplemented!("child_storage_hash") + } - fn child_storage( - &self, - _child_info: &ChildInfo, - _key: &[u8], - ) -> Option> { unimplemented!("child_storage") } + fn child_storage(&self, _child_info: &ChildInfo, _key: &[u8]) -> Option> { + unimplemented!("child_storage") + } - fn next_storage_key(&self, _key: &[u8]) -> Option> { unimplemented!("next_storage_key") } + fn next_storage_key(&self, _key: &[u8]) -> Option> { + unimplemented!("next_storage_key") + } - fn next_child_storage_key( - &self, - _child_info: &ChildInfo, - _key: &[u8], - ) -> Option> { unimplemented!("next_child_storage_key") } + fn next_child_storage_key(&self, _child_info: &ChildInfo, _key: &[u8]) -> Option> { + unimplemented!("next_child_storage_key") + } - fn kill_child_storage(&mut self, _child_info: &ChildInfo) { unimplemented!("kill_child_storage") } + fn kill_child_storage(&mut self, _child_info: &ChildInfo) { + unimplemented!("kill_child_storage") + } - fn clear_prefix(&mut self, _prefix: &[u8]) { unimplemented!("clear_prefix") } + fn clear_prefix(&mut self, _prefix: &[u8]) { + unimplemented!("clear_prefix") + } - fn clear_child_prefix( - &mut self, - _child_info: &ChildInfo, - _prefix: &[u8], - ) { unimplemented!("clear_child_prefix") } + fn clear_child_prefix(&mut self, _child_info: &ChildInfo, _prefix: &[u8]) { + unimplemented!("clear_child_prefix") + } fn place_storage(&mut self, _key: Vec, _value: Option>) { - // Create a sudo transaction that alters storage on-chain. - unimplemented!("place_storage") - } + // Create a sudo transaction that alters storage on-chain. + unimplemented!("place_storage") + } - fn place_child_storage( - &mut self, - _child_info: &ChildInfo, - _key: Vec, - _value: Option>, - ) { unimplemented!("place_child_storage") } + fn place_child_storage(&mut self, _child_info: &ChildInfo, _key: Vec, _value: Option>) { + unimplemented!("place_child_storage") + } - fn chain_id(&self) -> u64 { unimplemented!("chain_id") } + fn chain_id(&self) -> u64 { + unimplemented!("chain_id") + } - fn storage_root(&mut self) -> Vec { unimplemented!("storage_root") } + fn storage_root(&mut self) -> Vec { + unimplemented!("storage_root") + } - fn child_storage_root( - &mut self, - _child_info: &ChildInfo, - ) -> Vec { unimplemented!("child_storage_root") } + fn child_storage_root(&mut self, _child_info: &ChildInfo) -> Vec { + unimplemented!("child_storage_root") + } - fn storage_append( - &mut self, - _key: Vec, - _value: Vec, - ) { unimplemented!("storage_append") } + fn storage_append(&mut self, _key: Vec, _value: Vec) { + unimplemented!("storage_append") + } fn storage_changes_root(&mut self, _parent: &[u8]) -> Result>, ()> { unimplemented!("storage_changes_root") @@ -154,9 +155,13 @@ impl sp_externalities::Externalities for TestExter unimplemented!("storage_commit_transaction") } - fn wipe(&mut self) { unimplemented!("wipe") } + fn wipe(&mut self) { + unimplemented!("wipe") + } - fn commit(&mut self) { unimplemented!("commit") } + fn commit(&mut self) { + unimplemented!("commit") + } fn read_write_count(&self) -> (u32, u32, u32, u32) { unimplemented!("read_write_count") diff --git a/src/test/mod.rs b/src/test/mod.rs index 51cf23b..b3acd70 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -3,19 +3,20 @@ pub mod deterministic; pub mod externalities; pub fn blackbox_external(url: &str) -> blackbox::BlackBox { - blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) + blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } pub fn blackbox_internal() -> blackbox::BlackBox { - let node = crate::node::InternalNode::::builder().start(); - blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) + let node = crate::node::InternalNode::::builder().start(); + blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: crate::node::InternalNode) -> deterministic::Deterministic { - deterministic::Deterministic::new(node) +pub fn deterministic( + node: crate::node::InternalNode, +) -> deterministic::Deterministic { + deterministic::Deterministic::new(node) } pub fn node() -> crate::node::InternalNodeBuilder { - crate::node::InternalNode::::builder() + crate::node::InternalNode::::builder() } - diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 7c89964..f48df2c 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,96 +1,93 @@ -use substrate_test_runner::{test, rpc, prelude::*, subxt}; -use runtime::{Runtime, RuntimeKeyType}; +use frame_system::offchain::{SendSignedTransaction, Signer}; use futures::compat::Future01CompatExt; -use substrate_subxt::{ClientBuilder, DefaultNodeRuntime, PairSigner, balances::TransferCallExt}; -use sp_core::crypto::Pair; -use sp_runtime::{traits::IdentifyAccount, MultiSigner}; +use pallet_balances::Call as BalancesCall; use pallet_indices::address::Address; +use runtime::{Runtime, RuntimeKeyType}; +use sp_core::crypto::Pair; use sp_keyring::Sr25519Keyring; -use frame_system::offchain::{SendSignedTransaction, Signer}; -use pallet_balances::Call as BalancesCall; +use sp_runtime::{traits::IdentifyAccount, MultiSigner}; +use substrate_subxt::{balances::TransferCallExt, ClientBuilder, DefaultNodeRuntime, PairSigner}; +use substrate_test_runner::{prelude::*, rpc, subxt, test}; #[test] fn should_run_off_chain_worker() { - let mut test = test::deterministic( - test::node::() - // TODO [ToDr] This does not work properly, since we have a shared logger. - .cli_param("-lsc_offchain=trace") - // .with_sudo(Keyring::Alice) - // .with_genesis_state(|| { - // ... - // }) - .start() - ); - let mut runtime = tokio_compat::runtime::Runtime::new().unwrap(); - runtime.block_on_std(async { - let chain_client = test.rpc::>(); - let rpc_client = test.raw_rpc(); - - // TODO [ToDr] This should be even rawer - allowing to pass JSON call, - // which in turn could be collected from the UI. - let header = rpc_client.call_method( - "chain_getHeader", - rpc::Params::Array(vec![]), - ).compat().await; - println!("{:?}", header); - - let header = chain_client.header(None).compat().await.unwrap(); - println!("{:?}", header); - - test.produce_blocks(15); - - // test.assert_log_line("db", "best = true"); - }); + let mut test = test::deterministic( + test::node::() + // TODO [ToDr] This does not work properly, since we have a shared logger. + .cli_param("-lsc_offchain=trace") + // .with_sudo(Keyring::Alice) + // .with_genesis_state(|| { + // ... + // }) + .start(), + ); + let mut runtime = tokio_compat::runtime::Runtime::new().unwrap(); + runtime.block_on_std(async { + let chain_client = test.rpc::>(); + let rpc_client = test.raw_rpc(); + + // TODO [ToDr] This should be even rawer - allowing to pass JSON call, + // which in turn could be collected from the UI. + let header = rpc_client + .call_method("chain_getHeader", rpc::Params::Array(vec![])) + .compat() + .await; + println!("{:?}", header); + + let header = chain_client.header(None).compat().await.unwrap(); + println!("{:?}", header); + + test.produce_blocks(15); + + // test.assert_log_line("db", "best = true"); + }); } #[test] fn should_read_state() { - // given + // given let mut test = test::deterministic(test::node::().start()); type Balances = pallet_balances::Module; // test.produce_blocks(1); let alice = Sr25519Keyring::Alice.pair(); - let bob = Sr25519Keyring::Bob.pair(); + let bob = Sr25519Keyring::Bob.pair(); let signer = Signer::::all_accounts() - // only use alice' account. + // only use alice' account. .with_filter(vec![alice.public().into()]); - let alice_balance = test.with_state(|| { - Balances::free_balance(MultiSigner::from(alice.public()).into_account()) - }); - + let alice_balance = test.with_state(|| Balances::free_balance(MultiSigner::from(alice.public()).into_account())); + let result = test.with_state(|| { signer.send_signed_transaction(|_| { - BalancesCall::transfer(Address::from(MultiSigner::from(bob.public()).into_account()), 8900000000000000) + BalancesCall::transfer( + Address::from(MultiSigner::from(bob.public()).into_account()), + 8900000000000000, + ) }) }); log::info!("ext result: {:#?}", result); - test.produce_blocks(1); - let new_alice_balance = test.with_state(|| { - Balances::free_balance(MultiSigner::from(alice.public()).into_account()) - }); - + let new_alice_balance = + test.with_state(|| Balances::free_balance(MultiSigner::from(alice.public()).into_account())); + // account for fees assert!((alice_balance - new_alice_balance) > 8900000000000000); } #[test] fn external_black_box() { - let test = test::blackbox_external::("ws://127.0.0.1:3001"); - test.wait_blocks(5_u32); + let test = test::blackbox_external::("ws://127.0.0.1:3001"); + test.wait_blocks(5_u32); } - // Check state using decl_storage // Assert a log line // Initially start with a "runtime example" -// Customize the runtime somehow +// Customize the runtime somehow // $ cp node/runtime /tmp/temp_runtime // $ sed -../ - From e06f5ba04abc54c63fadbe20d19655738fdafd78 Mon Sep 17 00:00:00 2001 From: Seun Date: Tue, 4 Aug 2020 18:24:41 +0100 Subject: [PATCH 12/16] sending transactions work, but state doesn't change --- Cargo.lock | 1813 +++---------------------------------- Cargo.toml | 5 +- build.rs | 8 + src/cli.rs | 134 +++ src/lib.rs | 2 +- src/node.rs | 2 +- src/subxt.rs | 96 -- src/test/externalities.rs | 17 +- tests/simple_run.rs | 13 +- 9 files changed, 284 insertions(+), 1806 deletions(-) create mode 100644 build.rs create mode 100644 src/cli.rs delete mode 100644 src/subxt.rs diff --git a/Cargo.lock b/Cargo.lock index fa8b701..06862d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16,7 +16,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072" dependencies = [ - "gimli 0.22.0", + "gimli", ] [[package]] @@ -309,7 +309,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.20.0", + "object", "rustc-demangle", ] @@ -350,16 +350,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" -[[package]] -name = "bincode" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d" -dependencies = [ - "byteorder", - "serde", -] - [[package]] name = "bindgen" version = "0.53.3" @@ -722,98 +712,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" -[[package]] -name = "cranelift-bforest" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dcc286b052ee24a1e5a222e7c1125e6010ad35b0f248709b9b3737a8fedcfdf" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d9badfe36176cb653506091693bc2bb1970c9bddfcd6ec7fac404f7eaec6f38" -dependencies = [ - "byteorder", - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-entity", - "gimli 0.21.0", - "log 0.4.11", - "regalloc", - "serde", - "smallvec 1.4.1", - "target-lexicon", - "thiserror", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3f460031861e4f4ad510be62b2ae50bba6cc886b598a36f9c0a970feab9598" -dependencies = [ - "cranelift-codegen-shared", - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad12409e922e7697cd0bdc7dc26992f64a77c31880dfe5e3c7722f4710206d" - -[[package]] -name = "cranelift-entity" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97cdc58972ea065d107872cfb9079f4c92ade78a8af85aaff519a65b5d13f71" -dependencies = [ - "serde", -] - -[[package]] -name = "cranelift-frontend" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ef419efb4f94ecc02e5d9fbcc910d2bb7f0040e2de570e63a454f883bc891d6" -dependencies = [ - "cranelift-codegen", - "log 0.4.11", - "smallvec 1.4.1", - "target-lexicon", -] - -[[package]] -name = "cranelift-native" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e69d44d59826eef6794066ac2c0f4ad3975f02d97030c60dbc04e3886adf36e" -dependencies = [ - "cranelift-codegen", - "raw-cpuid", - "target-lexicon", -] - -[[package]] -name = "cranelift-wasm" -version = "0.66.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "979df666b1304624abe99738e9e0e7c7479ee5523ba4b8b237df9ff49996acbb" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "log 0.4.11", - "serde", - "thiserror", - "wasmparser 0.59.0", -] - [[package]] name = "crc32fast" version = "1.2.0" @@ -1058,26 +956,6 @@ dependencies = [ "syn 0.11.11", ] -[[package]] -name = "enumflags2" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" -dependencies = [ - "enumflags2_derive", -] - -[[package]] -name = "enumflags2_derive" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" -dependencies = [ - "proc-macro2", - "quote 1.0.7", - "syn 1.0.37", -] - [[package]] name = "env_logger" version = "0.7.1" @@ -1106,27 +984,6 @@ dependencies = [ "serde", ] -[[package]] -name = "errno" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eab5ee3df98a279d9b316b1af6ac95422127b1290317e6d18c1743c99418b01" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" -dependencies = [ - "gcc", - "libc", -] - [[package]] name = "event-listener" version = "2.3.0" @@ -1170,12 +1027,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "fastrand" version = "1.3.3" @@ -1191,31 +1042,6 @@ dependencies = [ "libc", ] -[[package]] -name = "file-per-thread-logger" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b3937f028664bd0e13df401ba49a4567ccda587420365823242977f06609ed1" -dependencies = [ - "env_logger", - "log 0.4.11", -] - -[[package]] -name = "finality-grandpa" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8feb87a63249689640ac9c011742c33139204e3c134293d3054022276869133b" -dependencies = [ - "either", - "futures 0.3.5", - "futures-timer 2.0.2", - "log 0.4.11", - "num-traits 0.2.12", - "parity-scale-codec", - "parking_lot 0.9.0", -] - [[package]] name = "fixed-hash" version = "0.6.1" @@ -1293,25 +1119,6 @@ dependencies = [ "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] -[[package]] -name = "frame-benchmarking-cli" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "Inflector", - "frame-benchmarking", - "parity-scale-codec", - "sc-cli", - "sc-client-db", - "sc-executor", - "sc-service", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "structopt", -] - [[package]] name = "frame-executive" version = "2.0.0-rc5" @@ -1424,15 +1231,6 @@ dependencies = [ "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] -[[package]] -name = "frame-system-rpc-runtime-api" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "fs-swap" version = "0.2.4" @@ -1733,17 +1531,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" -dependencies = [ - "fallible-iterator", - "indexmap", - "stable_deref_trait", -] - [[package]] name = "gimli" version = "0.22.0" @@ -2146,7 +1933,6 @@ checksum = "5b88cd59ee5f71fea89a62248fc8f387d44400cefe05ef548466d61ced9029a7" dependencies = [ "autocfg 1.0.0", "hashbrown 0.8.1", - "serde", ] [[package]] @@ -2479,12 +2265,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -[[package]] -name = "leb128" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" - [[package]] name = "libc" version = "0.2.74" @@ -2909,15 +2689,6 @@ dependencies = [ "hashbrown 0.6.3", ] -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - [[package]] name = "matches" version = "0.1.8" @@ -3087,12 +2858,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "more-asserts" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" - [[package]] name = "multihash" version = "0.11.2" @@ -3211,238 +2976,34 @@ dependencies = [ ] [[package]] -name = "node-cli" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking-cli", - "frame-support", - "frame-system", - "futures 0.3.5", - "hex-literal", - "jsonrpc-core", - "log 0.4.11", - "node-executor", - "node-inspect", - "node-primitives", - "node-rpc", - "node-runtime", - "pallet-authority-discovery", - "pallet-balances", - "pallet-contracts", - "pallet-grandpa", - "pallet-im-online", - "pallet-indices", - "pallet-staking", - "pallet-timestamp", - "pallet-transaction-payment", - "parity-scale-codec", - "parking_lot 0.10.2", - "rand 0.7.3", - "sc-authority-discovery", - "sc-basic-authorship", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-consensus-babe", - "sc-finality-grandpa", - "sc-network", - "sc-offchain", - "sc-rpc", - "sc-service", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "serde", - "sp-authority-discovery", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-babe", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-finality-grandpa", - "sp-finality-tracker", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-keyring", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-timestamp", - "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "structopt", - "substrate-build-script-utils", - "tracing", -] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] -name = "node-executor" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking", - "node-primitives", - "node-runtime", - "parity-scale-codec", - "sc-executor", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "trie-root", -] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] -name = "node-inspect" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "nom" +version = "5.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ - "derive_more", - "log 0.4.11", - "parity-scale-codec", - "sc-cli", - "sc-client-api", - "sc-service", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "structopt", + "memchr", + "version_check 0.9.2", ] [[package]] -name = "node-primitives" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "ntapi" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2" dependencies = [ - "frame-system", - "parity-scale-codec", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "node-rpc" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "jsonrpc-core", - "node-primitives", - "node-runtime", - "pallet-contracts-rpc", - "pallet-transaction-payment-rpc", - "sc-client-api", - "sc-consensus-babe", - "sc-consensus-babe-rpc", - "sc-consensus-epochs", - "sc-finality-grandpa", - "sc-finality-grandpa-rpc", - "sc-keystore", - "sc-rpc", - "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-babe", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "substrate-frame-rpc-system", -] - -[[package]] -name = "node-runtime" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-rpc-runtime-api", - "integer-sqrt", - "node-primitives", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-collective", - "pallet-contracts", - "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", - "pallet-democracy", - "pallet-elections-phragmen", - "pallet-finality-tracker", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-multisig", - "pallet-offences", - "pallet-proxy", - "pallet-randomness-collective-flip", - "pallet-recovery", - "pallet-scheduler", - "pallet-session", - "pallet-society", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "parity-scale-codec", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-authority-discovery", - "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-babe", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-keyring", - "sp-offchain", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-session", - "sp-staking", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "static_assertions", - "substrate-wasm-builder-runner", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "memchr", - "version_check 0.9.2", -] - -[[package]] -name = "ntapi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2" -dependencies = [ - "winapi 0.3.9", + "winapi 0.3.9", ] [[package]] @@ -3482,551 +3043,151 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ - "autocfg 1.0.0", - "num-bigint", - "num-integer", - "num-traits 0.2.12", -] - -[[package]] -name = "num-traits" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" -dependencies = [ - "num-traits 0.2.12", -] - -[[package]] -name = "num-traits" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611" -dependencies = [ - "autocfg 1.0.0", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" - -[[package]] -name = "object" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" -dependencies = [ - "crc32fast", - "indexmap", - "wasmparser 0.57.0", -] - -[[package]] -name = "once_cell" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d" -dependencies = [ - "parking_lot 0.10.2", -] - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl" -version = "0.10.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "lazy_static", - "libc", - "openssl-sys", -] - -[[package]] -name = "openssl-probe" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" - -[[package]] -name = "openssl-sys" -version = "0.9.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de" -dependencies = [ - "autocfg 1.0.0", - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "owning_ref" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" -dependencies = [ - "stable_deref_trait", -] - -[[package]] -name = "pallet-authority-discovery" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "pallet-session", - "parity-scale-codec", - "serde", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-authority-discovery", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-authorship" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-authorship", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-babe" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "serde", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-babe", - "sp-consensus-vrf", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-session", - "sp-staking", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-timestamp", -] - -[[package]] -name = "pallet-balances" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-collective" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-contracts" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "bitflags", - "frame-support", - "frame-system", - "pallet-contracts-primitives", - "parity-scale-codec", - "parity-wasm", - "pwasm-utils", - "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-sandbox", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "wasmi-validation", -] - -[[package]] -name = "pallet-contracts-primitives" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-contracts-rpc" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", - "parity-scale-codec", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-contracts-rpc-runtime-api" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "pallet-contracts-primitives", - "parity-scale-codec", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-democracy" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-elections-phragmen" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-npos-elections", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-finality-tracker" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "serde", - "sp-finality-tracker", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-grandpa" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-finality-tracker", - "pallet-session", - "parity-scale-codec", - "serde", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-finality-grandpa", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-session", - "sp-staking", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-identity" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-im-online" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "serde", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-staking", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-indices" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-keyring", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "autocfg 1.0.0", + "num-bigint", + "num-integer", + "num-traits 0.2.12", ] [[package]] -name = "pallet-membership" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "num-traits" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "num-traits 0.2.12", ] [[package]] -name = "pallet-multisig" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "num-traits" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611" dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "autocfg 1.0.0", + "libm", ] [[package]] -name = "pallet-offences" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "num_cpus" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-staking", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "hermit-abi", + "libc", ] [[package]] -name = "pallet-proxy" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "object" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" + +[[package]] +name = "once_cell" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d" dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "parking_lot 0.10.2", ] [[package]] -name = "pallet-randomness-collective-flip" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl" +version = "0.10.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4" dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "safe-mix", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "bitflags", + "cfg-if", + "foreign-types", + "lazy_static", + "libc", + "openssl-sys", ] [[package]] -name = "pallet-recovery" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "openssl-probe" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" + +[[package]] +name = "openssl-sys" +version = "0.9.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de" dependencies = [ - "enumflags2", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "autocfg 1.0.0", + "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] -name = "pallet-scheduler" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +name = "owning_ref" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "stable_deref_trait", ] [[package]] -name = "pallet-session" +name = "pallet-balances" version = "2.0.0-rc5" source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", - "impl-trait-for-tuples", - "pallet-timestamp", "parity-scale-codec", "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-session", - "sp-staking", "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-trie 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] -name = "pallet-society" +name = "pallet-indices" version = "2.0.0-rc5" source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "rand_chacha 0.2.2", "serde", + "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-keyring", "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] -name = "pallet-staking" +name = "pallet-randomness-collective-flip" version = "2.0.0-rc5" source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" dependencies = [ "frame-support", "frame-system", - "pallet-authorship", - "pallet-session", "parity-scale-codec", - "serde", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-npos-elections", + "safe-mix", "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-staking", "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "static_assertions", -] - -[[package]] -name = "pallet-staking-reward-curve" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote 1.0.7", - "syn 1.0.37", ] [[package]] @@ -4077,24 +3238,6 @@ dependencies = [ "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] -[[package]] -name = "pallet-transaction-payment-rpc" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-rpc 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0-rc5" @@ -4108,49 +3251,6 @@ dependencies = [ "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] -[[package]] -name = "pallet-treasury" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-utility" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "pallet-vesting" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "enumflags2", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "parity-db" version = "0.1.2" @@ -4351,12 +3451,6 @@ dependencies = [ "crypto-mac 0.7.0", ] -[[package]] -name = "pdqselect" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" - [[package]] name = "peeking_take_while" version = "0.1.2" @@ -4619,17 +3713,6 @@ version = "2.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d883f78645c21b7281d21305181aa1f4dd9e9363e7cf2566c93121552cff003e" -[[package]] -name = "pwasm-utils" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192" -dependencies = [ - "byteorder", - "log 0.4.11", - "parity-wasm", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -4861,17 +3944,6 @@ dependencies = [ "rand_core 0.3.1", ] -[[package]] -name = "raw-cpuid" -version = "7.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf" -dependencies = [ - "bitflags", - "cc", - "rustc_version", -] - [[package]] name = "rawpointer" version = "0.2.1" @@ -4944,20 +4016,9 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d21b475ab879ef0e315ad99067fa25778c3b0377f57f1b00207448dac1a3144" dependencies = [ - "proc-macro2", - "quote 1.0.7", - "syn 1.0.37", -] - -[[package]] -name = "regalloc" -version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ba8aaf5fe7cf307c6dbdaeed85478961d29e25e3bee5169e11b92fa9f027a8" -dependencies = [ - "log 0.4.11", - "rustc-hash", - "smallvec 1.4.1", + "proc-macro2", + "quote 1.0.7", + "syn 1.0.37", ] [[package]] @@ -4978,18 +4039,6 @@ version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" -[[package]] -name = "region" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" -dependencies = [ - "bitflags", - "libc", - "mach", - "winapi 0.3.9", -] - [[package]] name = "remove_dir_all" version = "0.5.3" @@ -5176,33 +4225,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" -[[package]] -name = "sc-authority-discovery" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "bytes 0.5.6", - "derive_more", - "futures 0.3.5", - "futures-timer 3.0.2", - "libp2p", - "log 0.4.11", - "parity-scale-codec", - "prost", - "prost-build", - "rand 0.7.3", - "sc-client-api", - "sc-keystore", - "sc-network", - "serde_json", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-authority-discovery", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "sc-basic-authorship" version = "0.8.0-rc5" @@ -5388,87 +4410,6 @@ dependencies = [ "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] -[[package]] -name = "sc-consensus-babe" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "derive_more", - "fork-tree", - "futures 0.3.5", - "futures-timer 3.0.2", - "log 0.4.11", - "merlin", - "num-bigint", - "num-rational", - "num-traits 0.2.12", - "parity-scale-codec", - "parking_lot 0.10.2", - "pdqselect", - "rand 0.7.3", - "retain_mut", - "sc-client-api", - "sc-consensus-epochs", - "sc-consensus-slots", - "sc-consensus-uncles", - "sc-keystore", - "sc-telemetry", - "schnorrkel", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-babe", - "sp-consensus-vrf", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-timestamp", - "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-version 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sc-consensus-babe-rpc" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "derive_more", - "futures 0.3.5", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-keystore", - "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-babe", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sc-consensus-epochs" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "fork-tree", - "parity-scale-codec", - "parking_lot 0.10.2", - "sc-client-api", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "sc-consensus-manual-seal" version = "0.8.0-rc5" @@ -5494,43 +4435,6 @@ dependencies = [ "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] -[[package]] -name = "sc-consensus-slots" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "futures 0.3.5", - "futures-timer 3.0.2", - "log 0.4.11", - "parity-scale-codec", - "parking_lot 0.10.2", - "sc-client-api", - "sc-telemetry", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-slots", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-state-machine 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sc-consensus-uncles" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "log 0.4.11", - "sc-client-api", - "sp-authorship", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "sc-executor" version = "0.8.0-rc5" @@ -5545,7 +4449,6 @@ dependencies = [ "parking_lot 0.10.2", "sc-executor-common", "sc-executor-wasmi", - "sc-executor-wasmtime", "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5591,82 +4494,6 @@ dependencies = [ "wasmi", ] -[[package]] -name = "sc-executor-wasmtime" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "cranelift-codegen", - "cranelift-wasm", - "log 0.4.11", - "parity-scale-codec", - "parity-wasm", - "sc-executor-common", - "scoped-tls", - "sp-allocator", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "substrate-wasmtime", - "wasmtime-environ", - "wasmtime-runtime", -] - -[[package]] -name = "sc-finality-grandpa" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "assert_matches", - "derive_more", - "finality-grandpa", - "fork-tree", - "futures 0.3.5", - "futures-timer 3.0.2", - "log 0.4.11", - "parity-scale-codec", - "parking_lot 0.10.2", - "pin-project", - "rand 0.7.3", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-keystore", - "sc-network", - "sc-network-gossip", - "sc-telemetry", - "serde_json", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-finality-grandpa", - "sp-finality-tracker", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-utils 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sc-finality-grandpa-rpc" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "derive_more", - "finality-grandpa", - "futures 0.3.5", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "log 0.4.11", - "sc-finality-grandpa", - "serde", - "serde_json", -] - [[package]] name = "sc-informant" version = "0.8.0-rc5" @@ -5772,21 +4599,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "sc-network-gossip" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "futures 0.3.5", - "futures-timer 3.0.2", - "libp2p", - "log 0.4.11", - "lru", - "sc-network", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "wasm-timer", -] - [[package]] name = "sc-offchain" version = "2.0.0-rc5" @@ -6136,26 +4948,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "scroll" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb2332cb595d33f7edd5700f4cbf94892e680c7f0ae56adab58a35190b66cb1" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9" -dependencies = [ - "proc-macro2", - "quote 1.0.7", - "syn 1.0.37", -] - [[package]] name = "sct" version = "0.6.0" @@ -6609,46 +5401,23 @@ dependencies = [ "integer-sqrt", "num-traits 0.2.12", "parity-scale-codec", - "serde", - "sp-debug-derive 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sp-arithmetic" -version = "2.0.0-rc5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b472a16a6653d84bbb9ce148c75e136f468b24479e1fbb3219dde88341fde89" -dependencies = [ - "integer-sqrt", - "num-traits 0.2.12", - "parity-scale-codec", - "serde", - "sp-debug-derive 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sp-authority-discovery" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "serde", + "sp-debug-derive 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", ] [[package]] -name = "sp-authorship" +name = "sp-arithmetic" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b472a16a6653d84bbb9ce148c75e136f468b24479e1fbb3219dde88341fde89" dependencies = [ + "integer-sqrt", + "num-traits 0.2.12", "parity-scale-codec", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "serde", + "sp-debug-derive 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -6796,46 +5565,6 @@ dependencies = [ "sp-timestamp", ] -[[package]] -name = "sp-consensus-babe" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "merlin", - "parity-scale-codec", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-consensus-slots", - "sp-consensus-vrf", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sp-consensus-vrf" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "schnorrkel", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "sp-core" version = "2.0.0-rc5" @@ -6987,32 +5716,6 @@ dependencies = [ "sp-storage 2.0.0-rc5 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "sp-finality-grandpa" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "finality-grandpa", - "log 0.4.11", - "parity-scale-codec", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-application-crypto 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sp-finality-tracker" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "sp-inherents" version = "2.0.0-rc5" @@ -7092,29 +5795,6 @@ dependencies = [ "strum", ] -[[package]] -name = "sp-npos-elections" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-arithmetic 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-npos-elections-compact", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - -[[package]] -name = "sp-npos-elections-compact" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote 1.0.7", - "syn 1.0.37", -] - [[package]] name = "sp-offchain" version = "2.0.0-rc5" @@ -7264,19 +5944,6 @@ dependencies = [ "syn 1.0.37", ] -[[package]] -name = "sp-sandbox" -version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "parity-scale-codec", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-io 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-std 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-wasm-interface 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "wasmi", -] - [[package]] name = "sp-serializer" version = "2.0.0-rc5" @@ -7672,29 +6339,6 @@ dependencies = [ "platforms", ] -[[package]] -name = "substrate-frame-rpc-system" -version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -dependencies = [ - "frame-system-rpc-runtime-api", - "futures 0.3.5", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "log 0.4.11", - "parity-scale-codec", - "sc-client-api", - "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "serde", - "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", - "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", -] - [[package]] name = "substrate-prometheus-endpoint" version = "0.8.0-rc5" @@ -7780,7 +6424,6 @@ dependencies = [ "jsonrpc-pubsub", "jsonrpsee", "log 0.4.11", - "node-cli", "pallet-balances", "pallet-indices", "parity-scale-codec", @@ -7806,6 +6449,7 @@ dependencies = [ "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", "structopt", + "substrate-build-script-utils", "substrate-subxt", "test-runtime", "tokio 0.2.22", @@ -7818,31 +6462,6 @@ name = "substrate-wasm-builder-runner" version = "1.0.6" source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" -[[package]] -name = "substrate-wasmtime" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a69f5b3afef86e3e372529bf3fb1f7219b20287c4490e4cb4b4e91970f4f5" -dependencies = [ - "anyhow", - "backtrace", - "cfg-if", - "lazy_static", - "libc", - "log 0.4.11", - "region", - "rustc-demangle", - "smallvec 1.4.1", - "target-lexicon", - "wasmparser 0.59.0", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-profiling", - "wasmtime-runtime", - "wat", - "winapi 0.3.9", -] - [[package]] name = "subtle" version = "1.0.0" @@ -7919,12 +6538,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" -[[package]] -name = "target-lexicon" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0e7238dcc7b40a7be719a25365910f6807bd864f4cce6b2e6b873658e2b19d" - [[package]] name = "tempfile" version = "3.1.0" @@ -8774,7 +7387,6 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf617d864d25af3587aa745529f7aaa541066c876d57e050c0d0c85c61c92aff" dependencies = [ - "errno", "libc", "memory_units", "num-rational", @@ -8792,166 +7404,6 @@ dependencies = [ "parity-wasm", ] -[[package]] -name = "wasmparser" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32fddd575d477c6e9702484139cf9f23dcd554b06d185ed0f56c857dd3a47aa6" - -[[package]] -name = "wasmparser" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a950e6a618f62147fd514ff445b2a0b53120d382751960797f85f058c7eda9b9" - -[[package]] -name = "wasmtime-debug" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e634af9067a3af6cf2c7d33dc3b84767ddaf5d010ba68e80eecbcea73d4a349" -dependencies = [ - "anyhow", - "gimli 0.21.0", - "more-asserts", - "object 0.20.0", - "target-lexicon", - "thiserror", - "wasmparser 0.59.0", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-environ" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f85619a94ee4034bd5bb87fc3dcf71fd2237b81c840809da1201061eec9ab3" -dependencies = [ - "anyhow", - "base64 0.12.3", - "bincode", - "cfg-if", - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-wasm", - "directories", - "errno", - "file-per-thread-logger", - "indexmap", - "libc", - "log 0.4.11", - "more-asserts", - "rayon", - "serde", - "sha2 0.8.2", - "thiserror", - "toml", - "wasmparser 0.59.0", - "winapi 0.3.9", - "zstd", -] - -[[package]] -name = "wasmtime-jit" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e914c013c7a9f15f4e429d5431f2830fb8adb56e40567661b69c5ec1d645be23" -dependencies = [ - "anyhow", - "cfg-if", - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "cranelift-wasm", - "gimli 0.21.0", - "log 0.4.11", - "more-asserts", - "object 0.20.0", - "region", - "target-lexicon", - "thiserror", - "wasmparser 0.59.0", - "wasmtime-debug", - "wasmtime-environ", - "wasmtime-obj", - "wasmtime-profiling", - "wasmtime-runtime", - "winapi 0.3.9", -] - -[[package]] -name = "wasmtime-obj" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e81d8e02e9bc9fe2da9b6d48bbc217f96e089f7df613f11a28a3958abc44641e" -dependencies = [ - "anyhow", - "more-asserts", - "object 0.20.0", - "target-lexicon", - "wasmtime-debug", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-profiling" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8d4d1af8dd5f7096cfcc89dd668d358e52980c38cce199643372ffd6590e27" -dependencies = [ - "anyhow", - "cfg-if", - "gimli 0.21.0", - "lazy_static", - "libc", - "object 0.19.0", - "scroll", - "serde", - "target-lexicon", - "wasmtime-environ", - "wasmtime-runtime", -] - -[[package]] -name = "wasmtime-runtime" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a25f140bbbaadb07c531cba99ce1a966dba216138dc1b2a0ddecec851a01a93" -dependencies = [ - "backtrace", - "cc", - "cfg-if", - "indexmap", - "lazy_static", - "libc", - "log 0.4.11", - "memoffset", - "more-asserts", - "region", - "thiserror", - "wasmtime-environ", - "winapi 0.3.9", -] - -[[package]] -name = "wast" -version = "21.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1844f66a2bc8526d71690104c0e78a8e59ffa1597b7245769d174ebb91deb5" -dependencies = [ - "leb128", -] - -[[package]] -name = "wat" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce85d72b74242c340e9e3492cfb602652d7bb324c3172dd441b5577e39a2e18c" -dependencies = [ - "wast", -] - [[package]] name = "web-sys" version = "0.3.44" @@ -9174,34 +7626,3 @@ dependencies = [ "syn 1.0.37", "synstructure", ] - -[[package]] -name = "zstd" -version = "0.5.3+zstd.1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b32eaf771efa709e8308605bbf9319bf485dc1503179ec0469b611937c0cd8" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "2.0.5+zstd.1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfb642e0d27f64729a639c52db457e0ae906e7bc6f5fe8f5c453230400f1055" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "1.4.17+zstd.1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b89249644df056b522696b1bb9e7c18c87e8ffa3e2f0dc3b0155875d6498f01b" -dependencies = [ - "cc", - "glob", - "itertools 0.9.0", - "libc", -] diff --git a/Cargo.toml b/Cargo.toml index a2ab6f4..a468d6e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,15 +3,18 @@ name = "substrate-test-runner" version = "0.1.0" authors = ["Tomasz Drwięga "] edition = "2018" +build = "build.rs" [workspace] members = [ "runtime" ] +[build-dependencies] +substrate-build-script-utils = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } + [dependencies] runtime = { package = "test-runtime", path = "./runtime" } -node-cli = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-executor = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-service = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..21c531e --- /dev/null +++ b/build.rs @@ -0,0 +1,8 @@ +use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed}; + +fn main() { + generate_cargo_keys(); + + rerun_if_git_head_changed(); +} + diff --git a/src/cli.rs b/src/cli.rs new file mode 100644 index 0000000..3f00444 --- /dev/null +++ b/src/cli.rs @@ -0,0 +1,134 @@ +use runtime::{ + AccountId, BalancesConfig, GenesisConfig, IndicesConfig, Signature, SudoConfig, SystemConfig, WASM_BINARY, +}; +use sc_cli::{RunCmd, RuntimeVersion, Subcommand, SubstrateCli}; +use sc_service::ChainType; +use sp_core::{sr25519, Pair, Public}; +use sp_runtime::traits::{IdentifyAccount, Verify}; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +pub struct Cli { + #[structopt(subcommand)] + pub subcommand: Option, + + #[structopt(flatten)] + pub run: RunCmd, +} + +impl SubstrateCli for Cli { + fn impl_name() -> String { + "Substrate Node".into() + } + + fn impl_version() -> String { + env!("SUBSTRATE_CLI_IMPL_VERSION").into() + } + + fn description() -> String { + env!("CARGO_PKG_DESCRIPTION").into() + } + + fn author() -> String { + env!("CARGO_PKG_AUTHORS").into() + } + + fn support_url() -> String { + "support.anonymous.an".into() + } + + fn copyright_start_year() -> i32 { + 2017 + } + + fn load_spec(&self, _: &str) -> Result, String> { + // we supply our own chainspec + Ok(Box::new(development_config()?)) + } + + fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { + &runtime::VERSION + } +} +/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. +pub type ChainSpec = sc_service::GenericChainSpec; + +/// Generate a crypto pair from seed. +pub fn get_from_seed(seed: &str) -> ::Public { + TPublic::Pair::from_string(&format!("//{}", seed), None) + .expect("static values are valid; qed") + .public() +} + +type AccountPublic = ::Signer; + +/// Generate an account ID from seed. +pub fn get_account_id_from_seed(seed: &str) -> AccountId +where + AccountPublic: From<::Public>, +{ + AccountPublic::from(get_from_seed::(seed)).into_account() +} + +pub fn development_config() -> Result { + Ok(ChainSpec::from_genesis( + "Development", + "dev", + ChainType::Development, + move || { + testnet_genesis( + WASM_BINARY, + get_account_id_from_seed::("Alice"), + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + true, + ) + }, + vec![], + // Telemetry + None, + // Protocol ID + None, + // Properties + None, + // Extensions + None, + )) +} + +/// Configure initial storage state for FRAME modules. +fn testnet_genesis( + wasm_binary: &[u8], + root_key: AccountId, + endowed_accounts: Vec, + _enable_println: bool, +) -> GenesisConfig { + GenesisConfig { + system: Some(SystemConfig { + // Add Wasm runtime to storage. + code: wasm_binary.to_vec(), + changes_trie_config: Default::default(), + }), + balances: Some(BalancesConfig { + // Configure endowed accounts with initial balance of 1 << 60. + balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect(), + }), + indices: Some(IndicesConfig { indices: vec![] }), + sudo: Some(SudoConfig { + // Assign network admin rights. + key: root_key, + }), + } +} diff --git a/src/lib.rs b/src/lib.rs index 5c7b5c7..4b44172 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,6 @@ pub mod node; pub mod rpc; -pub mod subxt; +mod cli; pub mod test; pub mod types; diff --git a/src/node.rs b/src/node.rs index 6dd025e..0e31a40 100644 --- a/src/node.rs +++ b/src/node.rs @@ -51,7 +51,7 @@ impl InternalNode { } pub fn new(logs: Logger, cli: &[String]) -> Self { - let cli = node_cli::Cli::from_iter(cli.iter()); + let cli = crate::cli::Cli::from_iter(cli.iter()); let tokio_runtime = tokio_compat::runtime::Runtime::new().unwrap(); let newer_runtime = build_runtime().unwrap(); let runtime_handle = newer_runtime.handle().clone(); diff --git a/src/subxt.rs b/src/subxt.rs deleted file mode 100644 index b6e8c1d..0000000 --- a/src/subxt.rs +++ /dev/null @@ -1,96 +0,0 @@ -use futures::compat::Future01CompatExt; -use futures::{ - channel::mpsc, - compat::{Compat01As03, Sink01CompatExt, Stream01CompatExt}, - sink::SinkExt, - stream::StreamExt, -}; -use futures01::sync::mpsc as mpsc01; -use jsonrpc_core::MetaIoHandler; -use jsonrpsee::{ - common::{Request, Response}, - transport::TransportClient, -}; -pub use sc_service::{ - config::{DatabaseConfig, KeystoreConfig}, - Error as ServiceError, -}; -use std::{future::Future, pin::Pin, sync::Arc}; - -/// Error thrown by the client. -#[derive(Debug, derive_more::Display, derive_more::From, derive_more::Error)] -pub enum SubxtClientError { - /// Failed to parse json rpc message. - #[display(fmt = "{}", _0)] - Json(serde_json::Error), - /// Channel closed. - #[display(fmt = "{}", _0)] - Mpsc(mpsc::SendError), -} - -/// Client for an embedded substrate node. -pub struct SubxtClient { - request_sink: mpsc::Sender, - response_stream: Compat01As03>, -} - -impl SubxtClient { - /// Create a new client. - pub fn new(rpc: Arc>) -> Self { - let (request_sink, mut request_stream) = mpsc::channel::(4); - let (response_sink, response_stream) = mpsc01::channel::(4); - - let session = response_sink.clone(); - - tokio::task::spawn(async move { - while let Some(request) = request_stream.next().await { - let rpc = rpc.clone(); - let mut response_sink = response_sink.clone().sink_compat(); - - let response = rpc.handle_request(&request, session.clone().into()).compat().await; - if let Ok(Some(response)) = response { - response_sink.send(response).await.ok(); - } - } - }); - - Self { - request_sink, - response_stream: response_stream.compat(), - } - } -} - -impl TransportClient for SubxtClient { - type Error = SubxtClientError; - - fn send_request<'a>( - &'a mut self, - request: Request, - ) -> Pin> + Send + 'a>> { - Box::pin(async move { - let request = serde_json::to_string(&request)?; - self.request_sink.send(request).await?; - Ok(()) - }) - } - - fn next_response<'a>(&'a mut self) -> Pin> + Send + 'a>> { - Box::pin(async move { - let response = self - .response_stream - .next() - .await - .expect("channel shouldn't close") - .unwrap(); - Ok(serde_json::from_str(&response)?) - }) - } -} - -impl From for jsonrpsee::Client { - fn from(client: SubxtClient) -> Self { - let client = jsonrpsee::raw::RawClient::new(client); - jsonrpsee::Client::new(client) - } -} diff --git a/src/test/externalities.rs b/src/test/externalities.rs index 3b0cb91..0f38e00 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -4,9 +4,11 @@ use sp_core::offchain::TransactionPool; use sp_externalities::Extensions; use sp_storage::{ChildInfo, StorageKey}; use std::any::{Any, TypeId}; +use std::collections::HashMap; pub struct TestExternalities { client: rpc::StateClient, + overlay: HashMap, Option>>, extensions: Extensions, } @@ -34,6 +36,7 @@ impl TestExternalities { pub fn new(client: rpc::StateClient) -> Self { Self { client, + overlay: Default::default(), extensions: Extensions::new(), } } @@ -70,12 +73,15 @@ impl sp_externalities::Externalities for TestExter } fn storage(&self, key: &[u8]) -> Option> { + if let Some(value) = self.overlay.get(key) { + return value.as_ref().cloned(); + } + // this is pretty weird, but stay with me. // the tests in `simple_run` is wrapped with a tokio runtime // so this means the code path here has access to the tokio v0.1 runtime - // requried for this future to complete, without the runtime, this call would panic. - self.client - .storage(StorageKey(key.to_vec()), None) + // requried for this future to complete, without the runtime, this call would panic. + self.client.storage(StorageKey(key.to_vec()), None) .wait() .ok() .flatten() @@ -114,9 +120,8 @@ impl sp_externalities::Externalities for TestExter unimplemented!("clear_child_prefix") } - fn place_storage(&mut self, _key: Vec, _value: Option>) { - // Create a sudo transaction that alters storage on-chain. - unimplemented!("place_storage") + fn place_storage(&mut self, key: Vec, value: Option>) { + self.overlay.insert(key, value); } fn place_child_storage(&mut self, _child_info: &ChildInfo, _key: Vec, _value: Option>) { diff --git a/tests/simple_run.rs b/tests/simple_run.rs index f48df2c..ee9c9cf 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -6,8 +6,8 @@ use runtime::{Runtime, RuntimeKeyType}; use sp_core::crypto::Pair; use sp_keyring::Sr25519Keyring; use sp_runtime::{traits::IdentifyAccount, MultiSigner}; -use substrate_subxt::{balances::TransferCallExt, ClientBuilder, DefaultNodeRuntime, PairSigner}; -use substrate_test_runner::{prelude::*, rpc, subxt, test}; +use substrate_test_runner::{prelude::*, rpc, test}; + #[test] fn should_run_off_chain_worker() { let mut test = test::deterministic( @@ -48,7 +48,7 @@ fn should_read_state() { let mut test = test::deterministic(test::node::().start()); type Balances = pallet_balances::Module; - // test.produce_blocks(1); + test.produce_blocks(1); let alice = Sr25519Keyring::Alice.pair(); let bob = Sr25519Keyring::Bob.pair(); @@ -56,10 +56,11 @@ fn should_read_state() { let signer = Signer::::all_accounts() // only use alice' account. .with_filter(vec![alice.public().into()]); + log::info!("\n\nalice: {}\n\n", alice.public()); let alice_balance = test.with_state(|| Balances::free_balance(MultiSigner::from(alice.public()).into_account())); - let result = test.with_state(|| { + let mut result = test.with_state(|| { signer.send_signed_transaction(|_| { BalancesCall::transfer( Address::from(MultiSigner::from(bob.public()).into_account()), @@ -68,13 +69,15 @@ fn should_read_state() { }) }); - log::info!("ext result: {:#?}", result); + assert!(result.pop().unwrap().1.is_ok()); test.produce_blocks(1); let new_alice_balance = test.with_state(|| Balances::free_balance(MultiSigner::from(alice.public()).into_account())); + log::info!("\n\n{},\n{}\n\n\n", alice_balance, new_alice_balance); + // account for fees assert!((alice_balance - new_alice_balance) > 8900000000000000); } From 8d6cf6b49e6b99df4d969c77a7d251247cd1893f Mon Sep 17 00:00:00 2001 From: Seun Date: Tue, 4 Aug 2020 21:21:02 +0100 Subject: [PATCH 13/16] alice's balance doesn't change --- src/test/deterministic.rs | 2 +- tests/simple_run.rs | 40 +++++++++++++++++++++++++-------------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 8d2c2b8..dfdc23b 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -36,7 +36,7 @@ impl Deterministic { let keystore = KeyStore::new(); - // here we load all the test keys (which have initial ballances) + // here we load all the test keys (which have initial balances) // in the keyring into the keystore for key in Keyring::iter() { keystore diff --git a/tests/simple_run.rs b/tests/simple_run.rs index ee9c9cf..a649718 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,7 +1,6 @@ use frame_system::offchain::{SendSignedTransaction, Signer}; use futures::compat::Future01CompatExt; use pallet_balances::Call as BalancesCall; -use pallet_indices::address::Address; use runtime::{Runtime, RuntimeKeyType}; use sp_core::crypto::Pair; use sp_keyring::Sr25519Keyring; @@ -54,18 +53,21 @@ fn should_read_state() { let bob = Sr25519Keyring::Bob.pair(); let signer = Signer::::all_accounts() - // only use alice' account. + // only use alice' account for signing .with_filter(vec![alice.public().into()]); - log::info!("\n\nalice: {}\n\n", alice.public()); - let alice_balance = test.with_state(|| Balances::free_balance(MultiSigner::from(alice.public()).into_account())); + let (bob_balance, alice_balance) = test.with_state(|| { + ( + Balances::free_balance(MultiSigner::from(bob.public()).into_account()), + Balances::free_balance(MultiSigner::from(alice.public()).into_account()), + ) + }); + log::info!("\n\n{:?}\n\n", MultiSigner::from(alice.public())); let mut result = test.with_state(|| { - signer.send_signed_transaction(|_| { - BalancesCall::transfer( - Address::from(MultiSigner::from(bob.public()).into_account()), - 8900000000000000, - ) + signer.send_signed_transaction(|account| { + log::info!("\n\naccount: {:#?}\n\n", account); + BalancesCall::transfer(MultiSigner::from(bob.public()).into_account().into(), 8900000000000000) }) }); @@ -73,13 +75,23 @@ fn should_read_state() { test.produce_blocks(1); - let new_alice_balance = - test.with_state(|| Balances::free_balance(MultiSigner::from(alice.public()).into_account())); + let (new_bob_balance, new_alice_balance) = test.with_state(|| { + ( + Balances::free_balance(MultiSigner::from(bob.public()).into_account()), + Balances::free_balance(MultiSigner::from(alice.public()).into_account()), + ) + }); - log::info!("\n\n{},\n{}\n\n\n", alice_balance, new_alice_balance); + // FIXME: alice' balance doesnt change lmao + log::info!( + "\n\nBob: before {}, after {}\n\nAlice: before {}, after {}\n\n", + bob_balance, + new_bob_balance, + alice_balance, + new_alice_balance + ); - // account for fees - assert!((alice_balance - new_alice_balance) > 8900000000000000); + assert_eq!((new_bob_balance - bob_balance), 8900000000000000); } #[test] From 5fbe977411fc12bfee153bea653be5b6973b9b2c Mon Sep 17 00:00:00 2001 From: Seun Date: Thu, 6 Aug 2020 19:00:53 +0100 Subject: [PATCH 14/16] InternalNode is now generic over runtime --- Cargo.lock | 8 ++ Cargo.toml | 10 ++ src/lib.rs | 2 + src/node.rs | 241 +++++++++++++++++--------------------- src/test/blackbox.rs | 40 +++---- src/test/deterministic.rs | 11 +- src/test/externalities.rs | 3 + src/test/mod.rs | 15 +-- tests/simple_run.rs | 46 +++++--- 9 files changed, 187 insertions(+), 189 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 06862d1..0e58c32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6432,6 +6432,8 @@ dependencies = [ "rand 0.7.3", "sc-basic-authorship", "sc-cli", + "sc-client-api", + "sc-client-db", "sc-consensus", "sc-consensus-manual-seal", "sc-executor", @@ -6441,13 +6443,19 @@ dependencies = [ "sc-service", "sc-transaction-pool", "serde_json", + "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-block-builder 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-externalities 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-inherents 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-keyring", + "sp-offchain", "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", + "sp-session", "sp-storage 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-timestamp", + "sp-transaction-pool 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "structopt", "substrate-build-script-utils", "substrate-subxt", diff --git a/Cargo.toml b/Cargo.toml index a468d6e..ce63951 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,10 +24,20 @@ sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", bra sc-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-blockchain = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-block-builder = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } + +sp-api = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } + sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-client-db = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-client-api = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-keystore = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-session = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sp-offchain = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sp-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } frame-system = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/src/lib.rs b/src/lib.rs index 4b44172..41b52ee 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,6 +4,8 @@ mod cli; pub mod test; pub mod types; + + pub mod prelude { pub use super::rpc::RpcExtension; pub use super::test::*; diff --git a/src/node.rs b/src/node.rs index 0e31a40..a5778c1 100644 --- a/src/node.rs +++ b/src/node.rs @@ -1,26 +1,25 @@ use futures::FutureExt; use jsonrpc_core::MetaIoHandler; -use jsonrpc_core_client::transports::local; -use jsonrpc_core_client::RpcChannel; +use jsonrpc_core_client::{transports::local, RpcChannel}; use parking_lot::RwLock; use sc_cli::{build_runtime, SubstrateCli}; -use sc_executor::native_executor_instance; +use sc_executor::NativeExecutionDispatch; use sc_service::{ - build_network, new_full_parts, spawn_tasks, BuildNetworkParams, Configuration, RpcHandlers, SpawnTasksParams, - TaskExecutor, TaskManager, TaskType, + build_network, new_full_parts, spawn_tasks, BuildNetworkParams, SpawnTasksParams, + TaskExecutor, TaskManager, TaskType, TFullClient, TFullBackend, }; use sc_transaction_pool::BasicPool; use sp_inherents::InherentDataProviders; +use sp_runtime::traits::Block as BlockT; +use sp_transaction_pool::runtime_api::TaggedTransactionQueue; +use sp_offchain::OffchainWorkerApi; +use sp_session::SessionKeys; +use sp_block_builder::BlockBuilder; +use sc_client_api::backend::Backend; +use sp_api::{ConstructRuntimeApi, ApiErrorExt, Core, Metadata, ApiExt}; use std::io::Write; -use std::marker::PhantomData; use std::sync::Arc; - -// Our native executor instance. -native_executor_instance!( - pub Executor, - runtime::api::dispatch, - runtime::native_version, -); +use crate::cli::Cli; type Module = String; type Logger = Arc>>>; @@ -28,8 +27,8 @@ type Logger = Arc>>>; /// this holds a reference to a running node on another thread, /// we set a port over cli, process is dropped when this struct is dropped /// holds logs from the process. -pub struct InternalNode { - logs: Logger, +pub struct InternalNode { + logger: Logger, /// rpc handler for communicating with the node over rpc. rpc_handlers: Arc>, @@ -37,47 +36,14 @@ pub struct InternalNode { /// tokio-compat runtime compat_runtime: tokio_compat::runtime::Runtime, + /// node tokio runtime _runtime: tokio::runtime::Runtime, /// handle to the running node. _task_manager: Option, - - _phantom: PhantomData, } -impl InternalNode { - pub fn builder() -> InternalNodeBuilder { - InternalNodeBuilder::new() - } - - pub fn new(logs: Logger, cli: &[String]) -> Self { - let cli = crate::cli::Cli::from_iter(cli.iter()); - let tokio_runtime = tokio_compat::runtime::Runtime::new().unwrap(); - let newer_runtime = build_runtime().unwrap(); - let runtime_handle = newer_runtime.handle().clone(); - - let task_executor = move |fut, task_type| match task_type { - TaskType::Async => runtime_handle.spawn(fut).map(drop), - TaskType::Blocking => runtime_handle - .spawn_blocking(move || futures::executor::block_on(fut)) - .map(drop), - }; - - let config = cli - .create_configuration(&cli.run, TaskExecutor::from(task_executor)) - .expect("failed to create node config"); - let (task_manager, rpc_handlers) = build_node(config).unwrap(); - - Self { - logs, - _task_manager: Some(task_manager), - compat_runtime: tokio_runtime, - _runtime: newer_runtime, - rpc_handlers: rpc_handlers.io_handler(), - _phantom: PhantomData, - } - } - +impl InternalNode { pub fn rpc_handler(&self) -> Arc> { self.rpc_handlers.clone() } @@ -98,102 +64,103 @@ impl InternalNode { } pub(crate) fn logs(&self) -> &Logger { - &self.logs + &self.logger } } -impl Drop for InternalNode { +impl Drop for InternalNode { fn drop(&mut self) { if let Some(mut task_manager) = self._task_manager.take() { task_manager.terminate() } } } -#[derive(Debug)] -pub struct InternalNodeBuilder { - /// Parameters passed as-is. - cli: Vec, - logs: Logger, - _phantom: PhantomData, -} -impl InternalNodeBuilder { - pub fn new() -> Self { - let ignore = [ - "yamux", - "multistream_select", - "libp2p", - "jsonrpc_client_transports", - "sc_network", - "tokio_reactor", - "sub-libp2p", - "sync", - "peerset", - "ws", - "sc_network", - "sc_service", - "sc_peerset", - "rpc", - ]; - let logs = Logger::default(); - { - let logs = logs.clone(); - let mut builder = env_logger::builder(); - builder.format(move |buf: &mut env_logger::fmt::Formatter, record: &log::Record| { - let entry = format!("{} {} {}", record.level(), record.target(), record.args()); - let res = writeln!(buf, "{}", entry); - logs.write().entry(record.target().to_string()).or_default().push(entry); - res - }); - builder.filter_level(log::LevelFilter::Debug); - builder.filter_module("runtime", log::LevelFilter::Trace); - for module in &ignore { - builder.filter_module(module, log::LevelFilter::Info); - } - - let _ = builder.is_test(true).try_init(); - } - - // create random directory for database - let random_path = { - let dir: String = rand::Rng::sample_iter(rand::thread_rng(), &rand::distributions::Alphanumeric) - .take(15) - .collect(); - let path = format!("/tmp/substrate-test-runner/{}", dir); - std::fs::create_dir_all(&path).unwrap(); - path - }; - - Self { - cli: vec![ - "--no-mdns".into(), - "--no-prometheus".into(), - "--no-telemetry".into(), - format!("--base-path={}", random_path), - "--dev".into(), - ], - logs, - _phantom: PhantomData, +pub fn build_logger() -> Logger { + let ignore = [ + "yamux", + "multistream_select", + "libp2p", + "jsonrpc_client_transports", + "sc_network", + "tokio_reactor", + "sub-libp2p", + "sync", + "peerset", + "ws", + "sc_network", + "sc_service", + "sc_peerset", + "rpc", + ]; + let logs = Logger::default(); + { + let logs = logs.clone(); + let mut builder = env_logger::builder(); + builder.format(move |buf: &mut env_logger::fmt::Formatter, record: &log::Record| { + let entry = format!("{} {} {}", record.level(), record.target(), record.args()); + let res = writeln!(buf, "{}", entry); + logs.write().entry(record.target().to_string()).or_default().push(entry); + res + }); + builder.write_style(env_logger::WriteStyle::Always); + builder.filter_level(log::LevelFilter::Debug); + builder.filter_module("runtime", log::LevelFilter::Trace); + for module in &ignore { + builder.filter_module(module, log::LevelFilter::Info); } + let _ = builder.is_test(true).try_init(); } - - pub fn cli_param(mut self, param: &str) -> Self { - self.cli.push(param.into()); - self - } - - pub fn start(self) -> InternalNode { - InternalNode::new(self.logs, &self.cli) - } + logs } /// starts a manual seal authorship task. -pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), sc_service::Error> { - // Channel for the rpc handler to communicate with the authorship task. - let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); +pub fn start_node(cli_args: &[&str]) + -> Result + where + Block: BlockT, + Executor: NativeExecutionDispatch + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, + >>::RuntimeApi: + Core + Metadata + OffchainWorkerApi + TaggedTransactionQueue + + SessionKeys + BlockBuilder + ApiErrorExt + + ApiExt as Backend>::State>, +{ + let logger = build_logger(); + // create random directory for database + let base_path = { + let dir: String = rand::Rng::sample_iter(rand::thread_rng(), &rand::distributions::Alphanumeric) + .take(15) + .collect(); + let path = format!("/tmp/substrate-test-runner/{}", dir); + std::fs::create_dir_all(&path).unwrap(); + format!("--base-path={}", path) + }; + let mut args = vec![ + "--dev", + "--no-mdns", + "--no-prometheus", + "--no-telemetry", + ]; + args.push(&base_path); + + args.extend(cli_args.iter().cloned()); + let cli = Cli::from_iter(args); + let compat_runtime = tokio_compat::runtime::Runtime::new().unwrap(); + let tokio_runtime = build_runtime().unwrap(); + let runtime_handle = tokio_runtime.handle().clone(); + + let task_executor = move |fut, task_type| match task_type { + TaskType::Async => runtime_handle.spawn(fut).map(drop), + TaskType::Blocking => runtime_handle + .spawn_blocking(move || futures::executor::block_on(fut)) + .map(drop), + }; + + let config = cli.create_configuration(&cli.run, TaskExecutor::from(task_executor)) + .expect("failed to create node config"); - let (client, backend, keystore, mut task_manager) = - new_full_parts::(&config)?; + let (client, backend, keystore, mut task_manager) = new_full_parts::(&config)?; let client = Arc::new(client); let import_queue = manual_seal::import_queue(Box::new(client.clone()), &task_manager.spawn_handle(), None); @@ -226,6 +193,9 @@ pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), s config.prometheus_registry(), ); + // Channel for the rpc handler to communicate with the authorship task. + let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); + let rpc_handlers = { let params = SpawnTasksParams { config, @@ -241,7 +211,7 @@ pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), s io.extend_with( // We provide the rpc handler with the sending end of the channel to allow the rpc // send EngineCommands to the background block authorship task. - rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), + rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), ); io }), @@ -277,6 +247,11 @@ pub fn build_node(config: Configuration) -> Result<(TaskManager, RpcHandlers), s .spawn_essential_handle() .spawn("manual-seal", authorship_future); - // we really only care about the rpc interface. - Ok((task_manager, rpc_handlers)) + Ok(InternalNode { + rpc_handlers: rpc_handlers.io_handler(), + _task_manager: Some(task_manager), + _runtime: tokio_runtime, + compat_runtime, + logger, + }) } diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 3349d4e..8cb9ff9 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -4,30 +4,37 @@ use crate::{ rpc::{self, RpcExtension}, types, }; +use std::marker::PhantomData; use jsonrpc_core_client::{transports::local, RpcChannel}; -pub enum BlackBoxNode { +pub enum BlackBoxNode { /// Connects to an external node. External(String), /// Spawns a pristine node. - Internal(InternalNode), + Internal(InternalNode), } /// A black box test. -pub struct BlackBox { - node: BlackBoxNode, +pub struct BlackBox { + node: BlackBoxNode, + _phantom: PhantomData } -impl BlackBox -where - Runtime: frame_system::Trait, +impl BlackBox + where + R: frame_system::Trait, { - pub async fn with_state(&mut self, closure: impl FnOnce() -> R) -> R { - TestExternalities::::new(self.rpc()).execute_with(closure) + pub async fn with_state(&mut self, closure: impl FnOnce() -> T) -> T { + TestExternalities::::new(self.rpc()).execute_with(closure) + } + + /// Wait `number` of blocks. + pub fn wait_blocks(&self, _number: impl Into>) { + todo!() } } -impl rpc::RpcExtension for BlackBox { +impl rpc::RpcExtension for BlackBox { fn rpc + 'static>(&mut self) -> TClient { let client = match self.node { BlackBoxNode::External(ref url) => futures::executor::block_on(rpc::connect_ws(&url)).unwrap(), @@ -43,15 +50,8 @@ impl rpc::RpcExtension for BlackBox { } } -impl BlackBox { - pub fn new(node: BlackBoxNode) -> Self { - Self { node } - } -} - -impl BlackBox { - /// Wait `number` of blocks. - pub fn wait_blocks(&self, _number: impl Into>) { - todo!() +impl BlackBox{ + pub fn new(node: BlackBoxNode) -> Self { + Self { node, _phantom: PhantomData } } } diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index dfdc23b..6ecf977 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -16,7 +16,7 @@ use std::ops::{Deref, DerefMut}; /// A deterministic internal instance of substrate node. pub struct Deterministic { - node: InternalNode, + node: InternalNode, externalities: TestExternalities, } @@ -27,7 +27,7 @@ impl rpc::RpcExtension for Deterministic } impl Deterministic { - pub fn new(node: InternalNode) -> Self { + pub fn new(node: InternalNode) -> Self { let mut externalities = TestExternalities::::new(node.rpc_client()); (&mut externalities as &mut dyn Externalities) @@ -68,15 +68,12 @@ impl Deterministic { } pub fn produce_blocks(&mut self, num: usize) { - log::info!("produce blocks"); - let client = self.rpc::>(); - log::info!("produce blocks"); for _ in 0..num { self.node .tokio_runtime() - .block_on(client.create_block(true, true, None)) + .block_on(client.create_block(true, false, None)) .expect("block production failed: "); } log::info!("sealed {} blocks", num) @@ -89,7 +86,7 @@ impl Deterministic { } impl Deref for Deterministic { - type Target = InternalNode; + type Target = InternalNode; fn deref(&self) -> &Self::Target { &self.node diff --git a/src/test/externalities.rs b/src/test/externalities.rs index 0f38e00..04ca223 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -74,6 +74,7 @@ impl sp_externalities::Externalities for TestExter fn storage(&self, key: &[u8]) -> Option> { if let Some(value) = self.overlay.get(key) { + log::info!("fetching from overlay: {:?}", key); return value.as_ref().cloned(); } @@ -121,6 +122,8 @@ impl sp_externalities::Externalities for TestExter } fn place_storage(&mut self, key: Vec, value: Option>) { + log::info!("inserting into overlay: {:?}\n\n{:?}", key, value); + self.overlay.insert(key, value); } diff --git a/src/test/mod.rs b/src/test/mod.rs index b3acd70..0ba13d3 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -2,21 +2,16 @@ pub mod blackbox; pub mod deterministic; pub mod externalities; -pub fn blackbox_external(url: &str) -> blackbox::BlackBox { +use crate::node::InternalNode; + +pub fn blackbox_external(url: &str) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } -pub fn blackbox_internal() -> blackbox::BlackBox { - let node = crate::node::InternalNode::::builder().start(); +pub fn blackbox_internal(node: InternalNode) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic( - node: crate::node::InternalNode, -) -> deterministic::Deterministic { +pub fn deterministic(node: InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } - -pub fn node() -> crate::node::InternalNodeBuilder { - crate::node::InternalNode::::builder() -} diff --git a/tests/simple_run.rs b/tests/simple_run.rs index a649718..1aab7da 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,24 +1,27 @@ use frame_system::offchain::{SendSignedTransaction, Signer}; use futures::compat::Future01CompatExt; use pallet_balances::Call as BalancesCall; -use runtime::{Runtime, RuntimeKeyType}; +use runtime::{Runtime, RuntimeApi, opaque::Block, RuntimeKeyType}; use sp_core::crypto::Pair; use sp_keyring::Sr25519Keyring; use sp_runtime::{traits::IdentifyAccount, MultiSigner}; -use substrate_test_runner::{prelude::*, rpc, test}; +use substrate_test_runner::{prelude::*, rpc, test, node::start_node}; +use sc_executor::native_executor_instance; + +// Declare an instance of the native executor named `Executor`. Include the wasm binary as the +// equivalent wasm code. +native_executor_instance!( + pub Executor, + runtime::api::dispatch, + runtime::native_version, +); + #[test] fn should_run_off_chain_worker() { - let mut test = test::deterministic( - test::node::() - // TODO [ToDr] This does not work properly, since we have a shared logger. - .cli_param("-lsc_offchain=trace") - // .with_sudo(Keyring::Alice) - // .with_genesis_state(|| { - // ... - // }) - .start(), - ); + let node = start_node::(&["-lsc_offchain=trace"]).unwrap(); + + let mut test = test::deterministic::(node); let mut runtime = tokio_compat::runtime::Runtime::new().unwrap(); runtime.block_on_std(async { let chain_client = test.rpc::>(); @@ -44,12 +47,13 @@ fn should_run_off_chain_worker() { #[test] fn should_read_state() { // given - let mut test = test::deterministic(test::node::().start()); + let node = start_node::(&[]).unwrap(); + let mut test = test::deterministic::(node); type Balances = pallet_balances::Module; test.produce_blocks(1); - let alice = Sr25519Keyring::Alice.pair(); + let alice = Sr25519Keyring::Charlie.pair(); let bob = Sr25519Keyring::Bob.pair(); let signer = Signer::::all_accounts() @@ -57,16 +61,16 @@ fn should_read_state() { .with_filter(vec![alice.public().into()]); let (bob_balance, alice_balance) = test.with_state(|| { + let events = frame_system::Module::::events(); + log::info!("{:#?}", events); ( Balances::free_balance(MultiSigner::from(bob.public()).into_account()), Balances::free_balance(MultiSigner::from(alice.public()).into_account()), ) }); - log::info!("\n\n{:?}\n\n", MultiSigner::from(alice.public())); let mut result = test.with_state(|| { - signer.send_signed_transaction(|account| { - log::info!("\n\naccount: {:#?}\n\n", account); + signer.send_signed_transaction(|_account| { BalancesCall::transfer(MultiSigner::from(bob.public()).into_account().into(), 8900000000000000) }) }); @@ -76,17 +80,21 @@ fn should_read_state() { test.produce_blocks(1); let (new_bob_balance, new_alice_balance) = test.with_state(|| { + let events = frame_system::Module::::events(); + log::info!("{:#?}", events); ( Balances::free_balance(MultiSigner::from(bob.public()).into_account()), Balances::free_balance(MultiSigner::from(alice.public()).into_account()), ) }); - // FIXME: alice' balance doesnt change lmao + // FIXME: alice' balance doesnt change lmao log::info!( - "\n\nBob: before {}, after {}\n\nAlice: before {}, after {}\n\n", + "\n\n{:#?}: before {}, after {}\n\n{:#?}: before {}, after {}\n\n", + MultiSigner::from(bob.public()), bob_balance, new_bob_balance, + MultiSigner::from(alice.public()), alice_balance, new_alice_balance ); From 9667b4ac22aec4b47b49ba4f14917889fc89ab97 Mon Sep 17 00:00:00 2001 From: Seun Date: Fri, 7 Aug 2020 13:35:21 +0100 Subject: [PATCH 15/16] now it's generic over runtime --- Cargo.lock | 274 ++++++++++++++++++++++---------------------- src/cli.rs | 10 +- src/lib.rs | 2 +- src/node.rs | 14 ++- tests/simple_run.rs | 6 +- 5 files changed, 155 insertions(+), 151 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0e58c32..938435f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -196,7 +196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" dependencies = [ "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -633,9 +633,9 @@ dependencies = [ [[package]] name = "clap" -version = "2.33.1" +version = "2.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129" +checksum = "10040cdf04294b565d9e0319955430099ec3813a64c952b86a41200ad714ae48" dependencies = [ "ansi_term 0.11.0", "atty", @@ -657,9 +657,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296417c8154304ac70aceda41f05318f986f7c0c767bcb0a2366fbb890e78e1" +checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" dependencies = [ "cache-padded", ] @@ -831,7 +831,7 @@ checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -907,7 +907,7 @@ checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -986,9 +986,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "2.3.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298f00c3b04c1d9b4cb86aefaaa35348af0957d98b30a5306fc635f8e718923d" +checksum = "68082183f458867ce7cddea16d4df4443c1537112c0c09c450dedc09daf5c719" [[package]] name = "exit-future" @@ -1017,7 +1017,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "synstructure", ] @@ -1097,7 +1097,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", ] @@ -1105,7 +1105,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "frame-system", @@ -1122,7 +1122,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "frame-system", @@ -1137,7 +1137,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "11.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "serde", @@ -1160,7 +1160,7 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "bitmask", "frame-metadata 11.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -1185,40 +1185,40 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support-procedural-tools", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "frame-support-procedural-tools" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "frame-system" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1385,7 +1385,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -1922,7 +1922,7 @@ checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -2063,7 +2063,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -2180,7 +2180,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -2377,7 +2377,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f753d9324cd3ec14bf04b8a8cd0d269c87f294153d6bf2a84497a63a5ad22213" dependencies = [ "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -3150,7 +3150,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3164,7 +3164,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "frame-system", @@ -3180,7 +3180,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "frame-system", @@ -3193,7 +3193,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "frame-system", @@ -3207,7 +3207,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3224,7 +3224,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "frame-system", @@ -3241,7 +3241,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "frame-support", "parity-scale-codec", @@ -3305,7 +3305,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -3356,7 +3356,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" dependencies = [ "proc-macro2", - "syn 1.0.37", + "syn 1.0.38", "synstructure", ] @@ -3496,7 +3496,7 @@ checksum = "2c0e815c3ee9a031fdf5af21c10aa17c573c9c6a566328d99e3936c34e36461f" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -3578,7 +3578,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "version_check 0.9.2", ] @@ -3694,7 +3694,7 @@ dependencies = [ "itertools 0.8.2", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -4018,7 +4018,7 @@ checksum = "7d21b475ab879ef0e315ad99067fa25778c3b0377f57f1b00207448dac1a3144" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -4066,7 +4066,7 @@ checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -4228,7 +4228,7 @@ checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" [[package]] name = "sc-basic-authorship" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -4252,7 +4252,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -4269,7 +4269,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -4285,18 +4285,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "sc-cli" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "ansi_term 0.12.1", "atty", @@ -4337,7 +4337,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "fnv", @@ -4373,7 +4373,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "blake2-rfc", "hash-db", @@ -4402,7 +4402,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "sc-client-api", "sp-blockchain 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "assert_matches", "derive_more", @@ -4438,7 +4438,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "lazy_static", @@ -4465,7 +4465,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "log 0.4.11", @@ -4482,7 +4482,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "log 0.4.11", "parity-scale-codec", @@ -4497,7 +4497,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", @@ -4515,7 +4515,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "hex", @@ -4531,7 +4531,7 @@ dependencies = [ [[package]] name = "sc-light" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "hash-db", "lazy_static", @@ -4550,7 +4550,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "bitflags", "bs58", @@ -4602,7 +4602,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "bytes 0.5.6", "fnv", @@ -4629,7 +4629,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "futures 0.3.5", "libp2p", @@ -4642,7 +4642,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "log 0.4.11", "substrate-prometheus-endpoint 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -4651,7 +4651,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "futures 0.3.5", "hash-db", @@ -4683,7 +4683,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "futures 0.3.5", @@ -4732,7 +4732,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", @@ -4748,7 +4748,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "directories", @@ -4812,7 +4812,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "log 0.4.11", "parity-scale-codec", @@ -4826,7 +4826,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "erased-serde", "log 0.4.11", @@ -4864,7 +4864,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "futures 0.3.5", @@ -4885,7 +4885,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "futures 0.3.5", @@ -5057,7 +5057,7 @@ checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -5135,9 +5135,9 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "signal-hook-registry" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" +checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035" dependencies = [ "arc-swap", "libc", @@ -5196,7 +5196,7 @@ checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -5303,7 +5303,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "log 0.4.11", @@ -5315,7 +5315,7 @@ dependencies = [ [[package]] name = "sp-api" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "hash-db", "parity-scale-codec", @@ -5346,13 +5346,13 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "blake2-rfc", "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -5365,13 +5365,13 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "sp-application-crypto" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "serde", @@ -5396,7 +5396,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "integer-sqrt", "num-traits 0.2.12", @@ -5423,7 +5423,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5448,7 +5448,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "log 0.4.11", @@ -5483,7 +5483,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "serde", "serde_json", @@ -5502,7 +5502,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "futures 0.3.5", @@ -5554,7 +5554,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5568,7 +5568,7 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "base58", "blake2-rfc", @@ -5656,7 +5656,7 @@ dependencies = [ [[package]] name = "sp-database" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -5675,11 +5675,11 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -5690,13 +5690,13 @@ checksum = "db388274224f88d94a0d2646353c690d6871d25f819c5da84fbc2d427fbb16a9" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "sp-externalities" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "environmental", "parity-scale-codec", @@ -5719,7 +5719,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "parity-scale-codec", @@ -5744,7 +5744,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "futures 0.3.5", "hash-db", @@ -5787,7 +5787,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "lazy_static", "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5798,7 +5798,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5808,7 +5808,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "backtrace", "log 0.4.11", @@ -5827,7 +5827,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "serde", "sp-core 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5846,7 +5846,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "either", "hash256-std-hasher", @@ -5891,7 +5891,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "primitive-types", @@ -5922,13 +5922,13 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -5941,13 +5941,13 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "sp-serializer" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "serde", "serde_json", @@ -5956,7 +5956,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "sp-api 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5969,7 +5969,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "parity-scale-codec", "sp-runtime 2.0.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", @@ -5979,7 +5979,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "hash-db", "itertools 0.9.0", @@ -6022,7 +6022,7 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" [[package]] name = "sp-std" @@ -6033,7 +6033,7 @@ checksum = "2a58c21080bbfd72305a66db730d9cfaac50100a85071f560b133881f70e109a" [[package]] name = "sp-storage" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "impl-serde 0.2.3", "ref-cast", @@ -6058,7 +6058,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6072,7 +6072,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "log 0.4.11", "rental", @@ -6093,7 +6093,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "derive_more", "futures 0.3.5", @@ -6124,7 +6124,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "hash-db", "memory-db", @@ -6153,7 +6153,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "futures 0.3.5", "futures-core", @@ -6178,7 +6178,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -6203,7 +6203,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6276,9 +6276,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de2f5e239ee807089b62adce73e48c625e0ed80df02c7ab3f068f5db5281065c" +checksum = "de5472fb24d7e80ae84a7801b7978f95a19ec32cb1876faea59ab711eb901976" dependencies = [ "clap", "lazy_static", @@ -6287,15 +6287,15 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510413f9de616762a4fbeab62509bf15c729603b72d7cd71280fbca431b1c118" +checksum = "1e0eb37335aeeebe51be42e2dc07f031163fbabfa6ac67d7ea68b5c2f68d5f99" dependencies = [ "heck", "proc-macro-error", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -6316,7 +6316,7 @@ dependencies = [ "heck", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -6334,7 +6334,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "2.0.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "platforms", ] @@ -6342,7 +6342,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.8.0-rc5" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" dependencies = [ "async-std", "derive_more", @@ -6405,7 +6405,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "synstructure", ] @@ -6468,7 +6468,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder-runner" version = "1.0.6" -source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#172ccdd65c76d1aee16111265e7285dfabd7aa51" +source = "git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner#70325ee1c1cc8310cfcdce9ad59b5ec19058060f" [[package]] name = "subtle" @@ -6495,9 +6495,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239f255b9e3429350f188c27b807fc9920a15eb9145230ff1a7d054c08fec319" +checksum = "e69abc24912995b3038597a7a593be5053eb0fb44f3cc5beec0deb421790c1f4" dependencies = [ "proc-macro2", "quote 1.0.7", @@ -6521,7 +6521,7 @@ checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "unicode-xid 0.2.1", ] @@ -6626,7 +6626,7 @@ checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -6836,7 +6836,7 @@ checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] @@ -7049,14 +7049,14 @@ checksum = "f0693bf8d6f2bf22c690fc61a9d21ac69efdbb894a17ed596b9af0f01e64b84b" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", ] [[package]] name = "tracing-core" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2734b5a028fa697686f16c6d18c2c6a3c7e41513f9a213abb6754c4acb3c8d7" +checksum = "d593f98af59ebc017c0648f0117525db358745a8894a8d684e185ba3f45954f9" dependencies = [ "lazy_static", ] @@ -7328,7 +7328,7 @@ dependencies = [ "log 0.4.11", "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "wasm-bindgen-shared", ] @@ -7362,7 +7362,7 @@ checksum = "841a6d1c35c6f596ccea1f82504a192a60378f64b3bb0261904ad8f2f5657556" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7631,6 +7631,6 @@ checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" dependencies = [ "proc-macro2", "quote 1.0.7", - "syn 1.0.37", + "syn 1.0.38", "synstructure", ] diff --git a/src/cli.rs b/src/cli.rs index 3f00444..e8036c7 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -41,11 +41,6 @@ impl SubstrateCli for Cli { 2017 } - fn load_spec(&self, _: &str) -> Result, String> { - // we supply our own chainspec - Ok(Box::new(development_config()?)) - } - fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { &runtime::VERSION } @@ -62,6 +57,11 @@ pub fn get_from_seed(seed: &str) -> ::Pu type AccountPublic = ::Signer; +pub fn spec_factory(_: String) -> Result, String> { + // we supply our own chainspec + Ok(Box::new(development_config()?)) +} + /// Generate an account ID from seed. pub fn get_account_id_from_seed(seed: &str) -> AccountId where diff --git a/src/lib.rs b/src/lib.rs index 41b52ee..a0a7cef 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,6 @@ pub mod node; pub mod rpc; -mod cli; +pub mod cli; pub mod test; pub mod types; diff --git a/src/node.rs b/src/node.rs index a5778c1..b5e581e 100644 --- a/src/node.rs +++ b/src/node.rs @@ -2,7 +2,7 @@ use futures::FutureExt; use jsonrpc_core::MetaIoHandler; use jsonrpc_core_client::{transports::local, RpcChannel}; use parking_lot::RwLock; -use sc_cli::{build_runtime, SubstrateCli}; +use sc_cli::{build_runtime, SubstrateCli, ChainSpecFactory}; use sc_executor::NativeExecutionDispatch; use sc_service::{ build_network, new_full_parts, spawn_tasks, BuildNetworkParams, SpawnTasksParams, @@ -115,11 +115,12 @@ pub fn build_logger() -> Logger { } /// starts a manual seal authorship task. -pub fn start_node(cli_args: &[&str]) +pub fn start_node(cli_args: &[&str], spec_factory: F) -> Result where Block: BlockT, Executor: NativeExecutionDispatch + 'static, + F: ChainSpecFactory, RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, >>::RuntimeApi: Core + Metadata + OffchainWorkerApi + TaggedTransactionQueue @@ -143,8 +144,8 @@ pub fn start_node(cli_args: &[&str]) "--no-telemetry", ]; args.push(&base_path); - args.extend(cli_args.iter().cloned()); + let cli = Cli::from_iter(args); let compat_runtime = tokio_compat::runtime::Runtime::new().unwrap(); let tokio_runtime = build_runtime().unwrap(); @@ -157,8 +158,11 @@ pub fn start_node(cli_args: &[&str]) .map(drop), }; - let config = cli.create_configuration(&cli.run, TaskExecutor::from(task_executor)) - .expect("failed to create node config"); + let config = cli.create_configuration( + &cli.run, + spec_factory, + TaskExecutor::from(task_executor) + ).expect("failed to create node config"); let (client, backend, keystore, mut task_manager) = new_full_parts::(&config)?; let client = Arc::new(client); diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 1aab7da..9e01ede 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -5,7 +5,7 @@ use runtime::{Runtime, RuntimeApi, opaque::Block, RuntimeKeyType}; use sp_core::crypto::Pair; use sp_keyring::Sr25519Keyring; use sp_runtime::{traits::IdentifyAccount, MultiSigner}; -use substrate_test_runner::{prelude::*, rpc, test, node::start_node}; +use substrate_test_runner::{prelude::*, rpc, test, node::start_node, cli::spec_factory}; use sc_executor::native_executor_instance; // Declare an instance of the native executor named `Executor`. Include the wasm binary as the @@ -19,7 +19,7 @@ native_executor_instance!( #[test] fn should_run_off_chain_worker() { - let node = start_node::(&["-lsc_offchain=trace"]).unwrap(); + let node = start_node::(&["-lsc_offchain=trace"], spec_factory).unwrap(); let mut test = test::deterministic::(node); let mut runtime = tokio_compat::runtime::Runtime::new().unwrap(); @@ -47,7 +47,7 @@ fn should_run_off_chain_worker() { #[test] fn should_read_state() { // given - let node = start_node::(&[]).unwrap(); + let node = start_node::(&[], spec_factory).unwrap(); let mut test = test::deterministic::(node); type Balances = pallet_balances::Module; From 1b71376b5735d8366c1ccb3d48d917327895944b Mon Sep 17 00:00:00 2001 From: Seun Date: Mon, 10 Aug 2020 13:52:45 +0100 Subject: [PATCH 16/16] address pr comments --- Cargo.lock | 2 + Cargo.toml | 2 + src/{cli.rs => chain_spec.rs} | 47 +--- src/lib.rs | 2 +- src/node.rs | 435 +++++++++++++++++++++------------- src/test/blackbox.rs | 33 +-- src/test/deterministic.rs | 28 ++- src/test/externalities.rs | 23 +- src/test/mod.rs | 8 +- tests/simple_run.rs | 47 ++-- 10 files changed, 355 insertions(+), 272 deletions(-) rename src/{cli.rs => chain_spec.rs} (74%) diff --git a/Cargo.lock b/Cargo.lock index 938435f..61e7cba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6437,7 +6437,9 @@ dependencies = [ "sc-consensus", "sc-consensus-manual-seal", "sc-executor", + "sc-informant", "sc-keystore", + "sc-network", "sc-rpc", "sc-rpc-api 0.8.0-rc5 (git+https://github.com/paritytech/substrate.git?branch=seun-substrate-test-runner)", "sc-service", diff --git a/Cargo.toml b/Cargo.toml index ce63951..d16d00a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,8 @@ runtime = { package = "test-runtime", path = "./runtime" } sc-executor = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-service = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-informant = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } +sc-network = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-cli = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-rpc-api = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "seun-substrate-test-runner" } diff --git a/src/cli.rs b/src/chain_spec.rs similarity index 74% rename from src/cli.rs rename to src/chain_spec.rs index e8036c7..e37b8ab 100644 --- a/src/cli.rs +++ b/src/chain_spec.rs @@ -1,50 +1,11 @@ use runtime::{ - AccountId, BalancesConfig, GenesisConfig, IndicesConfig, Signature, SudoConfig, SystemConfig, WASM_BINARY, + AccountId, Signature, WASM_BINARY, + BalancesConfig, GenesisConfig, IndicesConfig, SudoConfig, SystemConfig, }; -use sc_cli::{RunCmd, RuntimeVersion, Subcommand, SubstrateCli}; use sc_service::ChainType; use sp_core::{sr25519, Pair, Public}; use sp_runtime::traits::{IdentifyAccount, Verify}; -use structopt::StructOpt; -#[derive(Debug, StructOpt)] -pub struct Cli { - #[structopt(subcommand)] - pub subcommand: Option, - - #[structopt(flatten)] - pub run: RunCmd, -} - -impl SubstrateCli for Cli { - fn impl_name() -> String { - "Substrate Node".into() - } - - fn impl_version() -> String { - env!("SUBSTRATE_CLI_IMPL_VERSION").into() - } - - fn description() -> String { - env!("CARGO_PKG_DESCRIPTION").into() - } - - fn author() -> String { - env!("CARGO_PKG_AUTHORS").into() - } - - fn support_url() -> String { - "support.anonymous.an".into() - } - - fn copyright_start_year() -> i32 { - 2017 - } - - fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { - &runtime::VERSION - } -} /// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. pub type ChainSpec = sc_service::GenericChainSpec; @@ -97,13 +58,9 @@ pub fn development_config() -> Result { ) }, vec![], - // Telemetry None, - // Protocol ID None, - // Properties None, - // Extensions None, )) } diff --git a/src/lib.rs b/src/lib.rs index a0a7cef..81b4b1b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,6 @@ pub mod node; pub mod rpc; -pub mod cli; +pub mod chain_spec; pub mod test; pub mod types; diff --git a/src/node.rs b/src/node.rs index b5e581e..5091647 100644 --- a/src/node.rs +++ b/src/node.rs @@ -1,33 +1,38 @@ +use std::io::Write; +use std::sync::Arc; + use futures::FutureExt; use jsonrpc_core::MetaIoHandler; -use jsonrpc_core_client::{transports::local, RpcChannel}; +use jsonrpc_core_client::{RpcChannel, transports::local}; use parking_lot::RwLock; -use sc_cli::{build_runtime, SubstrateCli, ChainSpecFactory}; +use sc_cli::{build_runtime, ChainSpecFactory}; +use sc_client_api::{backend::Backend, execution_extensions::ExecutionStrategies}; use sc_executor::NativeExecutionDispatch; +use sc_informant::OutputFormat; +use sc_network::{config::TransportConfig, multiaddr}; use sc_service::{ - build_network, new_full_parts, spawn_tasks, BuildNetworkParams, SpawnTasksParams, - TaskExecutor, TaskManager, TaskType, TFullClient, TFullBackend, + BasePath, build_network, BuildNetworkParams, Configuration, DatabaseConfig, new_full_parts, + Role, spawn_tasks, SpawnTasksParams, TaskExecutor, TaskManager, TaskType, TFullBackend, TFullClient, }; +use sc_service::config::{KeystoreConfig, NetworkConfiguration, WasmExecutionMethod}; use sc_transaction_pool::BasicPool; +use sp_api::{ApiErrorExt, ApiExt, ConstructRuntimeApi, Core, Metadata}; +use sp_block_builder::BlockBuilder; use sp_inherents::InherentDataProviders; -use sp_runtime::traits::Block as BlockT; -use sp_transaction_pool::runtime_api::TaggedTransactionQueue; +use sp_keyring::Sr25519Keyring; use sp_offchain::OffchainWorkerApi; +use sp_runtime::traits::Block as BlockT; use sp_session::SessionKeys; -use sp_block_builder::BlockBuilder; -use sc_client_api::backend::Backend; -use sp_api::{ConstructRuntimeApi, ApiErrorExt, Core, Metadata, ApiExt}; -use std::io::Write; -use std::sync::Arc; -use crate::cli::Cli; +use sp_transaction_pool::runtime_api::TaggedTransactionQueue; +use std::marker::PhantomData; type Module = String; type Logger = Arc>>>; -/// this holds a reference to a running node on another thread, -/// we set a port over cli, process is dropped when this struct is dropped -/// holds logs from the process. -pub struct InternalNode { +/// This holds a reference to a running node on another thread, +/// the node process is dropped when this struct is dropped +/// also holds logs from the process. +pub struct InternalNode { logger: Logger, /// rpc handler for communicating with the node over rpc. @@ -41,16 +46,150 @@ pub struct InternalNode { /// handle to the running node. _task_manager: Option, + + _phantom: PhantomData, } -impl InternalNode { +impl InternalNode { + /// Starts a node with the manual-seal authorship, + pub fn new(spec_factory: SpecFactory) -> Result + where + Node: TestRuntimeRequirements, + > + >::RuntimeApi: + Core + Metadata + OffchainWorkerApi + + SessionKeys + TaggedTransactionQueue + + BlockBuilder + ApiErrorExt + + ApiExt< + Node::OpaqueBlock, + StateBackend= as Backend>::State + >, + SpecFactory: ChainSpecFactory, + { + let logger = build_logger(); + + let compat_runtime = tokio_compat::runtime::Runtime::new().unwrap(); + let tokio_runtime = build_runtime().unwrap(); + let runtime_handle = tokio_runtime.handle().clone(); + + let task_executor = move |fut, task_type| match task_type { + TaskType::Async => runtime_handle.spawn(fut).map(drop), + TaskType::Blocking => runtime_handle + .spawn_blocking(move || futures::executor::block_on(fut)) + .map(drop), + }; + + let config = build_config(spec_factory, task_executor.into()); + + let (client, backend, keystore, mut task_manager) = + new_full_parts::(&config)?; + let client = Arc::new(client); + let import_queue = manual_seal::import_queue(Box::new(client.clone()), &task_manager.spawn_handle(), None); + + let transaction_pool = BasicPool::new_full( + config.transaction_pool.clone(), + config.prometheus_registry(), + task_manager.spawn_handle(), + client.clone(), + ); + + let (network, network_status_sinks, system_rpc_tx) = { + let params = BuildNetworkParams { + config: &config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue, + on_demand: None, + block_announce_validator_builder: None, + finality_proof_request_builder: None, + finality_proof_provider: None, + }; + build_network(params)? + }; + + // Proposer object for block authorship. + let proposer = sc_basic_authorship::ProposerFactory::new( + client.clone(), + transaction_pool.clone(), + config.prometheus_registry(), + ); + + // Channel for the rpc handler to communicate with the authorship task. + let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); + + let rpc_handlers = { + let params = SpawnTasksParams { + config, + client: client.clone(), + backend: backend.clone(), + task_manager: &mut task_manager, + keystore, + on_demand: None, + transaction_pool: transaction_pool.clone(), + rpc_extensions_builder: Box::new(move |_| { + use manual_seal::rpc; + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with({ + // We provide the rpc handler with the sending end of the channel to allow the rpc + // send EngineCommands to the background block authorship task. + let handler = rpc::ManualSeal::<::Hash>::new(command_sink.clone()); + rpc::ManualSealApi::to_delegate(handler) + }); + io + }), + remote_blockchain: None, + network, + network_status_sinks, + system_rpc_tx, + telemetry_connection_sinks: Default::default(), + }; + spawn_tasks(params)? + }; + + let inherent_data_providers = InherentDataProviders::new(); + inherent_data_providers + .register_provider(sp_timestamp::InherentDataProvider) + .expect("failed to register timestamp inherent"); + + let select_chain = sc_consensus::LongestChain::new(backend.clone()); + + // Background authorship future. + let authorship_future = manual_seal::run_manual_seal( + Box::new(client.clone()), + proposer, + client, + transaction_pool.pool().clone(), + commands_stream, + select_chain, + inherent_data_providers, + ); + + // spawn the authorship task as an essential task. + task_manager + .spawn_essential_handle() + .spawn("manual-seal", authorship_future); + + Ok(Self { + rpc_handlers: rpc_handlers.io_handler(), + _task_manager: Some(task_manager), + _phantom: PhantomData, + _runtime: tokio_runtime, + compat_runtime, + logger, + }) + } + + /// returns a reference to the rpc handlers. pub fn rpc_handler(&self) -> Arc> { self.rpc_handlers.clone() } + /// create a new jsonrpc client using the jsonrpc-core-client local transport pub fn rpc_client(&self) -> C - where - C: From + 'static, + where + C: From + 'static, { use futures01::Future; let rpc_handler = self.rpc_handlers.clone(); @@ -59,6 +198,7 @@ impl InternalNode { client } + /// provides access to the tokio compat runtime. pub fn tokio_runtime(&mut self) -> &mut tokio_compat::runtime::Runtime { &mut self.compat_runtime } @@ -68,15 +208,122 @@ impl InternalNode { } } -impl Drop for InternalNode { +impl Drop for InternalNode { fn drop(&mut self) { if let Some(mut task_manager) = self._task_manager.take() { + // if this isn't called the node will live forever task_manager.terminate() } } } -pub fn build_logger() -> Logger { + +/// Wrapper trait for concrete type required by this testing framework. +pub trait TestRuntimeRequirements { + /// Opaque block type + type OpaqueBlock: BlockT; + /// Executor type + type Executor: NativeExecutionDispatch + 'static; + /// Runtime + type Runtime: frame_system::Trait; + /// RuntimeApi + type RuntimeApi: Send + Sync + 'static + + ConstructRuntimeApi>; +} + +/// Used to create `Configuration` object for the node. +fn build_config(spec_factory: SpecFactory, task_executor: TaskExecutor) -> Configuration + where + SpecFactory: ChainSpecFactory +{ + let base_path = BasePath::new_temp_dir().expect("could not create temporary directory"); + let root = base_path.path(); + let role = Role::Authority { + sentry_nodes: Vec::new(), + }; + let key_seed = Sr25519Keyring::Alice.to_seed(); + let mut chain_spec = spec_factory + .load_spec("dev".into()) + .expect("failed to load chain specification"); + let storage = chain_spec + .as_storage_builder() + .build_storage() + .expect("could not build storage"); + + chain_spec.set_storage(storage); + + let mut network_config = NetworkConfiguration::new( + format!("Polkadot Test Node for: {}", key_seed), + "network/test/0.1", + Default::default(), + None, + ); + let informant_output_format = OutputFormat { + enable_color: false, + prefix: format!("[{}] ", key_seed), + }; + + network_config.allow_non_globals_in_dht = true; + + network_config + .listen_addresses + .push(multiaddr::Protocol::Memory(rand::random()).into()); + + network_config.transport = TransportConfig::MemoryOnly; + + Configuration { + impl_name: "polkadot-test-node".to_string(), + impl_version: "0.1".to_string(), + role, + task_executor, + transaction_pool: Default::default(), + network: network_config, + keystore: KeystoreConfig::Path { + path: root.join("key"), + password: None, + }, + database: DatabaseConfig::RocksDb { + path: root.join("db"), + cache_size: 128, + }, + state_cache_size: 16777216, + state_cache_child_ratio: None, + pruning: Default::default(), + chain_spec, + wasm_method: WasmExecutionMethod::Interpreted, + // NOTE: we enforce the use of the native runtime to make the errors more debuggable + execution_strategies: ExecutionStrategies { + syncing: sc_client_api::ExecutionStrategy::NativeWhenPossible, + importing: sc_client_api::ExecutionStrategy::NativeWhenPossible, + block_construction: sc_client_api::ExecutionStrategy::NativeWhenPossible, + offchain_worker: sc_client_api::ExecutionStrategy::NativeWhenPossible, + other: sc_client_api::ExecutionStrategy::NativeWhenPossible, + }, + rpc_http: None, + rpc_ws: None, + rpc_ipc: None, + rpc_ws_max_connections: None, + rpc_cors: None, + rpc_methods: Default::default(), + prometheus_config: None, + telemetry_endpoints: None, + telemetry_external_transport: None, + default_heap_pages: None, + offchain_worker: Default::default(), + force_authoring: false, + disable_grandpa: false, + dev_key_seed: Some(key_seed), + tracing_targets: None, + tracing_receiver: Default::default(), + max_runtime_instances: 8, + announce_block: true, + base_path: Some(base_path), + informant_output_format, + } +} + +/// Builds the global logger. +fn build_logger() -> Logger { let ignore = [ "yamux", "multistream_select", @@ -113,149 +360,3 @@ pub fn build_logger() -> Logger { } logs } - -/// starts a manual seal authorship task. -pub fn start_node(cli_args: &[&str], spec_factory: F) - -> Result - where - Block: BlockT, - Executor: NativeExecutionDispatch + 'static, - F: ChainSpecFactory, - RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - >>::RuntimeApi: - Core + Metadata + OffchainWorkerApi + TaggedTransactionQueue - + SessionKeys + BlockBuilder + ApiErrorExt - + ApiExt as Backend>::State>, -{ - let logger = build_logger(); - // create random directory for database - let base_path = { - let dir: String = rand::Rng::sample_iter(rand::thread_rng(), &rand::distributions::Alphanumeric) - .take(15) - .collect(); - let path = format!("/tmp/substrate-test-runner/{}", dir); - std::fs::create_dir_all(&path).unwrap(); - format!("--base-path={}", path) - }; - let mut args = vec![ - "--dev", - "--no-mdns", - "--no-prometheus", - "--no-telemetry", - ]; - args.push(&base_path); - args.extend(cli_args.iter().cloned()); - - let cli = Cli::from_iter(args); - let compat_runtime = tokio_compat::runtime::Runtime::new().unwrap(); - let tokio_runtime = build_runtime().unwrap(); - let runtime_handle = tokio_runtime.handle().clone(); - - let task_executor = move |fut, task_type| match task_type { - TaskType::Async => runtime_handle.spawn(fut).map(drop), - TaskType::Blocking => runtime_handle - .spawn_blocking(move || futures::executor::block_on(fut)) - .map(drop), - }; - - let config = cli.create_configuration( - &cli.run, - spec_factory, - TaskExecutor::from(task_executor) - ).expect("failed to create node config"); - - let (client, backend, keystore, mut task_manager) = new_full_parts::(&config)?; - let client = Arc::new(client); - let import_queue = manual_seal::import_queue(Box::new(client.clone()), &task_manager.spawn_handle(), None); - - let transaction_pool = BasicPool::new_full( - config.transaction_pool.clone(), - config.prometheus_registry(), - task_manager.spawn_handle(), - client.clone(), - ); - - let (network, network_status_sinks, system_rpc_tx) = { - let params = BuildNetworkParams { - config: &config, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue, - on_demand: None, - block_announce_validator_builder: None, - finality_proof_request_builder: None, - finality_proof_provider: None, - }; - build_network(params)? - }; - - // Proposer object for block authorship. - let proposer = sc_basic_authorship::ProposerFactory::new( - client.clone(), - transaction_pool.clone(), - config.prometheus_registry(), - ); - - // Channel for the rpc handler to communicate with the authorship task. - let (command_sink, commands_stream) = futures::channel::mpsc::channel(10); - - let rpc_handlers = { - let params = SpawnTasksParams { - config, - client: client.clone(), - backend: backend.clone(), - task_manager: &mut task_manager, - keystore, - on_demand: None, - transaction_pool: transaction_pool.clone(), - rpc_extensions_builder: Box::new(move |_| { - use manual_seal::rpc; - let mut io = jsonrpc_core::IoHandler::default(); - io.extend_with( - // We provide the rpc handler with the sending end of the channel to allow the rpc - // send EngineCommands to the background block authorship task. - rpc::ManualSealApi::to_delegate(rpc::ManualSeal::::new(command_sink.clone())), - ); - io - }), - remote_blockchain: None, - network, - network_status_sinks, - system_rpc_tx, - telemetry_connection_sinks: Default::default(), - }; - spawn_tasks(params)? - }; - - let inherent_data_providers = InherentDataProviders::new(); - inherent_data_providers - .register_provider(sp_timestamp::InherentDataProvider) - .expect("failed to register timestamp inherent"); - - let select_chain = sc_consensus::LongestChain::new(backend.clone()); - - // Background authorship future. - let authorship_future = manual_seal::run_manual_seal( - Box::new(client.clone()), - proposer, - client, - transaction_pool.pool().clone(), - commands_stream, - select_chain, - inherent_data_providers, - ); - - // spawn the authorship task as an essential task. - task_manager - .spawn_essential_handle() - .spawn("manual-seal", authorship_future); - - Ok(InternalNode { - rpc_handlers: rpc_handlers.io_handler(), - _task_manager: Some(task_manager), - _runtime: tokio_runtime, - compat_runtime, - logger, - }) -} diff --git a/src/test/blackbox.rs b/src/test/blackbox.rs index 8cb9ff9..59452ee 100644 --- a/src/test/blackbox.rs +++ b/src/test/blackbox.rs @@ -4,37 +4,39 @@ use crate::{ rpc::{self, RpcExtension}, types, }; -use std::marker::PhantomData; use jsonrpc_core_client::{transports::local, RpcChannel}; +use crate::node::TestRuntimeRequirements; -pub enum BlackBoxNode { +/// A black box node, either runs a manual seal background node, +/// or connects via ws to a running node. +pub enum BlackBoxNode { /// Connects to an external node. External(String), /// Spawns a pristine node. - Internal(InternalNode), + Internal(InternalNode), } /// A black box test. -pub struct BlackBox { - node: BlackBoxNode, - _phantom: PhantomData +pub struct BlackBox { + node: BlackBoxNode, } -impl BlackBox +impl BlackBox where - R: frame_system::Trait, + N: TestRuntimeRequirements, { - pub async fn with_state(&mut self, closure: impl FnOnce() -> T) -> T { - TestExternalities::::new(self.rpc()).execute_with(closure) + /// Execute provided `Fn` in an externalities provided environment. + pub async fn with_state(&mut self, func: impl FnOnce() -> T) -> T { + TestExternalities::::new(self.rpc()).execute_with(func) } /// Wait `number` of blocks. - pub fn wait_blocks(&self, _number: impl Into>) { + pub fn wait_blocks(&self, _number: impl Into>) { todo!() } } -impl rpc::RpcExtension for BlackBox { +impl rpc::RpcExtension for BlackBox { fn rpc + 'static>(&mut self) -> TClient { let client = match self.node { BlackBoxNode::External(ref url) => futures::executor::block_on(rpc::connect_ws(&url)).unwrap(), @@ -50,8 +52,9 @@ impl rpc::RpcExtension for BlackBox { } } -impl BlackBox{ - pub fn new(node: BlackBoxNode) -> Self { - Self { node, _phantom: PhantomData } +impl BlackBox{ + /// Create an instance of `BlackBox`. + pub fn new(node: BlackBoxNode) -> Self { + Self { node } } } diff --git a/src/test/deterministic.rs b/src/test/deterministic.rs index 6ecf977..2872585 100644 --- a/src/test/deterministic.rs +++ b/src/test/deterministic.rs @@ -13,25 +13,27 @@ use sp_core::{ use sp_externalities::{Externalities, ExternalitiesExt}; use sp_keyring::sr25519::Keyring; use std::ops::{Deref, DerefMut}; +use crate::node::TestRuntimeRequirements; +use sp_runtime::traits::Block as BlockT; /// A deterministic internal instance of substrate node. -pub struct Deterministic { - node: InternalNode, - externalities: TestExternalities, +pub struct Deterministic { + node: InternalNode, + externalities: TestExternalities, } -impl rpc::RpcExtension for Deterministic { +impl rpc::RpcExtension for Deterministic { fn rpc + 'static>(&mut self) -> TClient { self.node.rpc_client() } } -impl Deterministic { - pub fn new(node: InternalNode) -> Self { - let mut externalities = TestExternalities::::new(node.rpc_client()); +impl Deterministic { + pub fn new(node: InternalNode) -> Self { + let mut externalities = TestExternalities::::new(node.rpc_client()); (&mut externalities as &mut dyn Externalities) - .register_extension(TransactionPoolExt::new(TxPoolExtApi::::new(node.rpc_client()))) + .register_extension(TransactionPoolExt::new(TxPoolExtApi::::new(node.rpc_client()))) .expect("Failed to transaction register"); let keystore = KeyStore::new(); @@ -53,7 +55,7 @@ impl Deterministic { } } -impl Deterministic { +impl Deterministic { pub fn assert_log_line(&self, module: &str, content: &str) { if let Some(logs) = self.node.logs().read().get(module) { for log in logs { @@ -68,7 +70,7 @@ impl Deterministic { } pub fn produce_blocks(&mut self, num: usize) { - let client = self.rpc::>(); + let client = self.rpc::::Hash>>(); for _ in 0..num { self.node @@ -85,15 +87,15 @@ impl Deterministic { } } -impl Deref for Deterministic { - type Target = InternalNode; +impl Deref for Deterministic { + type Target = InternalNode; fn deref(&self) -> &Self::Target { &self.node } } -impl DerefMut for Deterministic { +impl DerefMut for Deterministic { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.node } diff --git a/src/test/externalities.rs b/src/test/externalities.rs index 04ca223..56c4e73 100644 --- a/src/test/externalities.rs +++ b/src/test/externalities.rs @@ -5,18 +5,19 @@ use sp_externalities::Extensions; use sp_storage::{ChildInfo, StorageKey}; use std::any::{Any, TypeId}; use std::collections::HashMap; +use crate::node::TestRuntimeRequirements; -pub struct TestExternalities { - client: rpc::StateClient, +pub struct TestExternalities { + client: rpc::StateClient, overlay: HashMap, Option>>, extensions: Extensions, } -pub struct TxPoolExtApi { - client: rpc::AuthorClient, +pub struct TxPoolExtApi { + client: rpc::AuthorClient, } -impl TransactionPool for TxPoolExtApi { +impl TransactionPool for TxPoolExtApi { fn submit_transaction(&mut self, extrinsic: Vec) -> Result<(), ()> { match self.client.submit_extrinsic(extrinsic.into()).wait() { Ok(hash) => log::info!("extrinsic successfully submitted with hash {:?}", hash), @@ -26,14 +27,14 @@ impl TransactionPool for TxPoolExtApi { } } -impl TxPoolExtApi { - pub fn new(client: rpc::AuthorClient) -> Self { +impl TxPoolExtApi { + pub fn new(client: rpc::AuthorClient) -> Self { Self { client } } } -impl TestExternalities { - pub fn new(client: rpc::StateClient) -> Self { +impl TestExternalities { + pub fn new(client: rpc::StateClient) -> Self { Self { client, overlay: Default::default(), @@ -46,7 +47,7 @@ impl TestExternalities { } } -impl sp_externalities::ExtensionStore for TestExternalities { +impl sp_externalities::ExtensionStore for TestExternalities { fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any> { self.extensions.get_mut(type_id) } @@ -67,7 +68,7 @@ impl sp_externalities::ExtensionStore for TestExte } } -impl sp_externalities::Externalities for TestExternalities { +impl sp_externalities::Externalities for TestExternalities { fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>) { unimplemented!("set_offchain_storage") } diff --git a/src/test/mod.rs b/src/test/mod.rs index 0ba13d3..3442acd 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -2,16 +2,16 @@ pub mod blackbox; pub mod deterministic; pub mod externalities; -use crate::node::InternalNode; +use crate::node::{InternalNode, TestRuntimeRequirements}; -pub fn blackbox_external(url: &str) -> blackbox::BlackBox { +pub fn blackbox_external(url: &str) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::External(url.into())) } -pub fn blackbox_internal(node: InternalNode) -> blackbox::BlackBox { +pub fn blackbox_internal(node: InternalNode) -> blackbox::BlackBox { blackbox::BlackBox::new(blackbox::BlackBoxNode::Internal(node)) } -pub fn deterministic(node: InternalNode) -> deterministic::Deterministic { +pub fn deterministic(node: InternalNode) -> deterministic::Deterministic { deterministic::Deterministic::new(node) } diff --git a/tests/simple_run.rs b/tests/simple_run.rs index 9e01ede..a0ac9c4 100644 --- a/tests/simple_run.rs +++ b/tests/simple_run.rs @@ -1,11 +1,14 @@ use frame_system::offchain::{SendSignedTransaction, Signer}; use futures::compat::Future01CompatExt; use pallet_balances::Call as BalancesCall; -use runtime::{Runtime, RuntimeApi, opaque::Block, RuntimeKeyType}; +use runtime::{Runtime, RuntimeKeyType}; use sp_core::crypto::Pair; use sp_keyring::Sr25519Keyring; use sp_runtime::{traits::IdentifyAccount, MultiSigner}; -use substrate_test_runner::{prelude::*, rpc, test, node::start_node, cli::spec_factory}; +use substrate_test_runner::{ + prelude::*, rpc, test, node::{InternalNode, TestRuntimeRequirements}, + chain_spec::spec_factory, +}; use sc_executor::native_executor_instance; // Declare an instance of the native executor named `Executor`. Include the wasm binary as the @@ -16,12 +19,20 @@ native_executor_instance!( runtime::native_version, ); +struct Node; + +impl TestRuntimeRequirements for Node { + type OpaqueBlock = runtime::opaque::Block; + type Executor = Executor; + type Runtime = runtime::Runtime; + type RuntimeApi = runtime::RuntimeApi; +} #[test] fn should_run_off_chain_worker() { - let node = start_node::(&["-lsc_offchain=trace"], spec_factory).unwrap(); + let node = InternalNode::::new(spec_factory).unwrap(); - let mut test = test::deterministic::(node); + let mut test = test::deterministic(node); let mut runtime = tokio_compat::runtime::Runtime::new().unwrap(); runtime.block_on_std(async { let chain_client = test.rpc::>(); @@ -40,21 +51,25 @@ fn should_run_off_chain_worker() { test.produce_blocks(15); - // test.assert_log_line("db", "best = true"); + test.assert_log_line("db", "best = true"); }); } #[test] fn should_read_state() { // given - let node = start_node::(&[], spec_factory).unwrap(); - let mut test = test::deterministic::(node); + let node = InternalNode::::new(spec_factory).unwrap(); + let mut test = test::deterministic(node); type Balances = pallet_balances::Module; test.produce_blocks(1); - let alice = Sr25519Keyring::Charlie.pair(); + let alice = Sr25519Keyring::Alice.pair(); let bob = Sr25519Keyring::Bob.pair(); + let (alice_public, bob_public) = ( + alice.public(), + bob.public(), + ); let signer = Signer::::all_accounts() // only use alice' account for signing @@ -64,14 +79,14 @@ fn should_read_state() { let events = frame_system::Module::::events(); log::info!("{:#?}", events); ( - Balances::free_balance(MultiSigner::from(bob.public()).into_account()), - Balances::free_balance(MultiSigner::from(alice.public()).into_account()), + Balances::free_balance(MultiSigner::from(bob_public).into_account()), + Balances::free_balance(MultiSigner::from(alice_public).into_account()), ) }); let mut result = test.with_state(|| { signer.send_signed_transaction(|_account| { - BalancesCall::transfer(MultiSigner::from(bob.public()).into_account().into(), 8900000000000000) + BalancesCall::transfer(MultiSigner::from(bob_public).into_account().into(), 8900000000000000) }) }); @@ -83,18 +98,18 @@ fn should_read_state() { let events = frame_system::Module::::events(); log::info!("{:#?}", events); ( - Balances::free_balance(MultiSigner::from(bob.public()).into_account()), - Balances::free_balance(MultiSigner::from(alice.public()).into_account()), + Balances::free_balance(MultiSigner::from(bob_public).into_account()), + Balances::free_balance(MultiSigner::from(alice_public).into_account()), ) }); // FIXME: alice' balance doesnt change lmao log::info!( "\n\n{:#?}: before {}, after {}\n\n{:#?}: before {}, after {}\n\n", - MultiSigner::from(bob.public()), + MultiSigner::from(bob_public), bob_balance, new_bob_balance, - MultiSigner::from(alice.public()), + MultiSigner::from(alice_public), alice_balance, new_alice_balance ); @@ -104,7 +119,7 @@ fn should_read_state() { #[test] fn external_black_box() { - let test = test::blackbox_external::("ws://127.0.0.1:3001"); + let test = test::blackbox_external::("ws://127.0.0.1:3001"); test.wait_blocks(5_u32); }