From 48519fd1bd01b95004a431b97354fd3e7128f24e Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Wed, 5 Sep 2018 11:39:47 +0200 Subject: [PATCH 1/5] Minor refactor for staking module (#659) * Somerhing wrong. * My attempt to fix * cfg_attr for serde * Fix tests --- substrate/runtime/staking/src/lib.rs | 35 +++++++++++--------------- substrate/runtime/staking/src/tests.rs | 4 +-- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/substrate/runtime/staking/src/lib.rs b/substrate/runtime/staking/src/lib.rs index 18fea81cf5a99..42d35c9c3ec85 100644 --- a/substrate/runtime/staking/src/lib.rs +++ b/substrate/runtime/staking/src/lib.rs @@ -75,26 +75,26 @@ pub enum LockStatus { LockedUntil(BlockNumber), Bonded, } -/* + /// Preference of what happens on a slash event. -#[cfg_attr(feature = "std", derive(Debug, Serialize, Deserialize))] -#[derive(Encode, Decode, Eq, PartialEq, Clone, Copy)] -pub struct ValidatorPrefs { +#[derive(PartialEq, Eq, Clone, Encode, Decode)] +#[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] +pub struct ValidatorPrefs { /// Validator should ensure this many more slashes than is necessary before being unstaked. pub unstake_threshold: u32, // Reward that validator takes up-front; only the rest is split between themself and nominators. pub validator_payment: Balance, } -impl Default for ValidatorPrefs { +impl Default for ValidatorPrefs { fn default() -> Self { - ValidatorPreferences { + ValidatorPrefs { unstake_threshold: 3, - off_the_table: Default::default(), + validator_payment: Default::default(), } } } -*/ + pub trait Trait: balances::Trait + session::Trait { /// Some tokens minted. type OnRewardMinted: OnMinted<::Balance>; @@ -107,12 +107,13 @@ decl_module! { pub struct Module; #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] + #[cfg_attr(feature = "std", serde(bound(deserialize = "T::Balance: ::serde::de::DeserializeOwned")))] pub enum Call where aux: T::PublicAux { fn stake(aux) -> Result = 0; fn unstake(aux, intentions_index: u32) -> Result = 1; fn nominate(aux, target: Address) -> Result = 2; fn unnominate(aux, target_index: u32) -> Result = 3; - fn register_preferences(aux, intentions_index: u32, unstake_threshold: u32, validator_payment: T::Balance) -> Result = 4; + fn register_preferences(aux, intentions_index: u32, prefs: ValidatorPrefs) -> Result = 4; } #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] @@ -162,7 +163,7 @@ decl_storage! { // The current era index. pub CurrentEra get(current_era): required T::BlockNumber; // Preferences that a validator has. - pub ValidatorPreferences: map [ T::AccountId => (u32, T::Balance) ]; + pub ValidatorPreferences get(validator_preferences): default map [ T::AccountId => ValidatorPrefs ]; // All the accounts with a desire to stake. pub Intentions get(intentions): default Vec; // All nominator -> nominee relationships. @@ -193,11 +194,6 @@ impl Module { // PUBLIC IMMUTABLES - /// ValidatorPreferences getter, introduces a default. - pub fn validator_preferences(who: &T::AccountId) -> (u32, T::Balance) { - >::get(who).unwrap_or_else(|| (3, Zero::zero())) - } - /// MinimumValidatorCount getter, introduces a default. pub fn minimum_validator_count() -> usize { >::get().map(|v| v as usize).unwrap_or(DEFAULT_MINIMUM_VALIDATOR_COUNT) @@ -313,8 +309,7 @@ impl Module { fn register_preferences( aux: &T::PublicAux, intentions_index: u32, - unstake_threshold: u32, - validator_payment: T::Balance + prefs: ValidatorPrefs ) -> Result { let aux = aux.ref_into(); @@ -322,7 +317,7 @@ impl Module { return Err("Invalid index") } - >::insert(aux, (unstake_threshold, validator_payment)); + >::insert(aux, prefs); Ok(()) } @@ -391,7 +386,7 @@ impl Module { /// Reward a given validator by a specific amount. Add the reward to their, and their nominators' /// balance, pro-rata. fn reward_validator(who: &T::AccountId, reward: T::Balance) { - let off_the_table = reward.min(Self::validator_preferences(who).1); + let off_the_table = reward.min(Self::validator_preferences(who).validator_payment); let reward = reward - off_the_table; let validator_cut = if reward.is_zero() { Zero::zero() @@ -551,7 +546,7 @@ impl consensus::OnOfflineValidator for Module { let slash = Self::early_era_slash() << instances; let next_slash = slash << 1u32; let _ = Self::slash_validator(&v, slash); - if instances >= Self::validator_preferences(&v).0 + if instances >= Self::validator_preferences(&v).unstake_threshold || Self::slashable_balance(&v) < next_slash { if let Some(pos) = Self::intentions().into_iter().position(|x| &x == &v) { diff --git a/substrate/runtime/staking/src/tests.rs b/substrate/runtime/staking/src/tests.rs index 041f0538edb5d..4bf9ce9f41051 100644 --- a/substrate/runtime/staking/src/tests.rs +++ b/substrate/runtime/staking/src/tests.rs @@ -130,7 +130,7 @@ fn note_offline_auto_unstake_session_change_should_work() { with_externalities(&mut new_test_ext(0, 3, 3, 0, true, 10), || { Balances::set_free_balance(&10, 7000); Balances::set_free_balance(&20, 7000); - assert_ok!(Staking::register_preferences(&10, 0, 1, 0)); + assert_ok!(Staking::register_preferences(&10, 0, ValidatorPrefs { unstake_threshold: 1, validator_payment: 0 })); assert_eq!(Staking::intentions(), vec![10, 20]); @@ -355,7 +355,7 @@ fn rewards_with_off_the_table_should_work() { assert_eq!(Balances::total_balance(&3), 30); System::set_block_number(2); - assert_ok!(Staking::register_preferences(&1, Staking::intentions().into_iter().position(|i| i == 1).unwrap() as u32, 3, 4)); + assert_ok!(Staking::register_preferences(&1, Staking::intentions().into_iter().position(|i| i == 1).unwrap() as u32, ValidatorPrefs { unstake_threshold: 3, validator_payment: 4 })); Session::check_rotate_session(System::block_number()); assert_eq!(Balances::total_balance(&1), 16); assert_eq!(Balances::total_balance(&2), 24); From 95df01d35afae61236e7a4a19f923d3f860c56cb Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolsky Date: Wed, 5 Sep 2018 12:43:39 +0300 Subject: [PATCH 2/5] limit retry count in OnDemand (#513) --- substrate/client/src/light/backend.rs | 1 + substrate/client/src/light/blockchain.rs | 1 + substrate/client/src/light/call_executor.rs | 2 + substrate/client/src/light/fetcher.rs | 10 ++ substrate/network/src/on_demand.rs | 128 +++++++++++++++++--- 5 files changed, 128 insertions(+), 14 deletions(-) diff --git a/substrate/client/src/light/backend.rs b/substrate/client/src/light/backend.rs index 3da10c7cf4604..54291521bb0da 100644 --- a/substrate/client/src/light/backend.rs +++ b/substrate/client/src/light/backend.rs @@ -196,6 +196,7 @@ impl StateBackend for OnDemandState block: self.block, header: header.expect("if block above guarantees that header is_some(); qed"), key: key.to_vec(), + retry_count: None, }) .into_future().wait() } diff --git a/substrate/client/src/light/blockchain.rs b/substrate/client/src/light/blockchain.rs index 9f788e7f2c9bd..11f3070aa6d4d 100644 --- a/substrate/client/src/light/blockchain.rs +++ b/substrate/client/src/light/blockchain.rs @@ -101,6 +101,7 @@ impl BlockchainHeaderBackend for Blockchain where Bloc .remote_header(RemoteHeaderRequest { cht_root: self.storage.cht_root(cht::SIZE, number)?, block: number, + retry_count: None, }) .into_future().wait() .map(Some) diff --git a/substrate/client/src/light/call_executor.rs b/substrate/client/src/light/call_executor.rs index 8d3cd98f9f84e..bc1436aa5625c 100644 --- a/substrate/client/src/light/call_executor.rs +++ b/substrate/client/src/light/call_executor.rs @@ -73,6 +73,7 @@ impl CallExecutor for RemoteCallExec header: block_header, method: method.into(), call_data: call_data.to_vec(), + retry_count: None, }).into_future().wait() } @@ -168,6 +169,7 @@ mod tests { }, method: "authorities".into(), call_data: vec![], + retry_count: None, }, remote_execution_proof).unwrap(); } } diff --git a/substrate/client/src/light/fetcher.rs b/substrate/client/src/light/fetcher.rs index b3944afa508d9..89416a2beee8d 100644 --- a/substrate/client/src/light/fetcher.rs +++ b/substrate/client/src/light/fetcher.rs @@ -43,6 +43,8 @@ pub struct RemoteCallRequest { pub method: String, /// Call data. pub call_data: Vec, + /// Number of times to retry request. None means that default RETRY_COUNT is used. + pub retry_count: Option, } /// Remote canonical header request. @@ -52,6 +54,8 @@ pub struct RemoteHeaderRequest { pub cht_root: Header::Hash, /// Number of the header to query. pub block: Header::Number, + /// Number of times to retry request. None means that default RETRY_COUNT is used. + pub retry_count: Option, } /// Remote storage read request. @@ -63,6 +67,8 @@ pub struct RemoteReadRequest { pub header: Header, /// Storage key to read. pub key: Vec, + /// Number of times to retry request. None means that default RETRY_COUNT is used. + pub retry_count: Option, } /// Light client data fetcher. Implementations of this trait must check if remote data @@ -264,6 +270,7 @@ pub mod tests { block: remote_block_header.hash(), header: remote_block_header, key: b":auth:len".to_vec(), + retry_count: None, }, remote_read_proof).unwrap().unwrap()[0], authorities_len as u8); } @@ -273,6 +280,7 @@ pub mod tests { assert_eq!((&local_checker as &FetchChecker).check_header_proof(&RemoteHeaderRequest::
{ cht_root: local_cht_root, block: 1, + retry_count: None, }, Some(remote_block_header.clone()), remote_header_proof).unwrap(), remote_block_header); } @@ -283,6 +291,7 @@ pub mod tests { assert!((&local_checker as &FetchChecker).check_header_proof(&RemoteHeaderRequest::
{ cht_root: Default::default(), block: 1, + retry_count: None, }, Some(remote_block_header.clone()), remote_header_proof).is_err()); } @@ -293,6 +302,7 @@ pub mod tests { assert!((&local_checker as &FetchChecker).check_header_proof(&RemoteHeaderRequest::
{ cht_root: local_cht_root, block: 1, + retry_count: None, }, Some(remote_block_header.clone()), remote_header_proof).is_err()); } } diff --git a/substrate/network/src/on_demand.rs b/substrate/network/src/on_demand.rs index a066926237987..7883b5fa14360 100644 --- a/substrate/network/src/on_demand.rs +++ b/substrate/network/src/on_demand.rs @@ -35,6 +35,8 @@ use runtime_primitives::traits::{Block as BlockT, Header as HeaderT}; /// Remote request timeout. const REQUEST_TIMEOUT: Duration = Duration::from_secs(15); +/// Default request retry count. +const RETRY_COUNT: usize = 1; /// On-demand service API. pub trait OnDemandService: Send + Sync { @@ -85,6 +87,7 @@ struct OnDemandCore> { struct Request { id: u64, timestamp: Instant, + retry_count: usize, data: RequestData, } @@ -139,9 +142,9 @@ impl OnDemand where } /// Schedule && dispatch all scheduled requests. - fn schedule_request(&self, data: RequestData, result: R) -> R { + fn schedule_request(&self, retry_count: Option, data: RequestData, result: R) -> R { let mut core = self.core.lock(); - core.insert(data); + core.insert(retry_count.unwrap_or(RETRY_COUNT), data); core.dispatch(); result } @@ -158,21 +161,31 @@ impl OnDemand where }, }; - let retry_request_data = match try_accept(request) { - Accept::Ok => None, + let retry_count = request.retry_count; + let (retry_count, retry_request_data) = match try_accept(request) { + Accept::Ok => (retry_count, None), Accept::CheckFailed(error, retry_request_data) => { io.report_peer(peer, Severity::Bad(&format!("Failed to check remote {} response from peer: {}", rtype, error))); core.remove_peer(peer); - Some(retry_request_data) + + if retry_count > 0 { + (retry_count - 1, Some(retry_request_data)) + } else { + trace!(target: "sync", "Failed to get remote {} response for given number of retries", rtype); + retry_request_data.fail(client::error::ErrorKind::RemoteFetchFailed.into()); + (0, None) + } }, Accept::Unexpected(retry_request_data) => { - trace!(target: "sync", "Unexpected response to remote {} from peer {}", rtype, peer); - Some(retry_request_data) + io.report_peer(peer, Severity::Bad(&format!("Unexpected response to remote {} from peer", rtype))); + core.remove_peer(peer); + + (retry_count, Some(retry_request_data)) }, }; if let Some(request_data) = retry_request_data { - core.insert(request_data); + core.insert(retry_count, request_data); } core.dispatch(); @@ -262,19 +275,19 @@ impl Fetcher for OnDemand where fn remote_header(&self, request: RemoteHeaderRequest) -> Self::RemoteHeaderResult { let (sender, receiver) = channel(); - self.schedule_request(RequestData::RemoteHeader(request, sender), + self.schedule_request(request.retry_count.clone(), RequestData::RemoteHeader(request, sender), RemoteResponse { receiver }) } fn remote_read(&self, request: RemoteReadRequest) -> Self::RemoteReadResult { let (sender, receiver) = channel(); - self.schedule_request(RequestData::RemoteRead(request, sender), + self.schedule_request(request.retry_count.clone(), RequestData::RemoteRead(request, sender), RemoteResponse { receiver }) } fn remote_call(&self, request: RemoteCallRequest) -> Self::RemoteCallResult { let (sender, receiver) = channel(); - self.schedule_request(RequestData::RemoteCall(request, sender), + self.schedule_request(request.retry_count.clone(), RequestData::RemoteCall(request, sender), RemoteResponse { receiver }) } } @@ -314,13 +327,14 @@ impl OnDemandCore where } } - pub fn insert(&mut self, data: RequestData) { + pub fn insert(&mut self, retry_count: usize, data: RequestData) { let request_id = self.next_request_id; self.next_request_id += 1; self.pending_requests.push_back(Request { id: request_id, timestamp: Instant::now(), + retry_count, data, }); } @@ -385,6 +399,17 @@ impl Request { } } +impl RequestData { + pub fn fail(self, error: client::error::Error) { + // don't care if anyone is listening + match self { + RequestData::RemoteHeader(_, sender) => { let _ = sender.send(Err(error)); }, + RequestData::RemoteCall(_, sender) => { let _ = sender.send(Err(error)); }, + RequestData::RemoteRead(_, sender) => { let _ = sender.send(Err(error)); }, + } + } +} + #[cfg(test)] pub mod tests { use std::collections::VecDeque; @@ -503,6 +528,7 @@ pub mod tests { header: dummy_header(), method: "test".into(), call_data: vec![], + retry_count: None, }); assert_eq!(vec![1], on_demand.core.lock().idle_peers.iter().cloned().collect::>()); assert_eq!(vec![0], on_demand.core.lock().active_peers.keys().cloned().collect::>()); @@ -526,6 +552,7 @@ pub mod tests { header: dummy_header(), method: "test".into(), call_data: vec![], + retry_count: None, }); receive_call_response(&*on_demand, &mut network, 0, 1); assert!(network.to_disconnect.contains(&0)); @@ -542,6 +569,7 @@ pub mod tests { header: dummy_header(), method: "test".into(), call_data: vec![], + retry_count: Some(1), }); on_demand.on_connect(0, Roles::FULL); @@ -561,6 +589,72 @@ pub mod tests { assert!(network.to_disconnect.contains(&0)); } + #[test] + fn disconnects_from_peer_on_wrong_response_type() { + let (_x, on_demand) = dummy(false); + let queue = RwLock::new(VecDeque::new()); + let mut network = TestIo::new(&queue, None); + on_demand.on_connect(0, Roles::FULL); + + on_demand.remote_call(RemoteCallRequest { + block: Default::default(), + header: dummy_header(), + method: "test".into(), + call_data: vec![], + retry_count: Some(1), + }); + + on_demand.on_remote_read_response(&mut network, 0, message::RemoteReadResponse { + id: 0, + proof: vec![vec![2]], + }); + assert!(network.to_disconnect.contains(&0)); + assert_eq!(on_demand.core.lock().pending_requests.len(), 1); + } + + #[test] + fn receives_remote_failure_after_retry_count_failures() { + use parking_lot::{Condvar, Mutex}; + + let retry_count = 2; + let (_x, on_demand) = dummy(false); + let queue = RwLock::new(VecDeque::new()); + let mut network = TestIo::new(&queue, None); + for i in 0..retry_count+1 { + on_demand.on_connect(i, Roles::FULL); + } + + let sync = Arc::new((Mutex::new(0), Mutex::new(0), Condvar::new())); + let thread_sync = sync.clone(); + + let response = on_demand.remote_call(RemoteCallRequest { + block: Default::default(), + header: dummy_header(), + method: "test".into(), + call_data: vec![], + retry_count: Some(retry_count) + }); + let thread = ::std::thread::spawn(move || { + let &(ref current, ref finished_at, ref finished) = &*thread_sync; + let _ = response.wait().unwrap_err(); + *finished_at.lock() = *current.lock(); + finished.notify_one(); + }); + + let &(ref current, ref finished_at, ref finished) = &*sync; + for i in 0..retry_count+1 { + let mut current = current.lock(); + *current = *current + 1; + receive_call_response(&*on_demand, &mut network, i, i as u64); + } + + let mut finished_at = finished_at.lock(); + assert!(!finished.wait_for(&mut finished_at, ::std::time::Duration::from_millis(1000)).timed_out()); + assert_eq!(*finished_at, retry_count + 1); + + thread.join().unwrap(); + } + #[test] fn receives_remote_call_response() { let (_x, on_demand) = dummy(true); @@ -573,6 +667,7 @@ pub mod tests { header: dummy_header(), method: "test".into(), call_data: vec![], + retry_count: None, }); let thread = ::std::thread::spawn(move || { let result = response.wait().unwrap(); @@ -593,7 +688,8 @@ pub mod tests { let response = on_demand.remote_read(RemoteReadRequest { header: dummy_header(), block: Default::default(), - key: b":key".to_vec() + key: b":key".to_vec(), + retry_count: None, }); let thread = ::std::thread::spawn(move || { let result = response.wait().unwrap(); @@ -614,7 +710,11 @@ pub mod tests { let mut network = TestIo::new(&queue, None); on_demand.on_connect(0, Roles::FULL); - let response = on_demand.remote_header(RemoteHeaderRequest { cht_root: Default::default(), block: 1 }); + let response = on_demand.remote_header(RemoteHeaderRequest { + cht_root: Default::default(), + block: 1, + retry_count: None, + }); let thread = ::std::thread::spawn(move || { let result = response.wait().unwrap(); assert_eq!(result.hash(), "80729accb7bb10ff9c637a10e8bb59f21c52571aa7b46544c5885ca89ed190f4".into()); From 2cc2a3b968bc4e7c3d7cef414af6e7e3ccb287e7 Mon Sep 17 00:00:00 2001 From: David Date: Wed, 5 Sep 2018 11:58:32 +0200 Subject: [PATCH 3/5] Fetch parity-common dependencies from crates (#617) * Fetch parity-common dependencies from crates * Update triehash * Fix code to fit latest triehash Fetch kvdb-rocksdb from crates * type params * lockfile * lockfiles * wasm binaries and lockfile --- Cargo.lock | 275 ++++++++---------- demo/cli/Cargo.toml | 2 +- demo/executor/Cargo.toml | 2 +- demo/executor/src/lib.rs | 2 +- demo/runtime/wasm/Cargo.lock | 155 +++------- .../release/demo_runtime.compact.wasm | Bin 276611 -> 216578 bytes .../release/demo_runtime.wasm | Bin 276696 -> 277537 bytes substrate/client/Cargo.toml | 8 +- substrate/client/db/Cargo.toml | 10 +- substrate/executor/Cargo.toml | 4 +- substrate/executor/src/wasm_executor.rs | 4 +- substrate/executor/wasm/Cargo.lock | 29 +- .../release/runtime_test.compact.wasm | Bin 48096 -> 16216 bytes .../release/runtime_test.wasm | Bin 48306 -> 48426 bytes substrate/keystore/Cargo.toml | 2 +- substrate/network-libp2p/Cargo.toml | 2 +- substrate/primitives/Cargo.toml | 12 +- substrate/runtime-io/Cargo.toml | 2 +- substrate/runtime-io/with_std.rs | 6 +- substrate/state-machine/Cargo.toml | 10 +- substrate/test-client/Cargo.toml | 2 +- substrate/test-runtime/wasm/Cargo.lock | 179 +++++------- .../substrate_test_runtime.compact.wasm | Bin 51113 -> 23374 bytes .../release/substrate_test_runtime.wasm | Bin 51245 -> 51359 bytes 24 files changed, 279 insertions(+), 427 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0f58e5d9d4f11..dc5a35c2e8e1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -255,9 +255,6 @@ dependencies = [ name = "cc" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "cfg-if" @@ -474,7 +471,7 @@ dependencies = [ "substrate-runtime-io 0.1.0", "substrate-state-machine 0.1.0", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -498,7 +495,7 @@ dependencies = [ "substrate-runtime-support 0.1.0", "substrate-runtime-system 0.1.0", "substrate-state-machine 0.1.0", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -637,7 +634,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -693,12 +690,25 @@ dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethereum-types" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethereum-types-serialize" version = "0.2.1" @@ -756,21 +766,10 @@ dependencies = [ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "fixed-hash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", @@ -866,7 +865,7 @@ dependencies = [ [[package]] name = "hashdb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1069,16 +1068,6 @@ dependencies = [ "ws 0.7.5 (git+https://github.com/tomusdrw/ws-rs)", ] -[[package]] -name = "keccak-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kernel32-sys" version = "0.2.2" @@ -1091,36 +1080,35 @@ dependencies = [ [[package]] name = "kvdb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kvdb-memorydb" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kvdb-rocksdb" -version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "fs-swap 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-rocksdb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", ] [[package]] @@ -1515,13 +1503,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1725,20 +1713,49 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "parity-crypto" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parity-rocksdb" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-rocksdb-sys 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parity-rocksdb-sys" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", + "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-snappy-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parity-snappy-sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parity-wasm" version = "0.31.0" @@ -1798,12 +1815,12 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1820,7 +1837,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2076,45 +2093,13 @@ dependencies = [ [[package]] name = "rlp" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rlp" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rocksdb" -version = "0.4.5" -source = "git+https://github.com/paritytech/rust-rocksdb#ecf06adf3148ab10f6f7686b724498382ff4f36e" -dependencies = [ - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)", -] - -[[package]] -name = "rocksdb-sys" -version = "0.3.0" -source = "git+https://github.com/paritytech/rust-rocksdb#ecf06adf3148ab10f6f7686b724498382ff4f36e" -dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)", + "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2365,15 +2350,6 @@ dependencies = [ "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "snappy-sys" -version = "0.1.0" -source = "git+https://github.com/paritytech/rust-snappy#40ac9a0d9fd613e7f38df800a11a589b7296da73" -dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "stable_deref_trait" version = "1.0.0" @@ -2464,13 +2440,13 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "slog 2.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-codec 0.1.0", @@ -2483,19 +2459,19 @@ dependencies = [ "substrate-state-machine 0.1.0", "substrate-telemetry 0.3.0", "substrate-test-client 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "substrate-client-db" version = "0.1.0" dependencies = [ - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)", - "kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)", - "kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-memorydb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-rocksdb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-client 0.1.0", "substrate-codec 0.1.0", @@ -2533,7 +2509,7 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2547,7 +2523,7 @@ dependencies = [ "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2586,7 +2562,7 @@ dependencies = [ "ed25519 0.1.0", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-crypto 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2648,7 +2624,7 @@ dependencies = [ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p 0.1.0 (git+https://github.com/libp2p/rust-libp2p?rev=a6c82e6ca17ba5afc6e0aa849acb54bbb32d7e8e)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2668,13 +2644,13 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2684,7 +2660,7 @@ dependencies = [ "substrate-serializer 0.1.0", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.3.0 (git+https://github.com/paritytech/parity-common)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2875,7 +2851,7 @@ dependencies = [ "substrate-primitives 0.1.0", "substrate-runtime-std 0.1.0", "substrate-state-machine 0.1.0", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3100,17 +3076,17 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3131,7 +3107,7 @@ dependencies = [ name = "substrate-test-client" version = "0.1.0" dependencies = [ - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rhododendron 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-bft 0.1.0", "substrate-client 0.1.0", @@ -3524,23 +3500,12 @@ dependencies = [ [[package]] name = "triehash" -version = "0.1.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "triehash" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" -dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3584,11 +3549,12 @@ dependencies = [ [[package]] name = "uint" -version = "0.3.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3899,14 +3865,14 @@ dependencies = [ "checksum ethcore-io 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethcore-logger 1.12.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" +"checksum ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35b3c5a18bc5e73a32a110ac743ec04b02bbbcd3b71d3118d40a6113d509378a" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" "checksum ethkey 0.3.0 (git+https://github.com/paritytech/parity.git)" = "" "checksum etrace 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5a3eb49b4ae7e88cc23caa812e8072c9f83a3e202e0b789ff4f9319cf796d8ca" "checksum exit-future 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9aa7b56cef68c4182db7212dece19cc9f6e2916cf9412e57e6cea53ec02f316d" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa" -"checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5ec8112f00ea8a483e04748a85522184418fd1cf02890b626d8fc28683f7de" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" @@ -3919,7 +3885,7 @@ dependencies = [ "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" "checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05" "checksum globset 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "142754da2c9b3722affd909f9e27f2a6700a7a303f362971e0a74c652005a43d" -"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f1c71fc577cde89b3345d5f2880fecaf462a32e96c619f431279bdaf1ba5ddb1" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" @@ -3940,11 +3906,10 @@ dependencies = [ "checksum jsonrpc-pubsub 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-server-utils 8.0.1 (git+https://github.com/paritytech/jsonrpc.git)" = "" "checksum jsonrpc-ws-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git)" = "" -"checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum kvdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb-memorydb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum kvdb-rocksdb 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "72ae89206cea31c32014b39d5a454b96135894221610dbfd19cf4d2d044fa546" +"checksum kvdb-memorydb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "45bcdf5eb083602cff61a6f8438dce2a7900d714e893fc48781c39fb119d37aa" +"checksum kvdb-rocksdb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e731661c9e7409857d73ac574da418cef6f9605e967bed0aeb93182ef8d4b1c7" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" @@ -3977,7 +3942,7 @@ dependencies = [ "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f72c93304ad51e21230ecbd0d2b58a3f94703bf9339d14aed88c3aaf5e8b7a56" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b28683d0b09bbc20be1c9b3f6f24854efb1356ffcffee08ea3f6e65596e85fa" "checksum mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "6d771e3ef92d58a8da8df7d6976bfca9371ed1de6619d9d5a5ce5b1f29b85bfe" @@ -3999,18 +3964,21 @@ dependencies = [ "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" "checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" -"checksum parity-crypto 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c" +"checksum parity-crypto 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c1117f6574377d21309bfa1f7d69ff734120685d92b02c3f362b122585758840" +"checksum parity-rocksdb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd55d2d6d6000ec99f021cf52c9acc7d2a402e14f95ced4c5de230696fabe00b" +"checksum parity-rocksdb-sys 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ae07d4bfb2759541957c19f471996b807fc09ef3a5bdce14409b57f038de49f" +"checksum parity-snappy-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c2086caac40c79289cb70d7e1c64f5888e1c53f5d38399d3e95101493739f423" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parity-wordlist 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0dec124478845b142f68b446cbee953d14d4b41f1bc0425024417720dce693" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4d05f1349491390b1730afba60bb20d55761bef489a954546b58b4b34e1e2ac" "checksum parking_lot 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "901d6514273469bb17380c1ac3f51fb3ce54be1f960e51a6f04901eba313ab8d" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fa27fc4a972a03d64e5170d7facd2c84c6ed425b38ce62ad98dcfee2f7845b3b" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" -"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "95fa6386b1d34aaf0adb9b7dd2885dbe7c34190e6263785e5a7ec2b19044a90f" "checksum pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28ea5118e2f41bfbc974b28d88c07621befd1fa5d6ec23549be96302a1a59dd2" "checksum pretty_assertions 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3a029430f0d744bc3d15dd474d591bed2402b645d024583082b9f63bb936dac6" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" @@ -4039,10 +4007,7 @@ dependencies = [ "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" "checksum rhododendron 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e20523445e693f394c0e487113ae656071311c9ee4c1e914441bece8c929b21d" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" -"checksum rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)" = "" -"checksum rocksdb-sys 0.3.0 (git+https://github.com/paritytech/rust-rocksdb)" = "" +"checksum rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "524c5ad554859785dfc8469df3ed5e0b5784d4d335877ed47c8d90fc0eb238fe" "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" "checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" @@ -4077,7 +4042,6 @@ dependencies = [ "checksum smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" "checksum smallvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1347484b6f8bc4b32a9323d9800b6d934376391002ad9c528cc659fe8afc08ee" "checksum smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "26df3bb03ca5eac2e64192b723d51f56c1b1e0860e7c766281f4598f181acdc8" -"checksum snappy-sys 0.1.0 (git+https://github.com/paritytech/rust-snappy)" = "" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" "checksum stream-cipher 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "30dc6118470d69ce0fdcf7e6f95e95853f7f4f72f80d835d4519577c323814ab" @@ -4117,15 +4081,14 @@ dependencies = [ "checksum trace-time 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5aea07da6582e957c6e737eeb63a5af79e648eeeaaaba8fd9a417f1124bafa41" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum transaction-pool 1.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fdb8870eea404a57e2f62056ac45067a53a6207fd31866122356481d3c2e1a30" -"checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3da77dc2c88bac48769c53f2c7675d99d522a7fc8130da3fadf29d7c6f94c9ac" "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.3.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "754ba11732b9161b94c41798e5197e5e75388d012f760c42adb5000353e98646" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" diff --git a/demo/cli/Cargo.toml b/demo/cli/Cargo.toml index 0a9ba64315f98..01493751b55c6 100644 --- a/demo/cli/Cargo.toml +++ b/demo/cli/Cargo.toml @@ -14,7 +14,7 @@ error-chain = "0.12" hex-literal = "0.1" log = "0.3" tokio = "0.1.7" -triehash = "0.1" +triehash = "0.2" substrate-client = { path = "../../substrate/client" } substrate-codec = { path = "../../substrate/codec" } substrate-extrinsic-pool = { path = "../../substrate/extrinsic-pool" } diff --git a/demo/executor/Cargo.toml b/demo/executor/Cargo.toml index c07fb3887841d..1645e731a613c 100644 --- a/demo/executor/Cargo.toml +++ b/demo/executor/Cargo.toml @@ -6,7 +6,7 @@ description = "Substrate Demo node implementation in Rust." [dependencies] hex-literal = "0.1" -triehash = { version = "0.1" } +triehash = "0.2" ed25519 = { path = "../../substrate/ed25519" } substrate-codec = { path = "../../substrate/codec" } substrate-runtime-io = { path = "../../substrate/runtime-io" } diff --git a/demo/executor/src/lib.rs b/demo/executor/src/lib.rs index 38fe909ba2698..084249cbcaccc 100644 --- a/demo/executor/src/lib.rs +++ b/demo/executor/src/lib.rs @@ -239,7 +239,7 @@ mod tests { UncheckedExtrinsic::new(extrinsic, signature) }).collect::>(); - let extrinsics_root = ordered_trie_root(extrinsics.iter().map(Encode::encode)).0.into(); + let extrinsics_root = ordered_trie_root::(extrinsics.iter().map(Encode::encode)).0.into(); let header = Header { parent_hash, diff --git a/demo/runtime/wasm/Cargo.lock b/demo/runtime/wasm/Cargo.lock index 69c9a94694d4f..38caaf9e7c531 100644 --- a/demo/runtime/wasm/Cargo.lock +++ b/demo/runtime/wasm/Cargo.lock @@ -30,11 +30,6 @@ name = "byteorder" version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "cc" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "cfg-if" version = "0.1.3" @@ -150,23 +145,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ethereum-types" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -177,21 +171,10 @@ dependencies = [ "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "fixed-hash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -221,7 +204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -256,16 +239,6 @@ name = "integer-sqrt" version = "0.1.0" source = "git+https://github.com/paritytech/integer-sqrt-rs.git#886e9cb983c46498003878afe965d55caa762025" -[[package]] -name = "keccak-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "lazy_static" version = "0.2.11" @@ -310,13 +283,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -353,7 +326,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "parity-wasm" @@ -386,19 +359,19 @@ dependencies = [ [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "plain_hasher" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -498,24 +471,13 @@ dependencies = [ [[package]] name = "rlp" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rlp" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -623,11 +585,11 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -636,7 +598,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.3.0 (git+https://github.com/paritytech/parity-common)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -744,7 +706,7 @@ dependencies = [ "substrate-primitives 0.1.0", "substrate-runtime-std 0.1.0", "substrate-state-machine 0.1.0", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -895,17 +857,17 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -928,23 +890,12 @@ dependencies = [ [[package]] name = "triehash" -version = "0.1.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "triehash" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" -dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -957,22 +908,12 @@ dependencies = [ [[package]] name = "uint" -version = "0.2.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "uint" -version = "0.3.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1035,7 +976,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" "checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9" -"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d" "checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" @@ -1044,19 +984,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" -"checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" +"checksum ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35b3c5a18bc5e73a32a110ac743ec04b02bbbcd3b71d3118d40a6113d509378a" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" -"checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5ec8112f00ea8a483e04748a85522184418fd1cf02890b626d8fc28683f7de" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f1c71fc577cde89b3345d5f2880fecaf462a32e96c619f431279bdaf1ba5ddb1" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" -"checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" @@ -1064,18 +1002,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f72c93304ad51e21230ecbd0d2b58a3f94703bf9339d14aed88c3aaf5e8b7a56" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fa27fc4a972a03d64e5170d7facd2c84c6ed425b38ce62ad98dcfee2f7845b3b" +"checksum plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "95fa6386b1d34aaf0adb9b7dd2885dbe7c34190e6263785e5a7ec2b19044a90f" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -1085,8 +1023,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" +"checksum rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "524c5ad554859785dfc8469df3ed5e0b5784d4d335877ed47c8d90fc0eb238fe" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" "checksum rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a54aa04a10c68c1c4eacb4337fd883b435997ede17a9385784b990777686b09a" @@ -1100,11 +1037,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" -"checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3da77dc2c88bac48769c53f2c7675d99d522a7fc8130da3fadf29d7c6f94c9ac" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" -"checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.3.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "754ba11732b9161b94c41798e5197e5e75388d012f760c42adb5000353e98646" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" diff --git a/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm b/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm index 8720f2c749ab4abd1cb3738b8042bf7551cb99b5..9537c10de5fc7e6099035424bbc04e47f1858a84 100644 GIT binary patch delta 80358 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

LYKH$LPnq~<8vMTlhPnf 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 diff --git a/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm b/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm index 1f2754cb57775845bf48353ed4f22ea213fd492f..7f99674df3237f6e33a59a1e43dd4b05984d9174 100755 GIT binary patch delta 91443 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 delta 90156 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 Y0EU7P?@n}$hxrN)PSOTE0Wie>AI|;"] [dependencies] parking_lot = "0.4" log = "0.3" -kvdb = { git = "https://github.com/paritytech/parity-common" } -kvdb-rocksdb = { git = "https://github.com/paritytech/parity-common" } -hashdb = { git = "https://github.com/paritytech/parity-common" } -memorydb = { git = "https://github.com/paritytech/parity-common" } +kvdb = "0.1" +kvdb-rocksdb = "0.1.3" +hashdb = "0.2.1" +memorydb = "0.2.1" substrate-primitives = { path = "../../../substrate/primitives" } substrate-runtime-primitives = { path = "../../../substrate/runtime/primitives" } substrate-client = { path = "../../../substrate/client" } @@ -21,4 +21,4 @@ substrate-executor = { path = "../../../substrate/executor" } substrate-state-db = { path = "../../../substrate/state-db" } [dev-dependencies] -kvdb-memorydb = { git = "https://github.com/paritytech/parity-common" } +kvdb-memorydb = "0.1" diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml index a90c2065c61da..4d1c61d5e5715 100644 --- a/substrate/executor/Cargo.toml +++ b/substrate/executor/Cargo.toml @@ -16,12 +16,12 @@ serde = "1.0" serde_derive = "1.0" wasmi = "0.4" byteorder = "1.1" -triehash = "0.1.0" +triehash = "0.2" twox-hash = "1.1.0" lazy_static = "1.0" parking_lot = "*" log = "0.3" -hashdb = { git = "https://github.com/paritytech/parity-common" } +hashdb = "0.2.1" tiny-keccak = "1.4" [dev-dependencies] diff --git a/substrate/executor/src/wasm_executor.rs b/substrate/executor/src/wasm_executor.rs index 9f40ce824398e..31ece34e30546 100644 --- a/substrate/executor/src/wasm_executor.rs +++ b/substrate/executor/src/wasm_executor.rs @@ -304,7 +304,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, .map_err(|_| UserError("Invalid attempt to get memory in ext_enumerated_trie_root")) ) .collect::<::std::result::Result, UserError>>()?; - let r = ordered_trie_root(values.into_iter()); + let r = ordered_trie_root::(values.into_iter()); this.memory.set(result, &r[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_enumerated_trie_root"))?; Ok(()) }, @@ -740,7 +740,7 @@ mod tests { let test_code = include_bytes!("../wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm"); assert_eq!( WasmExecutor::new().call(&mut ext, 8, &test_code[..], "test_enumerated_trie_root", &[]).unwrap(), - ordered_trie_root(vec![b"zero".to_vec(), b"one".to_vec(), b"two".to_vec()]).0.encode() + ordered_trie_root::(vec![b"zero".to_vec(), b"one".to_vec(), b"two".to_vec()]).0.encode() ); } diff --git a/substrate/executor/wasm/Cargo.lock b/substrate/executor/wasm/Cargo.lock index c1f049b09a6f1..56d8536c1789a 100644 --- a/substrate/executor/wasm/Cargo.lock +++ b/substrate/executor/wasm/Cargo.lock @@ -19,12 +19,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#9bcbfa0f10fee1852791ce07338d664817f69521" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#9bcbfa0f10fee1852791ce07338d664817f69521" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "nodrop" @@ -34,7 +34,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "plain_hasher" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#9bcbfa0f10fee1852791ce07338d664817f69521" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -128,15 +128,15 @@ version = "0.1.0" dependencies = [ "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-codec-derive 0.1.0", "substrate-runtime-std 0.1.0", - "uint 0.2.2 (git+https://github.com/paritytech/parity-common)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -181,11 +181,12 @@ dependencies = [ [[package]] name = "uint" -version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#9bcbfa0f10fee1852791ce07338d664817f69521" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -197,10 +198,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" "checksum byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "652805b7e73fada9d85e9a6682a4abd490cb52d96aeecc12e33a0de34dfd0d23" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" -"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5ec8112f00ea8a483e04748a85522184418fd1cf02890b626d8fc28683f7de" +"checksum hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f1c71fc577cde89b3345d5f2880fecaf462a32e96c619f431279bdaf1ba5ddb1" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" -"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "95fa6386b1d34aaf0adb9b7dd2885dbe7c34190e6263785e5a7ec2b19044a90f" "checksum proc-macro2 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "cccdc7557a98fe98453030f077df7f3a042052fae465bb61d2c2c41435cfd9b6" "checksum quote 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3372dc35766b36a99ce2352bd1b6ea0137c38d215cc0c8780bf6de6df7842ba9" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" @@ -209,5 +210,5 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)" = "db99f3919e20faa51bb2996057f5031d8685019b5a06139b1ce761da671b8526" "checksum syn 0.14.7 (registry+https://github.com/rust-lang/crates.io-index)" = "e2e13df71f29f9440b50261a5882c86eac334f1badb3134ec26f0de2f1418e44" -"checksum uint 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "754ba11732b9161b94c41798e5197e5e75388d012f760c42adb5000353e98646" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" diff --git a/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm b/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm index 44ee0c9e374a0b797aff198d0ebb508ec5d4fdb4..0ff8c1db3e8e2bc57fdc8d283ee75af30d78930f 100644 GIT binary patch delta 1664 zcmZuxU2GIp6uvXNZD~j1ENv-;+D@1L!4~%3x%1ngc8ou7)@XPjF)4HB-eI>byUXsj z)oR!P0qcWJ%#{!^L3|SBMcG1I(a^;BVB`g3hzT*67?T={ikeUZ5$|jed2o`Q?|k1q zd(N42&dm3>kvQ!==Y+p7v zI+>f!<|t^ZzAbN->b7+!o6c4jV}-c1Qr)&LkOaKZcpzeT*Wa%1Uk{$Rdg-&1H$T7r z=NCYklBCL3;KA`E=m8q=egl^Lkia`tt+ij`!yT>7zrMB%yqMaj#l1~qnxx5UUp3Ql zLXx)gD_io_)9qO1&umOeD|~F@Ng>v??T`klxb2oC_48EwWaX+P%N6;cNTZG?~bg zggRWSQWH@`h@%l{6bTwskmQFtTctUEqI0(>@kVE#uv@yugk9;H7WZ3S--!EV?YwBv z;qD&MF8+S)F;HMIcKa5T*Q7v!Jk6tElHaS-D@bx5B^co7?<*l(Swms#mM? z){S{<5m&sp+FL!^UyO@htfflwky*Zf@L6eqe>!+u+Fo7U@v-zkq*-20&pg1-@W0aI z(k0H|OL9i$*I{QR6H`HSEelKtT!{ftCva6(!GORPp^pgcl>lfIcwF$5z<>Ss2)$MC zD?)D)c z#KL?Yc+q&381ZL7ZMaHfn9XHN8AiK-Hy52X_!ARaeq7Mw5lsbxGpg+!DU`GP1EagL z9Lb4^ED7>Omd*<~pW9h10q;t5&{SrnvR3eO*#LOgYD%dXq=kFUC)xugKEsNllxP!_ zSUx9;U#*$tX`x1Mi4tSEDd0t$pw#;%(T(VtBBo^9bHQkkpUjn65qL+UcRC)G2)tQN z%zo`mq|_#BHG}`Icbelle?OCW^{I2aCDjfr9GaG;GaC9<5bzJHJ5}n2A#^EmeZnkV z5BW+JtFCD|u4DS9iyfC5h^OXvs#X{f9qECC9OyC|^X$Besy9he`@A>C87*?obol@%C)MZ%jF!{|)3s*0wiHzk?Obj!0aA@n05Ptl8 zpNff#Lgt5oh~OY>^RLc#ZGeVpQlCLaaLA0%>3ZQ_l(cG_t`WdcH%#O*-S+v&1@Cd! z^f4kX35XH8Hq*OP(Ex{r3gzO^5H02lqv8`-nD7IkWgtQrV#joJ2F3qK@=1PrX%qkD zLWhcUV&Kp~u0yGTX~;J(bgQO`bt^O-WCs{qZVw-vZ|8KOC4mq@HgT{IO==O{?&bQ@ ziwU3EG_-@jG)*Teu#dmHv}=Q76Y97a5?wqKqkjJke{Au2-ng_WK|(|!at#||!w!i% zz#m=ABrF_+Mi4+>^oLQ`*v4O9&=brjzL=0>2DYnM@UCFYE z|0FAQcb%_Zy?XWP)vMP%syuzbP)Zqx7G7%}J$lqQdaZ@WQFX1suz^5GVmB+vS2`P6 z5f+mQwhl>Hu{_G663T@AA^>)?SMz4cyV=WApxVc1e*!< zDc4mdqYD_FoEn>GmS&puyt0_s*G`<6IiSLAK<*Vb-TK&J-J+mT887d5lci)Pt0IKe%d*Wwjl=ULC6akv zY9ULxwPYrfD3lJmQ)Bfbs*BYZO9ndNP6-~(sWG=S)o3&|rl&J|x;#;1KJN zIfjDDX60GA2OIm{(qyBWRNc%yYi`}DTWX?LwZ@?dP(*@l&4+O=qZ(Ie$pUeX!ye#r<7Yobq5T4S0F#5tg;MUp>jG}B9T>U=|)(H-!{QDrr<{;-y(_Drjh z)1|tfrn^u&SRPl;>+UmD(TH}P>EsLN4i5GF+0|=*9WuI(I>yS7Js9Fc4Vs}%!GDe_ zTKkYbWFcfrD7?RDZSPY~7&$|R6W-QmIabkV4n-UT|03JY9Eudxg-jjoGaN;zT}~vX zhV0S4uwy%jILLG&7oQm$IK%0R8NH#XfE)CR+m1CDVWL;dj5^A(vmqtuI1z-90(=~U ziMA8o=Y+CK`Iw^tW4{w3mWC7B2jmT686lQoX*&!oyEK+vF*O)=BE&U3+81$r6eCWT zM$py>64IdM*n?p~ceKwUR^b*_U2Uu^CWakjpJO^9^szr0TL_HNeryq*UHaLB?hwD2 z741>Qk6;qS&QQ@lCG(*;6bmU8{j6a`j{4o=vo#>0)_|D%i#EGzf*|Os$*zVvyXp-{ zXx4zBzhU6X0SVz>=YS9#`YYonUFKk*h73l#+kwIGx@}@ua!Pe}`csAxp0^{dZiFsC zAAtA1ArP(A2lNO3EDTpz4_CVn7%E@{CgYHD+}MY(9O)u$*yoNr7-+(q9hS#;1VLV7M@&6CNNUawkMGRZU|>oBEpQ<6 zWqz>BoyL67&&Lxq*0Uet*1DxzdKR?b}P z7@Lh;i0O~r@etBuNH@@gE@9?OhZyF}m6Go4i=C~aUkQQjbvvQus(4*2_kmlZ9*v6>&gVJi{@7Ar z94f~5ajc@R@6tqd_78=TfccWeus}?4B*Kt7pT_8j=%tvU&K%MshftBGIB6 zgv2eX5!H`^T}8_)g9*a~Oi(37LWA8H7uzw`DOG&PxUP82IDa3i8U$lF-9@0^4RS&- za=zL70h{gG$ONH^{a}$(BxEBLV<;P192AD_Fo9BjsA8`yQdoyBg+T8r+Sm1AWpg6? z2T{UN>r{NmcI={g{+UJdx*@w5I={~Zwp|VuC-CTCs5i{DC zrA1?~yBC55sr?soRYd3o9KER#b(X{;2aC(D!;m6jX%WLr$=WScB8H&SY!aa%Kzqvc z8fk$$+XvSPzxQCV|GMI18omkmoKt|X@L=%?N$kLBnZ!`169|y>6V5JLgWbYgiwErv ziuRDAk$M=U1i%Oo za!yfmjs#WorG{a&1s>KhOiIXnN91S-tcG@qGEqZVXc)od<=n=|dm-d5N5Yq&M{u%+ znBI%WlecQAi`6k3a=1uh$;*aTO2|QIF;W2YF)ARCy%#~q8x-=86A-?RL9vb{8DgDb zJ16ZvAp4qLRjUe?&^D+d9fpIY*d33O-qCe>|`r4ExoEVobKn7I_YcSjvmUBa_U}KRK8ERtTvZD_5 zlc?6=v1sjsh~&ynP~>Tda7uXypS6l(iG|N{x(0hNG}sJqR9Oby!sxJ65$cc{>;c%~ zQ&p(gcBh9J7Zeb~DRY_ZeczBJQT0VllEbH_Z7dFA5PpIpr9CONJRdSyG z$K?X!Iq@ouOMtX9P;rgR;N@XOU=8;QWLE=|zo14K9%SOxnhA>>(w3oCQvwP(n{GACw^M z_zGC*d~?#0$nrt*o|_oT|8 zZwE2s*u}syjsz~_p|+qzdlnQ+Us^&tqqOAG2?`?Jla`#1dMT%vQpH))vR&SnmhB3Z zmQtY;!YpYii!}=drDYokr6rWK_S)P+!-q;~iN%`q8#J+^g4%k0z*NFwZRiOIJ|Ibk zun?1}xIRIycC(td(#nEOiQ8VK4OxT1b)MYB63hl<`S+k<(GEiM7VSUn zX-ouI7i87O`a&hJZ6d%tmkl1b*V;rtT%5LvK*3(qX(IS?#I&G!$j0v>wSUM06)iHj zgNFl!TvQFmfGGeS#sA^b^nmP zdFfs6fOxStTX(zzity1(JYj86=or|SL#AOj4snE8U9>6aVFH2tpisju1|}n{RL` z*x_iSXs>9ax}3GjjOWZ4r?w-Dw(JOC_S%LD2selNpkzdxKG+-j?nmFyQ3oA`uzrU& z&zV9N=_N;P!6-I63owBIqi8jU4A4{TLF{7;F|CEOD7p;M(>Ey6JsdTcp-ZgF-mzdT@cKVUdl@LF$FCTc{T(fI z0EFExsD*Yws?9GscI+4$N^dqOD8Y%q466?dLJZDRuo$AvFSH2=TZ9TGhfX8Q3d<|> zSN69sV33X3#w}>WVH+WccdlFWRRLP_RPo0>zAv^C;XI8iKolGp=Smm8f3tIkW8XFi zhIM2-KyT9LAw@OM_9jUyCw2~44U{IU6*1Hu&yW}Qo?%79t8wa|vv3!7a>JhT~e z#_JFpv3WghBVCt5W2J0$LaR(WXJXv_9TxRV(XO8*@_-va9uhu){C^&@VyZkYQDzhA z8O5XHSj+S<%kBY|2hr)VsXQO+W2k6eK(k8Gik*sqBN11bDs~EJW?*j3O*4_k%?JeQ zaw%j45~5Fp%rFFh$lCyGx&PfeA5uj#wi***v9@6{h&?FdXmAMJA#8!8gjMEZ?l~nV zCT3Si9ALyj4Ix?3V?@d#*|Q=MCmW)UMqogrC}_)3gW={7jpMKof}QO9H;3;S>J~W) zq3Fp`gJjb4R`yvvvIt_mz;?(%1W>}wp{Rp7t4-5AFim5AQ<9>T7;tH}6(r=4gAC58 z32`auz)XNp+0k8PVe}o!0SkhC6~!#I0w>&xEQL9g^|{iJoxLLni}GT-3@^s9wcOEa zhfO<#fsC&wRR)0`qyr7egCLW(7y=u?i!n+kEPam{q0rF~jRtzFFDrF18VePFc*jGk zNZJ1w0$97j0kFw3u?t4$kj(7j&l!gb7mExkAt%R{i!rwjtSF#S}uy3qg) z;bKaM`c1S#o4aUj4i)dXQyMwV31whXL<+?&g}z8q$ar53gmi}h4&Mf4@O{*&a0pZM z%;bAu3kh_~33j6^v`HElaAL4IZsX`08z)w>b%h3oCfT6Zj-@smQ3&hxDvG0^hdnH= z=xm*+bC5id%7v0Kp^u7r{XBkCk9knPVuUQ+DJogC@Pw$ZEQT$aa@31r8d-rT=3Cf{ z^5Fz2A@yUFznG||Kkdkj;8qVJ#lIgR!#ZdP^m8zHZTdMFJgl+H1t4#_Q!58yAI^jv zXr!T{UKBAYJpwvzE}^i2EkiHL4wCL z!DAf+kAdJ&oK8V`j23R1;EVNai9u&0Yk)(rG<)=pX?p+I^qJ_G;WH6zh(RVoG{{7V z&SD~R%wuYw$5zEh+rcljgDdv|1HT9&i-VC^Fk<@=mR?CQ!UaG z$D*f-Y~b;m7lw+q7Oj30Qdo@5#cxR{j8D^~?Kjzu-Ud1*(1rOAM@HDaAPxUaF743ixl^*S zLEu&xz%Y-x25DII>pqKENW3jvZGJGd5Xg7S{33S|gGz-2icGh}7J2$Pw?4x7NtSQ)nJhIBLD>Tn_K zyI37I4Z@H_aROfMb9%M3qRLb3g_g>#lDATDL}-N;p1#%am)Mqs1$Kc|-d|mFzyqUY zV;4H2mVswE+1e`?Sd)`Y699NDYfUwp;enngAVra-?Zw}lSaHAO9e;vx*a;+#(ifsM^ny)J7|3Fl;}ILg5iK{DbN`{9 zZ09-Kx=H2m=G(B(eF*C0R`7NgOf;zKO&GtrH&B=%;pVktLR0z_#Rpb2+nXzL)3iBI$oHtNNk1^PIm-|4;pT;5IVLCopi);GX#bEw~m;a@){ zXFn$=Qfa6G{7smM{pi@hXx~C-0CNHm@UOq^%>(o79H;<24^*UzkIczHrA-`24x;NU zKEOka&IC+353vQHo70~KnZwQiC=Xk^6QkHeH*lgyD@31nD%OW_L0|W43to&CJllzF z>+5y;iEuYM2*Cp~;H2R~r1rqJf!=Zh0^Hg60nG7!{Oi#a7{CSum=F>vg;N2@My7bU z^_~znF}*w;ZfJiV+`4Ds*7po>LsxKk6n1(v&B(2!nK*@YI}kB_U{+@VHi)o%MK9!Ix|6zgF>w^N`f zg)(W`4e`~l4K*DVu_3}xBS}Oa=Me@hGT3ioR-l6HMcGO}<^bfOB#N7kBw|A8bQE>= z4Pt!H=e+Qj)7kPrUM??M@il$$F6G$p*l7XSf{G2#eD zlBo@2RzGCBATX&BKn7$1CpzfHiQcQH0@@%=Vvy@SgRvqwbf_N(MNtT@L5Sx;JK9bk z?St{ZABzi+0`cHV1Vz*)^cVQ>}<#fmraU@Zpj$E=cla~^qMk_}G( zIvm2q&^*Wp$AQ+GoV=RTZxo>_x6O}0}?ZG*ah3gWNq()rBepMeWW>RROU?<05;-uFyh?ok-i zRx$(W+weFS6}s_!IpS;Z^vhq3^ivW49MXI6{EGKH7vZz#NheGTmn!}Ob2K_oEl-xK zW6dK@1Fr+r#~X)~csNEMHsbMkBA$$=;^}xMo{i_?`FJ4_Pb3n_L@JR^WD?m#E|E_Z zlJR6BnM|gV>0~CEP3DsMWFZw#B~r;$DwR%UQrT24l}{DY@pK}cOsCT6bS9lm=hFFf zArsFeGRaITlg?x^*-S2z&lIxpY$BV?rn2d5CY#OXviWQw7tbYf$y_Rz&Si4hTrQW- z74q?XBA?8s^67jgpUvm;`Fx=O6bop+0MG?gD}l>rNxD8oFXTw^&yhO@WS%F>@N(wKW0KU7Guh~J zmgAoz_xa)JQ{U+1G+xmtkB?pN)*QO$JJWj`GvhU<;yRO4je}z~q*snO&AqNOrMdcf zJ>A{i)y5QGbr?V51nTp(hCuzA>*tm68iZ84&aJ^ZaXb3F60f+pQ+PSSai^vlQzMSc zI2xOom~zY2y{zI?8#Nbm>JF6Ow*Cr0n_j=Cd~p4i#+18$dZsen5A8{h+XN{OZuwTL~&h%d%C3V(;MOfTe5;=gksiz_G@u7 z>^I>avfqKbsUduu$%a?vGg9VDQsxnsu^+?Tl3HQl^9#hfK8kjGaD_s)iHEWyxO@08 z9nga5DuPpL6*-l+#kdJ(=O6&g&cs8(RM@J2K7)q6R?-uU*g4!o_D0-+F=??M7wYc7 zL)klVH*Bs2A-jsZmQmp&MAQm@iVq|F6dxfqj)ymZTu_uAK&}-Wz?Y+TKb}JQ9#URK zu0vYn5N=Tt`%Soj+^u*h`_+sfcXzK+y?)(aouyO?0F9qwQB>F9n#(YIka{A9>0?vx zBWPiP7V&yWJW!sP^>84RA_?X;a659?KpXqW2MO*0+!lNSw<0o)<~<-)|I2Z+t=Jcl z`WHyG)Ibv{9N~~PaMTY*Vz(kFV`IneY6VsQ5W;yY_J{}6Qn7C!_?LuatNtfJ1j~wj z3rSxU;J6{>7;Z4CtA+ONIRlQzkS+xICy4tr9{w4ANw2733h_Yzp-&iK8%lrqz zSzIJScX=? zq1aKMTo@&vP%=Rh1SQjPQ78pL2)*XwAro(&QFscyyD38;mpU^hA9-jq+jf z_fZqod>&r78?i-_cuX%bl*A<@niRYYfKgtL`wq6lxL-iMka@UpM^TDJ(uyLX%`Ri8 zB^-AX0^qm_Jd}M1cN9Ajw(4tyORyc#If)6qW6cY!ntih90enY+-#Vg2DhEFD`v5MZ z`9^laAB$J(9(hxo3?;oLts-a>=;&{R{<7K>AwX}BvCGY3Ai9>$-PqQjE^(N zfs-&-cNXQ0wXK0agUmbRCF$CMqyYk2w*VDTqdm;Bj`x2R?Jl=suft<0ia}1l1wofV zTP>luv8^-Gd^l+K0;Z!`F8N-wev&ggDcEfP-w?hv@Gd;QwTv(Z-h&`TiLrR#g9wsU zu*^Jw;M*9qW1seeF|~x+f^D7odFH4ye;|)DY>W}HI^#?)p!&I%dU$bxM>B!G_fyR{ zelFFIj$GAWos)#VKL|=Lwqn-;y_d=8;KgpGj*|Lz47L;XbEd|Y{x!;(&_zP~4MX+c zfEdOU{*~%%P!M$fBLvT5&{F-!5LU*(<#@b+Ar;$=;2Hn|=>A_KoVMCzQf)d~Z92w< zVt=afARQ$bi#=fj2con%_8!7#&}k#OQuW(la@#tKYxTyZ#O*9{`2`FDKP}>AUEYKG z$~fht@=%cxSOfaMi3mEzMgLUYvA;ly1T9(fle!mY`%`HYs@2W7jJvy*?Z(LQ&!Bxl z^&bY-fVCNL-$gXlz!eC3tZRJ$N#iKdzekDzd<|yn?T;G z2ZTU0-W_e#f!G~{eH#L|1ELj2=gvZkvkW~QfMat!W~6?5&ULk zw?(i>tq(#}L>}brGq?@?EpGcz-Zv8>vsUJXoa>9;fg3>gKaNT< zTg1h^NU_zxKO$u}hut1{%n$ac@S_NK*`C6reheh%qWe7$-3}=okm=SoH1T1KmKI@L zQu;H9_F6H9_aGO%J%p5p5kwRHe+LSCxi8bXA4SS1b*{%muheBW;qjy{vlqb!q)hBq z1Xlx+fgVK;AacrexPcG^ z7P$-E7ro(+5rE#H^}M?g0SyD|sK2FaDXx)spiJaGR;QNt3Dz*|_v4}L4>LlVs*m8B zJN-uH8;RibFit^Qkt-|UqQ-PyhB&r!A&zY396FT(A0D1pU7ncG5Y)dGO;1#Bi5 zAFK_C-+YH>B2gEMw^o z=t(|tJM_F)bBwf}_a+99tLObIfCHb%t1x&Gj>6JYaT{j?52As?e&kb@vF;8)I)=iZ z$AC$Rw^*x4rN6=TcSP`Qm;~pAaHc|LHa>>09uU)|F9nuTJ_;+ux+kz-_%jgvoMkYo z;xcaNTGI)l4HKrC)>ENLPO8R$Q2E23dEZ1Qa;dklGKkc0|{H&}-YT-HNwre*h)WDXGD> z&jlz;pqmfZq;9%K7`6kkf{^$Wy(dhx3_KD}@P+oIPd zhM%YLr_Kyots$)rBkbe;QXi8Ro$h8yk4}G%T+T4RbSvJ%^Ia$*J@x4HPS*D5#2rYG z%B^^-_K*D9s6jfd$7~AHX$0{gom%l0gd$1=>GTlW*K|_LQfU2AB!J0QUyAT;C`|Lb z@iS}n>jH5z+`W2}7hjKj6U@wo{0RcP+g@`6!Zz1|<;LpQApB0i5wbkqwfYOF*NXq5 zOJtWHx2{7a`CIiQy74hoWAE5J#o?ofi#W8xS{$OZFAjf=Jiq4@hpo8uoZ|4`JtQa& z1>89h1kWe;v3u-vTU<&#nJA(Pe4{ zdJ{{NRt`gLH*MA3iKoQBj^bMf&spx;`rf#D%^5QdKFUJ-7R+q8# zuMy}4KA}OwSh^2^uQBrTE+DoU1cQlzdu4Cq%Jw9v+xwNYxAbC^dpoYs4zv`E0F}8L z@lz5g3N&SJq)|N^XublMxiw@g{hiaW-NI##AoACK4=;GnpJRF6DCW)25cF59dBGCm;MPt7S8y> zRpzP)cb<_hBuMsfA40Fg)%8`@-2fKW)kYC|FD^(}Q0wyuE&VEPeL%Upi&~C8b&LF| z4{7QB2tCQzha_9?41Y?VI|P1t5`ojG)GoRWG5Ae*TWjkMOggb1ybXcdF~ru}QJ`%- zpk^@mA=a^8gBz^}L3@Pe#h^Xn#3m0F0q&me%U*c8?s-$ATH-45<0wjpyTq=Z&} zg|SvqXq@=ur32i5vxwRSg3qPI1s)}IM_bzqZG-uJbb0+B;`aNXow1m!$@)kA=o#N) z^c)P;z05s(9YX6Tal4<i_vX7P$?xs3s}KOS1__57&%ij^Zx-%Zn#Vy05X7nz6)cZSL(i5yjw>4=U_EE`6l> zQ&7ON+E#C7kRTBX12IQjgaFJD2|Sejd`1vxZ=~Dj1O7?t|F0>o&cLqFBhR_O$&+G# z3lu5E`1cDaC2@{-0aw_Zgf_z1@*A**Xf_aJnak*Z=ZGH67PrhfjG>hoGo6Pqdl_sW z#?X~Q^s0-b$a8!c^A2fTjus@?K8)enA`WAC2nYej12Z{{Iok{Te?N>VLHvPYBxxCZ z;vL4&xQ@e^Po4!e8&~*h=qdimOnCOm%uh53p3MB3!Q<}O-vmBIJI~0xbEig%<{b%Y z^Ugx1YV*$f0n{_^2-YWgGDBIr|_A z^GbPVjemj?!e=~pVbN!*r=Q)#wER6_@t~vBk8nl4YcAUh_IMNkBlHy2BJ&X_?)_Jw z152@-A$%?Apklv7@Of<7j%ARUU~2Dh3BkAE3XMRYz61d*Jsa`3Ly#ZXf*_X|%O1GU z4}vC<$JxeDaqBqe6003g>uI&4W|^o1Wt3M6=w6J=nnvZhD)-#|!}q0q**{27>+>|m z02>wgFpx=(Kt0%v*h`iv^#NSQrqps2cqck(Y*WcA5S~HyE6^@!VysQQ2-JFr*=fL_ z-khicK_sdNQU70Yna=}~o6-39P(v%D+Yti+ePuL-;s%-zp00@lK*zC}MFKvv)3r}Y zmxF4mMJ;*u>6)fYN3nxIN%Z4aBXB$QV+*pstsiq94$?HKtPh}soUWQ+8m^x^oBaOw ztthdDK8K2y`kB0(zOG!QEXxJK;`rE}i34y(MGaVzaD@cVNrW(rzy!{k@^$YbKjJ<*C2Eu!l!6KL ztBg<<*9u^|22T$*Lh6r!aY(%ig{VQ^gOtsU!*1;|balhZRcoDs5dfliCeA*A#4;qXm+ajg@LTs&A877BwfE& zR~z^$yYq|@QpeEIZJxJp5L0o4J6Wjn0{A5$!#nncaA@6dvVdk&W+Px|6G=#Y2h(_y z#QhYyD)}kcPhN5vMMnDa4USsNFc$}-(qi9D0wjG!pA9HJpE)y#bz{~!ssWC{3O=v=*f%@k+rVf;w^jD^*MsQ}WX2tU-F!MHU z6n_toz=GJ7jj@{eH+UGWfUmjuAk4+E-3Rq0^mu3EfGch~E!jj4TQLSvLysMe&(2A= zDgvz7RP;?~V@da!ZPVhlvf@Q-^%|8zeQ((4_A*uG)HadAn0szU9(aASLzch zXZLQcb6irba@K8x?>)I~N<{O>h#pdrQUT%$4{lVy0fIgi#G}Q-Y-Sp-6>L-=M>c)f z#c4=Oa=LE#HLgsE2i1wYp)LRr(vW^dJHXWk6umxVm}~?{6rD_0mf$c4``vDGqlyPm zm==$lZQzm(f!+m6Q@;`(02(TTE2Lfo9pt?TQ3R}<$)?vjz)x-+|0Gb`Htly-y$sQlq?b6ita#B({u*&;sWckn!F7BOAUy}80jOHU zhSXD741N!Ep1`#O%f4EV0LEk|e$J%2*PWv93u45Yt8sBQ#_Lmw$&lgdFC$(U{oG+hy>#4{E4PHZNVZ_ zXx=@csHaW1Ewy>XA%g!>pr+i-={SD{6~QXdpy2g+0XDa3;P)WU6Vd3x{2$n@AG zq}SMFB6T^``r7nHkr^jndKNcdFL?YDc27KYrAe0hpuBhBQ4nvF0i7-Q^&JSNNxXeY z77!hLJ60uHcX#dOFEG)-y9;kY(Skd>G%b_fB1}^*L86|ox#b*eT_lbT8lE9_BT~4x zk=dntFPfXDu3jPYt%9Py{^~83+uBLGOrW>NkVloSt@tP{6fjh}Lyv`lz zTvP*-pDVIVIT}ua)%`NlLjRT)_9V*h;148iv4`eDT{l810Q(8>8_+WETx*CzQOiSZBTwy)v;;(Nf~0HmzuRXiH(5pDt-s z%Y2Pe(PY#TS?O!U_|($i)Q9Xo&nzKt=T1}BU4-ijT%6dq;(9qQ|Bt>@x8tIp)Su(> z|CU0)Z^pF(qWO<-eH_=ei`O@z}I-Py!0>nE0-{T0=jfc)X zp+NgP5#EifimMh#pFL(ioHwJ)+i}r%=KetWBiCr{yYyCU0D1-t}j31ynw4x4A8>rSKAQ7 z0mpKb*cgqXZ;^t*lrGC)mRHbTiTtIg(LD?JfUywt=_w!^VgPkwtvbEKa3)+BnOI;h z7>PbF{DLKS8o&iZ#WGM+G*T~Eg3KsU>tBS1z4l^#f-#WH1Em3p#k|-;1DN56co4V` zMRUkMWf4kyHBV(vqS1{=J`DvisHX=S3bUcbUQLMOC8xLBJfjZ)qtU)-Z;M+^*dx^<8j3*JEcM^QA0L}=;aQ|C z`LKv#7{6Z7hZAY)8ayk(|53?Z!}y$B|Dz_DO6{+juqs}@dpVxwzlV*m)iVeIW*8@K zW)mt|+HLQ+&8!a?$JdK(Tq)Yd`N;#edg2!TC+5b5Dywmym-tlg)?>E;mvH@6i{F+C zuafpQpRhf#N-6)t6fmL&TlesQwniS{TW01f`pE;Kp+#0GY@6Slwin_X@Rs@3Uc2t4 z+~+4eFuTY-p+)HV7QyQIC&UU=SYID+CTnhWJvQJtPug1PLk-d>Ow#?B#K=xuTmd?>54xW3ZQm@gu=MJa|udMa2AS z??vH$^RI4vAl&=>@Y#{3`Q3xf@R*`>ov&^qp zyCdd5AKXm<@4<&2&or9=Z}!^vga_Vg@EPVK z>h5sw%ok95W`lW8&qZN{(C%<7V!pS#89q1icsLv}7uyd+%#R*?gvlQScrSTTAo+oA zXZj%U`@VV{pkI5mX@$cn^Bp(YKLLWh=4Z@D%!Bsb;nj(74g~q9nFqqBN6feN+!J0j zV?{u%*Bp5u9D9Dm{LGCHhfj-`AIH}uW4DFZMux+&TO!-S>kwGm496}qKXv0hfOrau z0FkiSW7h>W0711+vf6v+sn!AFFK@gjVty7y2^HWk^($Q1ZYOeaJ8XXV##`8(i1{xO z`yQ(cg#Y*JACZ3jy*(`P_Z+hCCR*mdbq#|B9w)88r-<8EXNLW{7kO15kgAW`!x8iE zXY7ke;m>v>0tzGG$l?M1qNZrR8T@rtkNy1cqKM65Sr0TIP(ZSX`A64-A|LCd*}Z;W zX3^|9rjCKZ>;@11<3YPl)ZUK4>5beHK4U|8_3rQ)kDLGNpuHj79WmdDuPvI7qN51- z9i=L4{%V2IW8Qw9y&*EZA-p+a{(8Z%WrK4bo+72A=AYW36_{!mgg-o34@W^>LVE2% znH~}IHDO3sOd#`LZoV(v^~$gnam+h!9Oj&fnD1M7kxUv+u?6P$Cx^qt1|R-oe^bQ5`)^|JZS#vEY0!NCO&a?Rf#yh?X1MEq z(nk03!(JcR|Ji*+iBrr^^-<1rnfG0H5o$eP{@)ueLhM%S?y$v3t808EI9==N~E4eka@yRB}@!S6s&u<<+k!IwXtXqvCU zhiQI1u>ntqaVrF&*MAYp^qTKAw3NNA$#Gd|{wBIRycj|gV7_+~*zES}z>E>|M1l#Pe`R?bN*R8851IC7t)$fv^UX*)o@9pHpCy_9i=@nK8H|D8;xb1F zf5;xjTv(>X?}qSpN)s8yM|@GdyF-dY6oVdLuxxM&CNWE&ga*G=v^1W9pHNqwM@y?s zmG?9zs7m~{`s;20uvFtjIJDFy(Ol&VYWs0g;I%GsKdjXwfGkfO@zUCAR9hV)(paBp zVK84{gu8p}Yr(v>d9aD$=r?=F%82botk3KZoo9r4KqAXT9aJylO?+mex73SA(x`zqoJ0zY#+`bPI>XA@C z!A1ar_6_qpT?UKwn0MX)G_Yz~oCq7F>K!-S=O;YiCEVjBXf0gbwYkSLr9%6xj^ks8 z&Lx*zd8xB<3g5h}I{4<}H0-fXVmK8aj<1^-+q0LS4P2SSHyA6)TrT4zu?prapC2}aWgz;Ty>>3o^YKwgR5NPe6XdIeQZ6`FGMrcEN+qmwZ%xF`+ z5DS#>z0#&}a-~1FxxMwZP2W*%9^W;3sp%~xVu+qaIY$?_Ck z;rL-k<<|DN)7%`W$;Oy`0dS%*A>R@#mE!(c%`^87^UuG$!=7ghV52JO14rdOf(KB~ z0@|~8lAG(yS1J`Rzr1*LY3H^Vj+S;^y<@agn%@)dWII2v7n~lX(pc@V!god0e)q_< z!q+0F)ofQcReIrN86im`5#X4NFhH6NkjTv9fJAO@rW((d)0JeskalZXw=k;k4cjSr zzHOEV+_1JEn!ugTaQ-$EPfAAGAc{M;Y};14WcyX4mv1TV94%d1+(A6joV+O%NEGHN zfoAbZ*K9JMNMw_RT)I$Bj(U);*sDel|}uf8pZ)KzM$xHhPsgzKq zQgV*7Q;-}v4_Mv@mJwiyWDpvNlSt?A0pD!CT1h3c^<-vLX+y?Aku@bs8E;NNK~tN7Zbz7c6!Bt8h#~;r*#v7Yw?p34pXQe0b2`6b* z7tKgfO3Yj)ok~`6nOZGTNhcGdYS&fUPaaO*FU_IB(vd0S>)zFjTh5j1qZ*%G+aY~U z2B(5F%i;i5b#rky?q>6Dwi2(TftQyHY4=QkrIPGqK2ycAkgaEPnQ|iE#tg&%On_z6 z0G4+Pl}x3YNV=7HwNl3->EoTupA@u2yj=nCl6kkBh-b2ubTygCRKU?*b~1BvbZfyw z1;9(y%Bgy?R?U_{!9*I1(dAd{+_il4vMVlKzIEHq%RLV$dOy)8YPR>2$AdH_&vm5o zH8{_M$%|_5rQrJ2k%5;9pr1DNnz*w$#o4#3(YO?QD(dP`V>=w3yn`e)Ip$WOg^DAG zw?IhPch~WHwFS!SR^7Y!a9%ZXKUF)HIuGp@`X6mAwTzc)ywnV3fJ&32bGD-XOg+) z<>gx#h%eu@`~pdeFE39^g04daVR)E#IpvYc46$^20zUXaCReGYvw4X9aynJ0U`GLp z9Hyf>c4{xYEZ>0wOew=M-2)grDpF4o6g7(w(dOllmvo3yM!^PqR?Wm)OKQwwv*1@C+&86i-umhC1*Dp<$$@P`I zn@pzDwR|mG$GQ$m3%_=jYg4QfW|F_hKtNQv01Rv&#~jM%b8fDdtky;$f!hT(RL2|B zGgEkvq&18u2A9mbIX96=<+F)|o2+0i;TThKsNmV@Z##$vS@c#Gixug&glNw~Zgy^_-WQ zOwJ+*@(3QpoZw5DCC&`=yPi*0p@S8`2QE||?9T)F(7$WoL7cWvmB(A{q-G6Vuuw8z zT0WDjK>Fb34LQO!Ce)UrJs0gH@mnr#0pcZHOOHabdF8Zln~!~y&!~xH8QKx_-c+p$ z)1+G+Jr3q6Km|t7W)oF6Q?C`0Zr-h=xa+7%6-`1&8)29Z2?`Pn4{sfto*XY9Az4Wi zz{=Dzg#wtrUcfKm$T9*}O@SsYaqStFhxH21bSxg1YHMb-=%DC6lBvM9mSfeAyg^js|&{#q5!<=vF)qGM$cEde!~sB;YSS}y2G zhfe8rY8$qR&_92h)yi)g!U8`vR4G&{aTkPv-0+uGHlNGL&@aFIe6Gh_m?;YI#-cp8 z&E+dre!7(z#ygB6ehVp4&0(JcsVyrr`-rzP`1%;vVy};SCF0`Vngt@q@;;h*4ifWI z6V1IC;zFUC$|t$|Dc6$aDu=ka*B{n7z|qGx!zA=i-jo_sr8po}uofiinYtU#6sq|O z)R{nj3!4;KEidadTI*QO@#9eVC8$g)o~)M>sjR=8cNFV@lhj&CYdr^Ok$Fi0G>kr8HRJq(Ek=dJt-bFTa$hjsR??mW;=#GQlR6tK^^|%r2y0 zn;UBe7BFC#)oF?NylaZ5-tFYC8(~P@!(>{oU&205v##uFutICG6Ir!K^qEAZfK6#R zm%uM=74lT@kbW|KPwD#AM4}K+R1@`TzTm>PEcHD`!SaSp71uSqbIQlAh9_b~6lAqT z)L3ywbja3uyS#iRQ-P?Q$zUmgtPJ!6Kk}6?=Q8zlxss^HYZy%6*P#q$1Y%NaVJ+sE z1<~sjlsrh?L@r&!hX-t}KY#|!zE<;b z{Li6Af*mN$Ovpi-%SN#dm2>$z6qnI`3`x{wsl#I;Du2qHBR7OMTL^)rm z=WDfcIpwDEu;;XLH*i~j(mG!?pG%k1aqNR&1JGA<`__&GJoK~Qd{3c(Btr?S;ls+_E4D|zVFTzBUys5{8> z?)EgMuGZT6dOKeLELU^2dOVY<;)n4H*&L<3Y>HV?pDpD)TTLQY^-dy7{ty3g$g9G4wNwI{DP;ScQY{?3=@*w-NGa?dF5xVoR41C(1yt*3A>QA_0#&@X*rpQz%~GE+63b5k|wt+jj=KP-qfmxP*kb%&6e zEzypnEmo@KTDlAljhFEwgc+zUD7c|x!W4uk*ZBKCP7MAC~yvrn(=bRO=nZJOc{GvHwmH8QDOs+oU|m!is~{?Z|E;ET$~WS zH<6%B;Rj)GaLK`p*Kt&q&){bs-E^`HQ4q-Y76(CfWW={hJCSk^PvTQA!fqlL6V*%&N?ST!u4YoXJV?+{ zLaDz$Gw`vSi85ruRqz23uV?v)3>-I<=PB@f2Ae962Wh_8)Cqi{yfB(nZTIunhR9EIp;w=n_2pkIxj@f>oG#=t+?7>z&Qu8V4Hm)f_I3& zN|R?DN{C~^a*s}bD^<{mVNEbLr91FbDXJY3RwAsu8oq=O4-=Dk&N|wbj~RFv^G)3V znp;r1{WTaOfsPX>J5EsOI9ryEvlkwi0)lhEtbmu!CSv~|)EUCYV zgpkx|e|M(cV?y$d;#o{1?SF*kS+_O>Q0*_*%-73yWBw;>o`yn!t`X-z*EG)lcW<6G z&i4w={>O6I20afx&9<8A6L^r|pTjdqaJDv&>w&tkl|JiCU%sK_4N<;TsKeVpolUmX ztWVYpboCNM+h5xuj@(G8^H~bNuZahdyco|Ql9V4_lb5q(n=3Rt|LZ)jLMHqC$9VeZ z{x3&ZIP^mZctDOJ=;8M<1OxD1iD>&vJ^YOeSxwbmKQwz?U4aa5w(`aMIc9H8Nc8MS zc(7-`#1lQ6!9$R`9sv)jz0A@?8wAh*QooCw_Lo-9L5!UwyJ4}@&I%kx--DsWt(>FU zi-837n#my;bVEQCFUjI+f0E@6#B{g6h|sKqW)XcdXg@$Ey7p~6*fn+$U2BQLzd#)L zsmJj2+Wu~vFMfv9Ko^^cwmk6moW`)9C)xb{z4X7bMO#Co{IomE8*$2 zHin>_ZZAT>qwH#?d8guNQZ12o{ZEFx2QjZ8Gc|MhUkKqSknUAHeNtbIurz-c0$#JM z|k@vb*3H*XLT`<8Y<)jSlJ}M0`W$ZFpPS z!y$y4qy|?z50`&L5>3GTYA_m*&mDrE`~rUKWP(3Np(ENvx)^Z|wb(y~QBrdSzvn-X z@%-0-ER4agw+GFj{9T4wmasw0g6A#AVw(uPQwZ9GyD-0Zvws=m3*~G z-Gy{bNPq8nHd4IN*a*7Fxbc(t`gkNGoDs0s@_Y32o8bB51F}0;-$9w60hS-;_qV3} zwTTnieiop?`OXU{G1})|OTaTUsJ;u3xrFnZ{AP?Guj`3d9BqNY<{?OzAciv85u2c@pHfeGC#qC$h-)7 zv~c_zo8Wdq7$KpaLb`0g)N;H5IN#onzk}JiA-WHBwBY1NQawY#V?H3+bp8aDg!13; zlf?|N3~g}I--=YuC2ynntT%%Er0pCHC5yH_IzNWqdbCX-H88O1EsHE}<&4)a+Ms$k zfe*-r!>}2y9gSn6aLA3{xe#ka=z`naLyy zCHRbt)sOTpmNekRg$*si?Zz!lH5$#n)0s0}o~Ts-Yz!78e1UWfWfsiJIM~?FL!D}} z|E#$+V0&o-+ZtThW4Y;>iq_FY;K?UUp_q=0Y@caP&cOaPIm2&3?akKf*iy$cxm2Q3 zue+In$N{0$!n6>C#$fndu;QHEEo#rUCM~l0(m|=wIB?3zB2Z0a@-S_b)5(I%)3;MM zoDAmTH~<82!knnrYWY;!P2kA2cG?AE{1DuShk^I-@Re@07DqJaEwRXTXROkTUdzq{lJfILfHm8+ zapv#pqL|*^_d^BAmO-1j!^6mJpG*c1o?B-CBO?M~Z!#TEW~=pDqE^UN;`QoMcwlh- zmE4wt3-M_y6+mmYh3zb{hvVdlRy*%8Ym`w?VMrVvX+D7&4A4dYFbrRa zL#>JC`7pJ-B1T4h;R^N|8F`w)PQ&aEhy6skmde&}(0AS;X|RnrB>e$=b^4$SPYh3F z4iEFipqjib6tv>DEAccO!oYiMbs6AU6nZRS^t2vNyKWwnzXCs!Y`wDb`v3ff^&shn zg9DXIrE+md;cOi)Bjr?e)&5y+&l;`a;n9hMV^a;saBtRr(X-?o_64QA zbUCWylnEV;*K=+rU8z>ewTfHK#aCY}jmqx+ z<(VZqah}CIt0~~IW-i&;ANR0ZooTkFom&G9lVo_z(Lyc{2f}m zcu_x9h?i5jOd(f;b8(^)FKjuf`gBs0EhyhQ*qcox6NO4HS9P<696Yo~^f>uSNf|D& R&pTZ@?I-EME5T3p{{c|WcgX+% diff --git a/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.wasm b/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.wasm index fe64f09d981f7008cefa2110c087d7673923cfbc..15717f1d28d82bd7538d60035061fa9a21dc2a54 100755 GIT binary patch delta 3300 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 UM9YC z7e7-MOAAQ55IrCwlrL$bR7HJ)fV9uDWtP#C%@ zsF2lDYFmSHZRO7!UkNHT5yfTGs&ZH^M6^0;!j5o$TTuK>SSSn?9>C+#>M4cRpmJsd z9xg_O%DeeuRQbH795$E3XiVk(Tsb-_lna$W6oSf!@cNaLnm+&L<9xfO9E_Yjw*l%W zm%|OvHhC$UzJBslTpyaes&3?X0EZ_}fjQ+RxHVkxy@BkL%E9QXW+qv#Rob zE*C4c5vev$@2|zEZJ9MtIJ*&Q+7^Yg;pVopVOw?4?B~Pcf392yW66F0CGUf+WOaBP z&XRkE7Su$+nA^)7ALF zB{&bGJQL@CpT8CLjVPZ+{aBn|`)s}%*H;Fp`h27MPx@jAKj#DC>u_D%-nec9GH*fq z(gD{$(7r<7)jq$s-@)d1PT}+hc!pmwlsi}q&ZAl^4!FUtfx+H>y}|_}h!;n7_w=nD z3`USHj{bb_!~C-v-`g8ha*&HPnZ7TmoXeM&`0k$WftAj-1eFaK=;CO-W=*+wHHyQz zIMbl)Ywn5CPmA1i{I25d5_a zr@sEwxOx-=6c^&C9e||Zj-&i$yxb1V8-W-~tI7q+t9n&Drg0bE zbr{D99KXf!CXRREQ2*poKdzS62Eos8ilnQuZa>vgpM=j)7V+zQh0mgib!xNn4(m$RK}@h(6yZk|_YuwFTm zS)Do?J1JoEcTb_4uw+=~(?i48M~O^g&N7);OS70!`2Fy;kwp^|oe*IXr=|8Vb<5ml z<0Ns!3FSmavY2)TOBR2XlCLc04Ct1&M$V{QnW)5|)xryzXsSHCvSn_hT$&}Bq0D8( zWIlyUw_X=9 zN?4JaBsPgk3496Kqg2OANa3YPL>wyx-+^yLGPAKz=#q|kn$ZNBwylbU!FOXJtjU~9 zwSz~tT~o?pZ{QOXI4X~GHfnsOmv*X{+8h`r#MV^XnLlGMWoyKh1- z86i14FnweuGg$b&J&iO=k(F9fhLlk>=?qr5K{&j-bppo)hRaZz5^AV7Ds`CBknXuB z5>hHH6Cdl08e%=Xx@TU5#KCA$8C&Numr`ihdt;N}iX*>dsxfOBXPtqzcFtM_U3(V7 zvAyFX47--fBlbk4R&aP@@2ycxwMxCRR%`CKqA-77S~5z;Iwr_`%ySu^M->k4yBc9Z z&#*)=42|W9f#2;rIi3r{xn@>m3Ry@@XYfe%a(H?F%t#w)JxLNn6-$LQ@Q?i@ij9eV zrns}5BH1J_0_qcRl)_Xxt{2|RdUUddQ5nDZR#kmZubIlCspa|h~S-eWD1iKXKf z`Dm4qiF7daiOwi9+Qu3UBsxvfM8f?~TodUOspc^WQ+(QR4M(1sd5un7EVxZH=AL7` zGqC-=eO=u>U43h`adW1wWme8{4}Uw@I>jUwNf;At5-t@!;O^;jX0XfaZtRLd@XO|^{Qh8lcpE(ZeD8!- z{5$b~EPyLs_#w1Zn=kqMWwkx}4i~;#?W_)mk?_KHkto zp|3h-sms%D;vATDq_wFlyLZrabgabcK)tn!$Btqlu(1C~8l}o$1;P~9f-#FF_njk4 zFLrYA(IpX!2@}R!YEzjJZ{YCJY0-ta!Jm#!y%^z1FHIhQAu>~Mf#;95!ksToz8Kzp zFI8^55Z>u5|0mJW(Kp!N(eXdwL)XX!5SORV<}{u$|KjvE)hYoWi(fScHYo+F|(k>XPJK5(HFuti+ld0uD;G"] [dependencies] -parity-crypto = { git = "https://github.com/paritytech/parity-common.git", default_features = false } +parity-crypto = { version = "0.1", default_features = false } ed25519 = { path = "../ed25519" } error-chain = "0.12" hex = "0.3" diff --git a/substrate/network-libp2p/Cargo.toml b/substrate/network-libp2p/Cargo.toml index 08d8cb9a99275..2ffc620d564dc 100644 --- a/substrate/network-libp2p/Cargo.toml +++ b/substrate/network-libp2p/Cargo.toml @@ -29,6 +29,6 @@ unsigned-varint = { version = "0.2", features = ["codec"] } [dev-dependencies] assert_matches = "1.2" -parity-bytes = { git = "https://github.com/paritytech/parity-common.git" } +parity-bytes = "0.1" ethcore-io = { git = "https://github.com/paritytech/parity.git" } ethcore-logger = { git = "https://github.com/paritytech/parity.git" } diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 9e2a882846e3b..9ccd33ad6617e 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -9,18 +9,18 @@ substrate-runtime-std = { path = "../runtime-std", default_features = false } substrate-codec = { path = "../codec", default_features = false } substrate-codec-derive = { path = "../codec/derive", default_features = false } elastic-array = {version = "0.10", optional = true } -fixed-hash = { git = "https://github.com/paritytech/parity-common", default_features = false } +fixed-hash = { version = "0.2.2", default_features = false } rustc-hex = { version = "2.0", default_features = false } serde = { version = "1.0", default_features = false } serde_derive = { version = "1.0", optional = true } -uint = { git = "https://github.com/paritytech/parity-common", default_features = false } -rlp = { git = "https://github.com/paritytech/parity-common", optional = true } +uint = { version = "0.4.1", default_features = false } +rlp = { version = "0.2.4", optional = true } twox-hash = { version = "1.1.0", optional = true } byteorder = { version = "1.1", default_features = false } wasmi = { version = "0.4", optional = true } -hashdb = { git = "https://github.com/paritytech/parity-common", default_features = false } -patricia-trie = { git = "https://github.com/paritytech/parity-common", optional = true } -plain_hasher = { git = "https://github.com/paritytech/parity-common", default_features = false } +hashdb = { version = "0.2.1", default_features = false } +patricia-trie = { version = "0.2.1", optional = true } +plain_hasher = { version = "0.2", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } # Switch back to Blake after PoC-3 is out and remove this diff --git a/substrate/runtime-io/Cargo.toml b/substrate/runtime-io/Cargo.toml index b46f9909c2018..bff0ee2ca89fe 100644 --- a/substrate/runtime-io/Cargo.toml +++ b/substrate/runtime-io/Cargo.toml @@ -13,7 +13,7 @@ environmental = { path = "../environmental", optional = true } substrate-state-machine = { path = "../state-machine", optional = true } substrate-primitives = { path = "../primitives", default_features = false } substrate-codec = { path = "../codec", default_features = false } -triehash = { version = "0.1.2", optional = true } +triehash = { version = "0.2", optional = true } ed25519 = { path = "../ed25519", optional = true } [features] diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index f543b8ae2c893..eacf3717dd8f1 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -102,7 +102,7 @@ pub fn storage_root() -> H256 { /// A trie root formed from the enumerated items. pub fn enumerated_trie_root(serialised_values: &[&[u8]]) -> [u8; 32] { - triehash::ordered_trie_root(serialised_values.iter().map(|s| s.to_vec())).0 + triehash::ordered_trie_root::(serialised_values.iter().map(|s| s.to_vec())).0 } /// A trie root formed from the iterated items. @@ -111,7 +111,7 @@ pub fn trie_root< A: AsRef<[u8]> + Ord, B: AsRef<[u8]>, >(input: I) -> [u8; 32] { - triehash::trie_root(input).0 + triehash::trie_root::(input).0 } /// A trie root formed from the enumerated items. @@ -119,7 +119,7 @@ pub fn ordered_trie_root< I: IntoIterator, A: AsRef<[u8]> >(input: I) -> [u8; 32] { - triehash::ordered_trie_root(input).0 + triehash::ordered_trie_root::(input).0 } /// Verify a ed25519 signature. diff --git a/substrate/state-machine/Cargo.toml b/substrate/state-machine/Cargo.toml index a9e9dce8acc5b..3635627999f35 100644 --- a/substrate/state-machine/Cargo.toml +++ b/substrate/state-machine/Cargo.toml @@ -10,12 +10,12 @@ hex-literal = "0.1.0" log = "0.3" parking_lot = "0.4" heapsize = "0.4" +hashdb = "0.2.1" +memorydb = "0.2.1" +patricia-trie = "0.2.1" +triehash = "0.2" +rlp = "0.2.4" substrate-primitives = { path = "../primitives", version = "0.1.0" } substrate-codec = { path = "../codec", default_features = false } -hashdb = { git = "https://github.com/paritytech/parity-common" } -memorydb = { git = "https://github.com/paritytech/parity-common" } -patricia-trie = { git = "https://github.com/paritytech/parity-common" } -triehash = { git = "https://github.com/paritytech/parity-common" } -rlp = { git = "https://github.com/paritytech/parity-common" } diff --git a/substrate/test-client/Cargo.toml b/substrate/test-client/Cargo.toml index 461a29cac80a2..f36ec382f6028 100644 --- a/substrate/test-client/Cargo.toml +++ b/substrate/test-client/Cargo.toml @@ -14,5 +14,5 @@ substrate-primitives = { path = "../primitives" } substrate-runtime-support = { path = "../runtime-support" } substrate-test-runtime = { path = "../test-runtime" } substrate-runtime-primitives = { path = "../runtime/primitives" } -hashdb = { git = "https://github.com/paritytech/parity-common" } +hashdb = "0.2.1" diff --git a/substrate/test-runtime/wasm/Cargo.lock b/substrate/test-runtime/wasm/Cargo.lock index 0e814ec21e092..f45b7afb38287 100644 --- a/substrate/test-runtime/wasm/Cargo.lock +++ b/substrate/test-runtime/wasm/Cargo.lock @@ -30,11 +30,6 @@ name = "byteorder" version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "cc" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "cfg-if" version = "0.1.3" @@ -112,23 +107,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ethereum-types" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -139,21 +133,10 @@ dependencies = [ "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "fixed-hash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "fixed-hash" version = "0.2.2" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -183,7 +166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hashdb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -218,16 +201,6 @@ name = "integer-sqrt" version = "0.1.0" source = "git+https://github.com/paritytech/integer-sqrt-rs.git#886e9cb983c46498003878afe965d55caa762025" -[[package]] -name = "keccak-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "lazy_static" version = "0.2.11" @@ -272,13 +245,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memorydb" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -315,7 +288,7 @@ dependencies = [ [[package]] name = "parity-bytes" version = "0.1.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "parity-wasm" @@ -341,26 +314,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "patricia-trie" version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)", + "parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "plain_hasher" version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -460,24 +433,13 @@ dependencies = [ [[package]] name = "rlp" -version = "0.2.1" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rlp" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -533,8 +495,11 @@ dependencies = [ [[package]] name = "smallvec" -version = "0.6.1" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "stable_deref_trait" @@ -565,11 +530,11 @@ dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -578,7 +543,7 @@ dependencies = [ "substrate-runtime-std 0.1.0", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uint 0.3.0 (git+https://github.com/paritytech/parity-common)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -593,7 +558,7 @@ dependencies = [ "substrate-primitives 0.1.0", "substrate-runtime-std 0.1.0", "substrate-state-machine 0.1.0", - "triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -653,17 +618,17 @@ name = "substrate-state-machine" version = "0.1.0" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)", + "memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", - "triehash 0.2.0 (git+https://github.com/paritytech/parity-common)", + "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -703,23 +668,12 @@ dependencies = [ [[package]] name = "triehash" -version = "0.1.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "triehash" -version = "0.2.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" -dependencies = [ - "elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)", - "rlp 0.2.1 (git+https://github.com/paritytech/parity-common)", + "hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -732,22 +686,12 @@ dependencies = [ [[package]] name = "uint" -version = "0.2.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "uint" -version = "0.3.0" -source = "git+https://github.com/paritytech/parity-common#22209e14805e5764f7fe81259324d34eab179264" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -756,11 +700,24 @@ name = "unicode-xid" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "untrusted" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "wasmi" version = "0.4.0" @@ -797,7 +754,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" "checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9" -"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d" "checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" @@ -806,19 +762,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" -"checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" +"checksum ethereum-types 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35b3c5a18bc5e73a32a110ac743ec04b02bbbcd3b71d3118d40a6113d509378a" "checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" -"checksum fixed-hash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18d6fd718fb4396e7a9c93ac59ba7143501467ca7a143c145b5555a571d5576" -"checksum fixed-hash 0.2.2 (git+https://github.com/paritytech/parity-common)" = "" +"checksum fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5ec8112f00ea8a483e04748a85522184418fd1cf02890b626d8fc28683f7de" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum hashdb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum hashdb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f1c71fc577cde89b3345d5f2880fecaf462a32e96c619f431279bdaf1ba5ddb1" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" "checksum integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)" = "" -"checksum keccak-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b7f51f30d7986536accaec4a6a288008dfb3dbffe8a2863a65292bc395a3ae7" "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" "checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum libc 0.2.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206" @@ -826,18 +780,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" -"checksum memorydb 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" +"checksum memorydb 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f72c93304ad51e21230ecbd0d2b58a3f94703bf9339d14aed88c3aaf5e8b7a56" "checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" "checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" -"checksum parity-bytes 0.1.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c" "checksum parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c91199d14bd5b78ecade323d4a891d094799749c1b9e82d9c590c2e2849a40" "checksum parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e" "checksum parking_lot_core 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa" -"checksum patricia-trie 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum plain_hasher 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum patricia-trie 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fa27fc4a972a03d64e5170d7facd2c84c6ed425b38ce62ad98dcfee2f7845b3b" +"checksum plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "95fa6386b1d34aaf0adb9b7dd2885dbe7c34190e6263785e5a7ec2b19044a90f" "checksum proc-macro-hack 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba8d4f9257b85eb6cdf13f055cea3190520aab1409ca2ab43493ea4820c25f0" "checksum proc-macro-hack-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5cb6f960ad471404618e9817c0e5d10b1ae74cfdf01fab89ea0641fe7fb2892" "checksum proc-macro2 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46" @@ -847,8 +801,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" "checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" -"checksum rlp 0.2.1 (git+https://github.com/paritytech/parity-common)" = "" -"checksum rlp 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "89db7f8dfdd5eb7ab3ac3ece7a07fd273a680b4b224cb231181280e8996f9f0b" +"checksum rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "524c5ad554859785dfc8469df3ed5e0b5784d4d335877ed47c8d90fc0eb238fe" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" "checksum rustc-hex 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b03280c2813907a030785570c577fb27d3deec8da4c18566751ade94de0ace" "checksum rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a54aa04a10c68c1c4eacb4337fd883b435997ede17a9385784b990777686b09a" @@ -857,17 +810,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)" = "fba5be06346c5200249c8c8ca4ccba4a09e8747c71c16e420bd359a0db4d8f91" "checksum serde_derive 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)" = "79e4620ba6fbe051fc7506fab6f84205823564d55da18d55b695160fb3479cd8" -"checksum smallvec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03dab98ab5ded3a8b43b2c80751194608d0b2aa0f1d46cf95d1c35e192844aa7" +"checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d" "checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" "checksum syn 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101" "checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" -"checksum triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2033893a813c70e7d8a739ca6c36dc0a7a2c913ec718d7cbf84a3837bbe3c7ce" -"checksum triehash 0.2.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3da77dc2c88bac48769c53f2c7675d99d522a7fc8130da3fadf29d7c6f94c9ac" "checksum twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "475352206e7a290c5fccc27624a163e8d0d115f7bb60ca18a64fc9ce056d7435" -"checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" -"checksum uint 0.3.0 (git+https://github.com/paritytech/parity-common)" = "" +"checksum uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "754ba11732b9161b94c41798e5197e5e75388d012f760c42adb5000353e98646" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "522fe3fdd44a56f25cd5ddcd8ccdb1cf2e982ceb28fcb00f41d8a018ae5245a8" "checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" diff --git a/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index 0567f5675d123ad4a740578f9cf7980c627544cc..77804d43d0eb7a57c36857eb57c87c61a3d0382a 100644 GIT binary patch delta 1159 zcmX|AUuYaf7~k1kQ_~~4O)sXcEhdqQ(U^4p?C$Jb8|>Dm5UFX?Cs8EM?97^Llgst) zqA9*qZ9x?AVSFfJ9)!G9h=_|)AGArXImL(4;yF^m%z3rtEFkXo&`fqb&P!xzxn9z`pWvUm9SjK&j0?_f)!?*e77C0 zq%iB`lauX-Y%r(a&v%(PpV#0{5_asfcim45`kfvt8?Ik8kZi#Dq}I6zz%A|X9s#TR z;_m0cnu!Am*mJfG+)JuY90ev_>0Qh2$aUM@AcUu#Tyoh(nVjL_75lV_-vcA+H(NUN zEA5#Cup6Lx;ewgbtUnp-OYDQ=05p;_hhUmM9&~N+Ai4R>BfyNhdw3blCSQcrO@fmb zo_#rm#i3sP=h1gJP+D=|Slu>Trt;q5cQz2xKM%hIRulBxPXOd}^YL#tHo5`QjsCFG zHGe$*kKHq3JJx>7vWUs8CJ&oqo0B!XH`Vp+6Td#0si|ts+ORR3E%QpTcCLR@x?_yX zHW&DGZMNh_R7Y0GBGgeqC#yzUw$1Gl!SO4E~8xVlBl zJV?dd&`hmTELDq9x2ja8DpvU31^wCRfSVXov#r%ibij=N23V;_2o2oW&M5DfM`t#6+1*i|T$ zxhxdM;{bBuAqq`B3$R`>eVE4y5==zGjTu!~qk7jMbUjaU1(hJNa^s+@FPf?-)23D_ z6l7(pJZ65b@&q^56viP!1QN3uR?svP`op^KAS_%GyNCr+x%l$i% zs{%icF{GYp5|gJ!^yqS@Zfo>9N+B02Y91C*f-%#_8r=@TEan{h5h4MhJkqZ9xig$9yHplrLQ5NfhHqi|?r85h@jizJNaB0=xeM7BzR_ literal 51113 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 diff --git a/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm b/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm index 9705888c4ff4ddb4e0df9370eb463bea2aa0087d..ca4435aba5534e2f1041894b46694ef76b69f45f 100755 GIT binary patch delta 2602 zcmZWqYm8l06+Y+A^u^ejJ!PgTAaok1S}3jiarW8!Ok3<77-}E1rP$yLoBeEu4l~1@ zJ5Wrp5eq1w5mpJ5(3fo~LaS3w5H(1j3_cR&2O>lWRfz}&ganNtRb01CNG$i>efC-F z?#J5Sx7N20e!pqwy-j0}rxTizDNU1LEM3y{x3nETNSAiB*G5O`>ugxxKe%pm@aFzO zpUi;ED-TTg?zVJxWlya+h1Jd7<)11;X<3`ldd}3TN$-n?fAP?J$6tH@*`&Out+{gU zA8$L7RGUd>SEc$|y{`k(x5}*@pRAA~{3 z=||J_W%$mFmFY=%X~tFQ8~B_LM`kpaUp()I*7Tin{4-ai*tJ~zM$0+vU6ro1O0OsF z<*AG{x1nAAY2|u+{xU@;JU^wQTwT17rbo)z3m#0<@$#94w9)-zQC3M$mEDWaPjQFO zRi90_mlJwN&KSIW{POD>uTS^Q0oHfd>9@v++paub!QdM1!KL3m{l;L#yH3?~Lm$#IR*zj~T6R=t-*Y!i867v$lT=eUnCR8R^+n_ephc!<=$v z$UqoOst2KVwfO4GAB`Fuy&MV3O(^ADNr#{YmwmhS~agGqRy;aH!rDZX7iO zN%d62+t#33bBRvW4%)w{Pqx@LY_0$tNF^T-w)GjVWe&;<-|ykSkYX26`W ze+zES-16X>7b|HiY+1V?Z7q+iU3h+FeWm>G(EUwQ%TFZ9?Fd8rMM-i6>>7D&N&}>| z7beLrxTbz{`g-}B`orf`cn1BOFU78WVDqJuI)9I|-o*AkwsxFw0k+xj(j7C~525F# ziAnNzY>l;bIr+{NO}OjYyLL@Ue-8hG9ff~-K6P5wlGnXhXii~+D znT*0q3d{H0Nx0NDD3J%A@enA3KkwN{5N4M#qqV?)jdyU}UPlT^b?%r~QBnMAcz*9n zf&((c1ak@xo|y>q_w|s>;`YpOt4#3RM%c8E5tTEmoywf0ky;nvXZx0tESEk=89hd1 zY@{&lktGBdVv<{ANK2jYfWZaT1$cs#O{ zS{WI$$YX@}4%|*;jF~IA3EEOgLjiXjyo%((sVI4dB@`HU1^ngU6~q)AS&+eJGFU5l zseUw=5(I~0E?BCVr5G1H`Qs`<0DRO;Bk)Qy%$td08J0FC0upa>%yLgDEF0?~SU!;! z-WJA&obw1<$5>m`)L6+BYJ)5^hZn}K#I!Mj*}^)T#X7pKkA-kbFFb?vp6EH`R?D2nlOSl3ExU9jK!ZKl@1Ypt&L74LJG8 zf|L}_IK{p76swGK4%Zx=|8d~%Ju0R($k0k*a&W~lN2V`DfTfA`@nu$jRA!!PidA zYCDS+_}+Kj)UN`B#T mp_GJ;&ut`_;l2pDMPc%&FAo0toI*8LK5nlrq%vi|`c9XOEy delta 2564 zcmZuydyH1a6~Fh}1%(xM7FeMuu!N;P5S-_onO#IaWU*M0Vq?DCn{`J`z)TxQZc7BPmTuw6&%tnzsC5)U-9$_I#L_2Ky!F&YW}S zp81{Md3?L?YdCOk!|*ftm~*mm4Gn2Hzq;XMj?$<3@^oWm$C#h*%I8+f*2WEa`lz8j zeNy?nylc$F@#meFExGTncmL<1(S2Lil#ezyRwn=Dr-!p@BWh`@RNt>}n@~&nQp>_h z{y_R<@+^3^PD%M&<-REwR;IrD6F4v*&CQysAKwXEc4j+NzJ30YJU^a>rd^kxNT;W* z$WOs@LD}=Q4HNTs%C|0Bn#0m|$@@*?TiYsac@^J;TFVwe8k<3{zErsho^RxJ<0}0@ zo*yhbI(O#zi{Pp7>JjUu&}JsV~({ zwVtf{PF zHBA^CaF+v=T3EMWU@)s5tQ*Jnt?zRI@YbnqI@g+B^M!sW?YMs4jCw^hHP*slEjv>Z zO-=n~pr>~0{JN<;eEq3PzB%o>p)=oH{{DuA)5jkMX1alltTEl&&;Lgzl%xIcRVIv_ zmt}Xt>vv{k*`)OR;M3#4kj(+DFRiWJl8=;suKj9!g|Kwn=F4Cy_iw)JoYs?Y=mU_C zKoHz89i%;-zH3&?Fj#&xHp~77Qui&(8C$Mx05mskePmp|KQ(RtW>?dBXHqFFw(?yZ0HK) zg2VxbLWRO&%SoED`wAqKaDcLig%pOUm<$+I&{kMSXt3DXsME8%7bB{IAy^caJ4%F= z>2okLZ&;+>6$X40Zqjv+{JYs&&y3*;fOBPwwEEGj5%!XW7>M#bO6O@h_~^HhVuBS~ zaY3XH-q|$ev05{aQ57~60fS4h?Re}qB*9amASlC`wnU`4kIzHIDi z3&K(b76M#k00NQeACKRRXn`e{R$Ge$eBjf-9@hf714L9X;v~cwy3)BX&rFSbFK^M> zF-7Z<8&8dMU1|NxGm_bRA+k&<8bu6PXs4`7zt~HVW*BoK7^cw>Rut*CdzYhv$AZ~F zrJ`J79n(cmT#baM7}vvqOiL?my6uS}M63ovjU*IeQxMx_Ph#W<(U>?AozejcF7-aS z2^CT*BSqxK5{G?EA3wPW0foRck=%y}sn%)9Q_G+p6_cir+CWiJM$^ux0`k-usUqPN zEA0!GChWTfablE?%6ns2V2Y&e`!=A$0jazwASEGa6H@Ebmm12& z962Sq;aEdZ-bn7!%>8RnRMbI*X-atj8fp63{+khoY*TGK0RROKK8-zaCyIeO>zvml z(#VBK4;@$mwE{FjYf#|XGvU%d4=e@lgw_y3)L4KkRbKmSUyfMe7&FutR!R8ErQ^?4 zk#W*TEQBM9>O#77!7xX-P=Ya`qm_k$?^E}12jb50XcY^d5x8EZeZ%B@=ojLGh+fm6 zf@NJ<_v-6Jx_wV;8gmeMaK>{3=&;d33z@D2qtW0p0y`Q!I%d+X2j|T(BJhHFVW74H z1wVdZeSddPUw416abe-tH$r0mb+EG~;0VJ&2})_;)R3<9?4ho-b>sr*IT0lEFw7to z0*mSSk@ne6cqnI%jT1~Na2q!D2UqKkrl&XfEIVF)I&!)xU!6X9W&PClG1>pQc2WAy zpzd5qtt1OK_%8=875G9Nz4BEx% zwBo3qq)32Pgb`8iNa@Vf!L;(|%=E(1Wz7)>=rXA}!^B{dnqFOkcpxx7oRCp)@1jp@ z!1$GzpL=!Yq_cA}du94?SWfHci0f({9c#amlLe!*CY_y=IW%>TUO4Tnth8Oc0P6CR z_NDiaw5Q=wgwD=JdUJGk^I4qV|Jq8JG^~g)L9{Ijp$jOe*N!4=sj?1ZParci&_rJE zpJ-vYa&8LkrF1eq_xgNj& Date: Wed, 5 Sep 2018 12:12:59 +0200 Subject: [PATCH 4/5] Revert "fix wasm executor compile error (#631)" (#642) This reverts commit 7c18bb6080bd008123d10052cf2642bf5372a4ee. --- README.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/README.adoc b/README.adoc index 885cb01b19f33..59f9f64096012 100644 --- a/README.adoc +++ b/README.adoc @@ -120,7 +120,6 @@ build it. Ensure you have Rust and the support software installed: curl https://sh.rustup.rs -sSf | sh rustup update nightly rustup target add wasm32-unknown-unknown --toolchain nightly -rustup component add llvm-tools-preview --toolchain=nightly rustup update stable cargo install --git https://github.com/alexcrichton/wasm-gc sudo apt install cmake pkg-config libssl-dev git From 5a480d99a49e1617b39a649f07f772a4df6e495a Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Wed, 5 Sep 2018 12:13:10 +0200 Subject: [PATCH 5/5] Revert "Install llvm-tools-preview component (#643)" (#644) This reverts commit ad89579fe79af80b7de72840367146c9887ecd05. --- scripts/init.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/init.sh b/scripts/init.sh index cd306729bafa6..5dde6d42418b5 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -10,7 +10,6 @@ if [ -z $CI_PROJECT_NAME ] ; then fi rustup target add wasm32-unknown-unknown --toolchain nightly -rustup component add llvm-tools-preview --toolchain=nightly # Install wasm-gc. It's useful for stripping slimming down wasm binaries. command -v wasm-gc || \