From 090c3322a57141a8454f55101359d7b89a3cbefc Mon Sep 17 00:00:00 2001 From: Artem Vorotnikov Date: Thu, 6 Feb 2020 16:40:19 +0300 Subject: [PATCH 1/5] Implement EIP-2124 (#11456) * Implement EIP-2124 * Implement ForkFilter * ForkId deserialization * Derive RLP for ForkId * docs * comments by @dvdplm * docs * clippy * period --- Cargo.lock | 33 ++++ Cargo.toml | 1 + util/EIP-2124/Cargo.toml | 21 +++ util/EIP-2124/src/lib.rs | 328 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 383 insertions(+) create mode 100644 util/EIP-2124/Cargo.toml create mode 100644 util/EIP-2124/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index b3f37311a0c..4eaae311d57 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -479,6 +479,12 @@ dependencies = [ "serde", ] +[[package]] +name = "build_const" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39" + [[package]] name = "bumpalo" version = "3.1.2" @@ -748,6 +754,15 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" +[[package]] +name = "crc" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" +dependencies = [ + "build_const", +] + [[package]] name = "criterion" version = "0.3.0" @@ -988,6 +1003,18 @@ dependencies = [ "rustc-hex 2.0.1", ] +[[package]] +name = "eip-2124" +version = "0.1.0" +dependencies = [ + "crc", + "ethereum-types", + "hex-literal", + "maplit", + "rlp", + "rlp_derive", +] + [[package]] name = "eip-712" version = "0.1.1" @@ -2826,6 +2853,12 @@ dependencies = [ "synstructure 0.12.3", ] +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + [[package]] name = "matches" version = "0.1.8" diff --git a/Cargo.toml b/Cargo.toml index 9897a201274..dd9384aa419 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -135,4 +135,5 @@ members = [ "chainspec", "ethcore/wasm/run", "evmbin", + "util/EIP-2124" ] diff --git a/util/EIP-2124/Cargo.toml b/util/EIP-2124/Cargo.toml new file mode 100644 index 00000000000..09b0956256e --- /dev/null +++ b/util/EIP-2124/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "eip-2124" +version = "0.1.0" +authors = ["Parity Technologies "] +repository = "https://github.com/paritytech/parity-ethereum" +documentation = "https://docs.rs/eip-2124" +readme = "README.md" +description = "EIP-2124 Fork ID implementation" +keywords = ["eip-2124", "eip"] +license = "GPL-3.0" +edition = "2018" + +[dependencies] +crc = "1" +ethereum-types = "0.8.0" +maplit = "1" +rlp = "0.4" +rlp_derive = { path = "../rlp-derive" } + +[dev-dependencies] +hex-literal = "0.2" diff --git a/util/EIP-2124/src/lib.rs b/util/EIP-2124/src/lib.rs new file mode 100644 index 00000000000..612465814b6 --- /dev/null +++ b/util/EIP-2124/src/lib.rs @@ -0,0 +1,328 @@ +// Copyright 2015-2019 Parity Technologies (UK) Ltd. +// This file is part of Parity Ethereum. + +// Parity Ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity Ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity Ethereum. If not, see . + +//! EIP-2124 implementation based on . + +#![deny(missing_docs)] + +#![warn( + clippy::all, + clippy::pedantic, + clippy::nursery, +)] + +use crc::crc32; +use ethereum_types::H256; +use maplit::btreemap; +use rlp::{DecoderError, Rlp, RlpStream}; +use rlp_derive::{RlpDecodable, RlpEncodable}; +use std::collections::{BTreeMap, BTreeSet}; + +/// Block number. +pub type BlockNumber = u64; + +/// `CRC32` hash of all previous forks starting from genesis block. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub struct ForkHash(pub u32); + +impl rlp::Encodable for ForkHash { + fn rlp_append(&self, s: &mut RlpStream) { + s.encoder().encode_value(&self.0.to_be_bytes()); + } +} + +impl rlp::Decodable for ForkHash { + fn decode(rlp: &Rlp) -> Result { + rlp.decoder().decode_value(|b| { + if b.len() != 4 { + return Err(DecoderError::RlpInvalidLength); + } + + let mut blob = [0; 4]; + blob.copy_from_slice(&b[..]); + + Ok(Self(u32::from_be_bytes(blob))) + }) + } +} + +impl From for ForkHash { + fn from(genesis: H256) -> Self { + Self(crc32::checksum_ieee(&genesis[..])) + } +} + +impl std::ops::AddAssign for ForkHash { + fn add_assign(&mut self, height: BlockNumber) { + let blob = height.to_be_bytes(); + self.0 = crc32::update(self.0, &crc32::IEEE_TABLE, &blob) + } +} + +impl std::ops::Add for ForkHash { + type Output = Self; + fn add(mut self, height: BlockNumber) -> Self { + self += height; + self + } +} + +/// A fork identifier as defined by EIP-2124. +/// Serves as the chain compatibility identifier. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, RlpEncodable, RlpDecodable)] +pub struct ForkId { + /// CRC32 checksum of the all fork blocks from genesis. + pub hash: ForkHash, + /// Next upcoming fork block number, 0 if not yet known. + pub next: BlockNumber +} + +/// Reason for rejecting provided `ForkId`. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub enum RejectReason { + /// Remote node is outdated and needs a software update. + RemoteStale, + /// Local node is on an incompatible chain or needs a sofwtare update. + LocalIncompatibleOrStale, +} + +/// Filter that describes the state of blockchain and can be used to check incoming `ForkId`s for compatibility. +#[derive(Clone, Debug)] +pub struct ForkFilter { + /// Blockchain head + pub head: BlockNumber, + past_forks: BTreeMap, + next_forks: BTreeSet, +} + +impl ForkFilter { + /// Create the filter from provided head, genesis block hash, past forks and expected future forks. + pub fn new(head: BlockNumber, genesis: H256, past_forks: PF, next_forks: NF) -> Self + where + PF: IntoIterator, + NF: IntoIterator, + { + let genesis_fork_hash = ForkHash::from(genesis); + Self { + head, + past_forks: past_forks.into_iter().fold((btreemap! { 0 => genesis_fork_hash }, genesis_fork_hash), |(mut acc, base_hash), block| { + let fork_hash = base_hash + block; + acc.insert(block, fork_hash); + (acc, fork_hash) + }).0, + next_forks: next_forks.into_iter().collect(), + } + } + + fn current_fork_hash(&self) -> ForkHash { + *self.past_forks.values().next_back().expect("there is always at least one - genesis - fork hash; qed") + } + + fn future_fork_hashes(&self) -> Vec { + self.next_forks.iter().fold((Vec::new(), self.current_fork_hash()), |(mut acc, hash), fork| { + let next = hash + *fork; + acc.push(next); + (acc, next) + }).0 + } + + /// Insert a new past fork + pub fn insert_past_fork(&mut self, height: BlockNumber) { + self.past_forks.insert(height, self.current_fork_hash() + height); + } + + /// Insert a new upcoming fork + pub fn insert_next_fork(&mut self, height: BlockNumber) { + self.next_forks.insert(height); + } + + /// Mark an upcoming fork as already happened and immutable. + /// Returns `false` if no such fork existed and the call was a no-op. + pub fn promote_next_fork(&mut self, height: BlockNumber) -> bool { + let promoted = self.next_forks.remove(&height); + if promoted { + self.insert_past_fork(height); + } + promoted + } + + /// Check whether the provided `ForkId` is compatible based on the validation rules in `EIP-2124`. + /// + /// # Errors + /// Returns a `RejectReason` if the `ForkId` is not compatible. + pub fn is_valid(&self, fork_id: ForkId) -> Result<(), RejectReason> { + // 1) If local and remote FORK_HASH matches... + if self.current_fork_hash() == fork_id.hash { + if fork_id.next == 0 { + // 1b) No remotely announced fork, connect. + return Ok(()) + } + + //... compare local head to FORK_NEXT. + if self.head >= fork_id.next { + // 1a) A remotely announced but remotely not passed block is already passed locally, disconnect, + // since the chains are incompatible. + return Err(RejectReason::LocalIncompatibleOrStale) + } else { + // 1b) Remotely announced fork not yet passed locally, connect. + return Ok(()) + } + } + + // 2) If the remote FORK_HASH is a subset of the local past forks... + let mut it = self.past_forks.iter(); + while let Some((_, hash)) = it.next() { + if *hash == fork_id.hash { + // ...and the remote FORK_NEXT matches with the locally following fork block number, connect. + if let Some((actual_fork_block, _)) = it.next() { + if *actual_fork_block == fork_id.next { + return Ok(()) + } else { + return Err(RejectReason::RemoteStale); + } + } + + break; + } + } + + // 3) If the remote FORK_HASH is a superset of the local past forks and can be completed with locally known future forks, connect. + for future_fork_hash in self.future_fork_hashes() { + if future_fork_hash == fork_id.hash { + return Ok(()) + } + } + + // 4) Reject in all other cases. + Err(RejectReason::LocalIncompatibleOrStale) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use hex_literal::hex; + + const GENESIS_HASH: &str = "d4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"; + const BYZANTIUM_FORK_HEIGHT: BlockNumber = 4370000; + const PETERSBURG_FORK_HEIGHT: BlockNumber = 7280000; + + // EIP test vectors. + + #[test] + fn test_forkhash() { + let mut fork_hash = ForkHash::from(GENESIS_HASH.parse::().unwrap()); + assert_eq!(fork_hash.0, 0xfc64ec04); + + fork_hash += 1150000; + assert_eq!(fork_hash.0, 0x97c2c34c); + + fork_hash += 1920000; + assert_eq!(fork_hash.0, 0x91d1f948); + } + + #[test] + fn test_compatibility_check() { + let spurious_filter = ForkFilter::new( + 4369999, + GENESIS_HASH.parse().unwrap(), + vec![1150000, 1920000, 2463000, 2675000], + vec![BYZANTIUM_FORK_HEIGHT] + ); + let mut byzantium_filter = spurious_filter.clone(); + byzantium_filter.promote_next_fork(BYZANTIUM_FORK_HEIGHT); + byzantium_filter.insert_next_fork(PETERSBURG_FORK_HEIGHT); + byzantium_filter.head = 7279999; + + let mut petersburg_filter = byzantium_filter.clone(); + petersburg_filter.promote_next_fork(PETERSBURG_FORK_HEIGHT); + petersburg_filter.head = 7987396; + + // Local is mainnet Petersburg, remote announces the same. No future fork is announced. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0x668db0af), next: 0 }), Ok(())); + + // Local is mainnet Petersburg, remote announces the same. Remote also announces a next fork + // at block 0xffffffff, but that is uncertain. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0x668db0af), next: BlockNumber::max_value() }), Ok(())); + + // Local is mainnet currently in Byzantium only (so it's aware of Petersburg),remote announces + // also Byzantium, but it's not yet aware of Petersburg (e.g. non updated node before the fork). + // In this case we don't know if Petersburg passed yet or not. + assert_eq!(byzantium_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: 0 }), Ok(())); + + // Local is mainnet currently in Byzantium only (so it's aware of Petersburg), remote announces + // also Byzantium, and it's also aware of Petersburg (e.g. updated node before the fork). We + // don't know if Petersburg passed yet (will pass) or not. + assert_eq!(byzantium_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: PETERSBURG_FORK_HEIGHT }), Ok(())); + + // Local is mainnet currently in Byzantium only (so it's aware of Petersburg), remote announces + // also Byzantium, and it's also aware of some random fork (e.g. misconfigured Petersburg). As + // neither forks passed at neither nodes, they may mismatch, but we still connect for now. + assert_eq!(byzantium_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: BlockNumber::max_value() }), Ok(())); + + // Local is mainnet Petersburg, remote announces Byzantium + knowledge about Petersburg. Remote is simply out of sync, accept. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: PETERSBURG_FORK_HEIGHT }), Ok(())); + + // Local is mainnet Petersburg, remote announces Spurious + knowledge about Byzantium. Remote + // is definitely out of sync. It may or may not need the Petersburg update, we don't know yet. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0x3edd5b10), next: 4370000 }), Ok(())); + + // Local is mainnet Byzantium, remote announces Petersburg. Local is out of sync, accept. + assert_eq!(byzantium_filter.is_valid(ForkId { hash: ForkHash(0x668db0af), next: 0 }), Ok(())); + + // Local is mainnet Spurious, remote announces Byzantium, but is not aware of Petersburg. Local + // out of sync. Local also knows about a future fork, but that is uncertain yet. + assert_eq!(spurious_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: 0 }), Ok(())); + + // Local is mainnet Petersburg. remote announces Byzantium but is not aware of further forks. + // Remote needs software update. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: 0 }), Err(RejectReason::RemoteStale)); + + // Local is mainnet Petersburg, and isn't aware of more forks. Remote announces Petersburg + + // 0xffffffff. Local needs software update, reject. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0x5cddc0e1), next: 0 }), Err(RejectReason::LocalIncompatibleOrStale)); + + // Local is mainnet Byzantium, and is aware of Petersburg. Remote announces Petersburg + + // 0xffffffff. Local needs software update, reject. + assert_eq!(byzantium_filter.is_valid(ForkId { hash: ForkHash(0x5cddc0e1), next: 0 }), Err(RejectReason::LocalIncompatibleOrStale)); + + // Local is mainnet Petersburg, remote is Rinkeby Petersburg. + assert_eq!(petersburg_filter.is_valid(ForkId { hash: ForkHash(0xafec6b27), next: 0 }), Err(RejectReason::LocalIncompatibleOrStale)); + + // Local is mainnet Petersburg, far in the future. Remote announces Gopherium (non existing fork) + // at some future block 88888888, for itself, but past block for local. Local is incompatible. + // + // This case detects non-upgraded nodes with majority hash power (typical Ropsten mess). + let mut far_away_petersburg = petersburg_filter.clone(); + far_away_petersburg.head = 88888888; + assert_eq!(far_away_petersburg.is_valid(ForkId { hash: ForkHash(0x668db0af), next: 88888888 }), Err(RejectReason::LocalIncompatibleOrStale)); + + // Local is mainnet Byzantium. Remote is also in Byzantium, but announces Gopherium (non existing + // fork) at block 7279999, before Petersburg. Local is incompatible. + assert_eq!(byzantium_filter.is_valid(ForkId { hash: ForkHash(0xa00bc324), next: 7279999 }), Err(RejectReason::LocalIncompatibleOrStale)); + } + + #[test] + fn test_forkid_serialization() { + assert_eq!(rlp::encode(&ForkId { hash: ForkHash(0), next: 0 }), hex!("c6840000000080")); + assert_eq!(rlp::encode(&ForkId { hash: ForkHash(0xdeadbeef), next: 0xBADDCAFE }), hex!("ca84deadbeef84baddcafe")); + assert_eq!(rlp::encode(&ForkId { hash: ForkHash(u32::max_value()), next: u64::max_value() }), hex!("ce84ffffffff88ffffffffffffffff")); + + assert_eq!(rlp::decode::(&hex!("c6840000000080")).unwrap(), ForkId { hash: ForkHash(0), next: 0 }); + assert_eq!(rlp::decode::(&hex!("ca84deadbeef84baddcafe")).unwrap(), ForkId { hash: ForkHash(0xdeadbeef), next: 0xBADDCAFE }); + assert_eq!(rlp::decode::(&hex!("ce84ffffffff88ffffffffffffffff")).unwrap(), ForkId { hash: ForkHash(u32::max_value()), next: u64::max_value() }); + } +} From 77f755bbe1b760a2e4db7a0e206889fa57ebfdf9 Mon Sep 17 00:00:00 2001 From: s3krit Date: Thu, 6 Feb 2020 18:13:58 +0100 Subject: [PATCH 2/5] update Dockerfile (#11461) --- scripts/docker/hub/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/docker/hub/Dockerfile b/scripts/docker/hub/Dockerfile index 6753649467e..5c47464b1b5 100644 --- a/scripts/docker/hub/Dockerfile +++ b/scripts/docker/hub/Dockerfile @@ -21,10 +21,11 @@ ENV RUST_BACKTRACE 1 RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - file curl jq; \ + file curl jq ca-certificates; \ # apt cleanup apt-get autoremove -y; \ apt-get clean; \ + update-ca-certificates; \ rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*; \ # add user groupadd -g 1000 parity; \ From 218299969d9a567a3407745fd415f07a536a89f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marius=20Kj=C3=A6rstad?= Date: Fri, 7 Feb 2020 11:37:30 +0100 Subject: [PATCH 3/5] Update simple one-line installer due to switching to a single stable release track (#11463) --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index be31c49243e..75e20251279 100644 --- a/README.md +++ b/README.md @@ -122,12 +122,6 @@ $ git checkout beta bash <(curl https://get.parity.io -L) ``` -The one-line installer always defaults to the latest beta release. To install a stable release, run: - -```bash -bash <(curl https://get.parity.io -L) -r stable -``` - ### 3.4 Starting Parity Ethereum #### Manually From cb7df2053d70d974d957f44eae84569fd8d9fffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marius=20Kj=C3=A6rstad?= Date: Fri, 7 Feb 2020 12:37:05 +0100 Subject: [PATCH 4/5] Some more release track changes to README.md (#11465) Some more release track changes to README.md --- README.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 75e20251279..4d1f3beb98a 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ By default, Parity Ethereum runs a JSON-RPC HTTP server on port `:8545` and a We If you run into problems while using Parity Ethereum, check out the [wiki for documentation](https://wiki.parity.io/), feel free to [file an issue in this repository](https://github.com/paritytech/parity-ethereum/issues/new), or hop on our [Gitter](https://gitter.im/paritytech/parity) or [Riot](https://riot.im/app/#/group/+parity:matrix.parity.io) chat room to ask a question. We are glad to help! **For security-critical issues**, please refer to the security policy outlined in [SECURITY.md](SECURITY.md). -Parity Ethereum's current beta-release is 2.6. You can download it at [the releases page](https://github.com/paritytech/parity-ethereum/releases) or follow the instructions below to build from source. Please, mind the [CHANGELOG.md](CHANGELOG.md) for a list of all changes between different versions. +You can download Parity Ethereum's latest release at [the releases page](https://github.com/paritytech/parity-ethereum/releases) or follow the instructions below to build from source. Please, mind the [CHANGELOG.md](CHANGELOG.md) for a list of all changes between different versions. ## 3. Building @@ -104,18 +104,12 @@ Note, when compiling a crate and you receive errors, it's in most cases your out $ cargo clean ``` -This always compiles the latest nightly builds. If you want to build stable or beta, do a +This always compiles the latest nightly builds. If you want to build stable, do a ```bash $ git checkout stable ``` -or - -```bash -$ git checkout beta -``` - ### 3.3 Simple One-Line Installer for Mac and Linux ```bash From 654632264b81e0dbeffdbafbc96cfa4273f43a87 Mon Sep 17 00:00:00 2001 From: Andronik Ordian Date: Fri, 7 Feb 2020 17:23:45 +0100 Subject: [PATCH 5/5] upgrade some of the dependencies (#11467) * bump parity-util-mem and related deps * upgrade some of the dependencies * deduplicate static_assertions --- Cargo.lock | 523 +++++++------------ Cargo.toml | 10 +- accounts/Cargo.toml | 2 +- accounts/ethkey/Cargo.toml | 2 +- accounts/ethkey/cli/Cargo.toml | 2 +- accounts/ethstore/Cargo.toml | 7 +- accounts/ethstore/cli/Cargo.toml | 2 +- accounts/ethstore/src/accounts_dir/memory.rs | 3 +- accounts/ethstore/src/lib.rs | 2 - cli-signer/rpc-client/Cargo.toml | 2 +- ethash/Cargo.toml | 4 +- ethash/src/shared.rs | 2 +- ethcore/Cargo.toml | 18 +- ethcore/account-db/Cargo.toml | 2 +- ethcore/account-state/Cargo.toml | 10 +- ethcore/blockchain/Cargo.toml | 10 +- ethcore/client-traits/Cargo.toml | 2 +- ethcore/db/Cargo.toml | 6 +- ethcore/engines/authority-round/Cargo.toml | 4 +- ethcore/engines/basic-authority/Cargo.toml | 2 +- ethcore/engines/clique/Cargo.toml | 2 +- ethcore/engines/validator-set/Cargo.toml | 6 +- ethcore/engines/validator-set/src/lib.rs | 2 - ethcore/evm/Cargo.toml | 4 +- ethcore/executive-state/Cargo.toml | 4 +- ethcore/light/Cargo.toml | 14 +- ethcore/machine/Cargo.toml | 2 +- ethcore/node-filter/Cargo.toml | 4 +- ethcore/pod/Cargo.toml | 8 +- ethcore/private-tx/Cargo.toml | 8 +- ethcore/service/Cargo.toml | 4 +- ethcore/snapshot/Cargo.toml | 10 +- ethcore/snapshot/snapshot-tests/Cargo.toml | 8 +- ethcore/spec/Cargo.toml | 2 +- ethcore/src/client/client.rs | 3 +- ethcore/state-db/Cargo.toml | 4 +- ethcore/sync/Cargo.toml | 6 +- ethcore/trace/Cargo.toml | 6 +- ethcore/trace/src/lib.rs | 2 - ethcore/trie-vm-factories/Cargo.toml | 2 +- ethcore/types/Cargo.toml | 4 +- ethcore/verification/Cargo.toml | 4 +- ethcore/verification/src/lib.rs | 3 - ethcore/wasm/run/Cargo.toml | 2 +- miner/Cargo.toml | 4 +- miner/local-store/Cargo.toml | 4 +- miner/stratum/Cargo.toml | 2 +- parity/logger/Cargo.toml | 2 +- rpc/Cargo.toml | 4 +- secret-store/Cargo.toml | 8 +- updater/Cargo.toml | 2 +- updater/hash-fetch/Cargo.toml | 4 +- updater/hash-fetch/src/urlhint.rs | 2 +- util/EIP-152/Cargo.toml | 2 +- util/EIP-712/Cargo.toml | 4 +- util/blooms-db/Cargo.toml | 2 +- util/io/Cargo.toml | 2 +- util/journaldb/Cargo.toml | 10 +- util/journaldb/src/archivedb.rs | 2 +- util/journaldb/src/earlymergedb.rs | 2 +- util/journaldb/src/overlayrecentdb.rs | 2 +- util/journaldb/src/refcounteddb.rs | 2 +- util/len-caching-lock/Cargo.toml | 2 +- util/memory-cache/Cargo.toml | 2 +- util/migration-rocksdb/Cargo.toml | 4 +- util/network-devp2p/Cargo.toml | 4 +- util/patricia-trie-ethereum/Cargo.toml | 4 +- util/version/Cargo.toml | 2 +- 68 files changed, 314 insertions(+), 493 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4eaae311d57..4d092db66e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -29,8 +29,8 @@ dependencies = [ "lru-cache", "memory-db", "parity-bytes", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "patricia-trie-ethereum", "pod", "rlp", @@ -206,7 +206,7 @@ dependencies = [ "ethcore-io", "ethereum-types", "ethjson", - "itertools 0.5.10", + "itertools", "keccak-hash", "lazy_static", "log", @@ -215,7 +215,7 @@ dependencies = [ "macros", "parity-bytes", "parity-crypto", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rand 0.7.2", "rlp", "serde_json", @@ -295,7 +295,7 @@ dependencies = [ "log", "machine", "parity-crypto", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rlp", "spec", "tempdir", @@ -451,7 +451,7 @@ version = "0.1.0" dependencies = [ "criterion", "ethbloom", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "tempdir", ] @@ -464,7 +464,7 @@ dependencies = [ "crunchy 0.2.2", "lazy_static", "rand 0.5.5", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", ] [[package]] @@ -669,7 +669,7 @@ dependencies = [ "machine", "macros", "parity-crypto", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rand 0.7.2", "rlp", "spec", @@ -709,11 +709,11 @@ dependencies = [ "parity-bytes", "parity-crypto", "parity-snappy", - "parity-util-mem 0.3.0", + "parity-util-mem", "patricia-trie-ethereum", "rlp", "rlp_derive", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", "unexpected", "vm", ] @@ -774,7 +774,7 @@ dependencies = [ "clap", "criterion-plot", "csv", - "itertools 0.8.0", + "itertools", "lazy_static", "num-traits 0.2.6", "rand_core 0.5.1", @@ -795,7 +795,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2" dependencies = [ "cast", - "itertools 0.8.0", + "itertools", ] [[package]] @@ -1000,7 +1000,7 @@ version = "0.1.0" dependencies = [ "arrayref", "criterion", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", ] [[package]] @@ -1023,12 +1023,12 @@ dependencies = [ "ethereum-types", "failure", "indexmap", - "itertools 0.7.8", + "itertools", "keccak-hash", "lazy_static", "lunarity-lexer", "regex", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", "serde", "serde_derive", "serde_json", @@ -1118,7 +1118,7 @@ checksum = "965126c64662832991f5a748893577630b558e47fa94e7f35aefcd20d737cef7" dependencies = [ "error-chain", "ethereum-types", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", "serde", "serde_derive", "serde_json", @@ -1155,11 +1155,11 @@ dependencies = [ "keccak-hash", "log", "memmap", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "primal", "rustc-hex 1.0.0", "serde_json", - "static_assertions 0.3.3", + "static_assertions", "tempdir", ] @@ -1227,7 +1227,7 @@ dependencies = [ "fetch", "futures", "hash-db", - "itertools 0.5.10", + "itertools", "journaldb", "keccak-hash", "kvdb", @@ -1241,15 +1241,15 @@ dependencies = [ "parity-bytes", "parity-crypto", "parity-runtime", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "patricia-trie-ethereum", "pod", "rand 0.7.2", - "rand_xorshift 0.2.0", + "rand_xorshift", "rayon", "registrar", "rlp", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", "scopeguard 1.0.0", "serde", "serde_derive", @@ -1280,7 +1280,7 @@ dependencies = [ "ethstore", "log", "parity-crypto", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "serde", "serde_derive", "serde_json", @@ -1297,15 +1297,15 @@ dependencies = [ "env_logger 0.5.13", "ethcore-db", "ethereum-types", - "itertools 0.5.10", + "itertools", "keccak-hash", "kvdb", "kvdb-memorydb", "log", "parity-bytes", "parity-crypto", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rand 0.7.2", "rayon", "rlp", @@ -1320,7 +1320,7 @@ dependencies = [ name = "ethcore-bloom-journal" version = "0.1.0" dependencies = [ - "siphasher 0.3.0", + "siphasher", ] [[package]] @@ -1358,8 +1358,8 @@ dependencies = [ "common-types", "ethereum-types", "kvdb", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rlp", "rlp_derive", ] @@ -1374,7 +1374,7 @@ dependencies = [ "log", "mio", "num_cpus", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "slab 0.4.1", "time", "timer", @@ -1412,15 +1412,15 @@ dependencies = [ "memory-cache", "memory-db", "parity-bytes", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "patricia-trie-ethereum", "rand 0.7.2", "rlp", "rlp_derive", "serde", "serde_derive", - "smallvec 0.6.10", + "smallvec 1.2.0", "spec", "stats", "tempdir", @@ -1440,7 +1440,7 @@ dependencies = [ "env_logger 0.5.13", "lazy_static", "log", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "regex", "time", ] @@ -1466,8 +1466,8 @@ dependencies = [ "log", "parity-crypto", "parity-runtime", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "price-info", "registrar", "rlp", @@ -1522,7 +1522,7 @@ dependencies = [ "parity-crypto", "parity-path", "parity-snappy", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rand 0.7.2", "rlp", "rustc-hex 1.0.0", @@ -1563,8 +1563,8 @@ dependencies = [ "machine", "parity-bytes", "parity-crypto", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "patricia-trie-ethereum", "registrar", "rlp", @@ -1606,7 +1606,7 @@ dependencies = [ "parity-bytes", "parity-crypto", "parity-runtime", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "percent-encoding 2.1.0", "rustc-hex 1.0.0", "serde", @@ -1653,7 +1653,7 @@ dependencies = [ "jsonrpc-tcp-server", "keccak-hash", "log", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "tokio", "tokio-io", ] @@ -1685,10 +1685,10 @@ dependencies = [ "parity-bytes", "parity-crypto", "parity-runtime", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rand 0.7.2", - "rand_xorshift 0.2.0", + "rand_xorshift", "rlp", "rustc-hex 1.0.0", "snapshot", @@ -1757,19 +1757,18 @@ dependencies = [ "dir", "ethereum-types", "ethkey", - "itertools 0.5.10", "libc", "log", "matches", "parity-crypto", "parity-wordlist", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rand 0.7.2", "rustc-hex 1.0.0", "serde", "serde_derive", "serde_json", - "smallvec 0.6.10", + "smallvec 1.2.0", "tempdir", "time", "tiny-keccak", @@ -1787,7 +1786,7 @@ dependencies = [ "num_cpus", "panic_hook", "parity-crypto", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rustc-hex 1.0.0", "serde", "serde_derive", @@ -1807,8 +1806,8 @@ dependencies = [ "log", "memory-cache", "parity-bytes", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rustc-hex 1.0.0", "vm", ] @@ -1955,8 +1954,8 @@ dependencies = [ "byteorder", "libc", "rand 0.7.2", - "rustc-hex 2.0.1", - "static_assertions 1.1.0", + "rustc-hex 2.1.0", + "static_assertions", ] [[package]] @@ -2290,14 +2289,11 @@ checksum = "4bac95d9aa0624e7b78187d6fb8ab012b41d9f6f54b1bcb61e61c4845f8357ec" [[package]] name = "igd" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96f0f346ff76d5143011b2de50fbe72c3e521304868dfbd0d781b4f262a75dd5" +checksum = "f68b15bea893dd8bd1449d482a0df346a25f5bd446a478a4b8b43c86495c333e" dependencies = [ "attohttpc", - "bytes", - "http", - "log", "rand 0.4.6", "url 1.7.1", "xmltree", @@ -2397,27 +2393,9 @@ checksum = "70783119ac90828aaba91eae39db32c6c1b8838deea3637e5238efa0130801ab" [[package]] name = "itertools" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4833d6978da405305126af4ac88569b5d71ff758581ce5a987dbfa3755f694fc" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58856976b776fedd95533137617a02fb25719f40e7d9b01c7043cd65474f450" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" +checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" dependencies = [ "either", ] @@ -2475,8 +2453,8 @@ dependencies = [ "log", "memory-db", "parity-bytes", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rlp", ] @@ -2516,42 +2494,42 @@ dependencies = [ [[package]] name = "jsonrpc-http-server" -version = "14.0.5" +version = "14.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d83d348120edee487c560b7cdd2565055d61cda053aa0d0ef0f8b6a18429048" +checksum = "816d63997ea45d3634608edbef83ddb35e661f7c0b27b5b72f237e321f0e9807" dependencies = [ "hyper", "jsonrpc-core", "jsonrpc-server-utils", "log", "net2", - "parking_lot 0.9.0", - "unicase 2.2.0", + "parking_lot 0.10.0", + "unicase", ] [[package]] name = "jsonrpc-ipc-server" -version = "14.0.6" +version = "14.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2f793f6eddff0c96a96f3e144efc74930fd1343c1cc0f6302796b2d33bc35f" +checksum = "e3cc22b91e6e92e7925110c080bfa0dfdc731b156ccb2a3ce0561e902a33a9cf" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", "log", "parity-tokio-ipc", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "tokio-service", ] [[package]] name = "jsonrpc-pubsub" -version = "14.0.5" +version = "14.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3453625f0f0f5cd6d6776d389d73b7d70fcc98620b7cbb1cbbb1f6a36e95f39a" +checksum = "5b31c9b90731276fdd24d896f31bb10aecf2e5151733364ae81123186643d939" dependencies = [ "jsonrpc-core", "log", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "serde", ] @@ -2568,32 +2546,32 @@ dependencies = [ "log", "tokio", "tokio-codec", - "unicase 2.2.0", + "unicase", ] [[package]] name = "jsonrpc-tcp-server" -version = "14.0.3" +version = "14.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7807563cd721401285b59b54358f5b2325b4de6ff6f1de5494a5879e890fc1" +checksum = "a03d03b8eccd463b8f1c675d5e5febff5055291b82235c8ec0af973e6d7b84fc" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", "log", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "tokio-service", ] [[package]] name = "jsonrpc-ws-server" -version = "14.0.5" +version = "14.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34faa167c3ac9705aeecb986c0da6056529f348425dbe0441db60a2c4cc41d1" +checksum = "b94e5773b2ae66e0e02c80775ce6bbba6f15d5bb47c14ec36a36fcf94f8df851" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", "log", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "slab 0.4.1", "ws", ] @@ -2641,31 +2619,31 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8396be0e5561ccd1bf7ff0b2007487cdd7a87a056873fe6ea906b35d4dbf7ed8" +checksum = "03080afe6f42cd996da9f568d6add5d7fb5ee2ea7fb7802d2d2cbd836958fd87" dependencies = [ "parity-bytes", - "parity-util-mem 0.4.1", - "smallvec 1.0.0", + "parity-util-mem", + "smallvec 1.2.0", ] [[package]] name = "kvdb-memorydb" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d25ef14155e418515c4839e9144c839de3506e68946f255a32b7f166095493d" +checksum = "b9355274e5a9e0a7e8ef43916950eae3949024de2a8dffe4d5a6c13974a37c8e" dependencies = [ "kvdb", - "parity-util-mem 0.4.1", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", ] [[package]] name = "kvdb-rocksdb" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a1053e90a54421a842b6bf5d0e4a5cb5364c0bf570f713c58e44a9906f501d9" +checksum = "af36fd66ccd99f3f771ae39b75aaba28b952372b6debfb971134bf1f03466ab2" dependencies = [ "fs-swap", "interleaved-ordered", @@ -2673,11 +2651,11 @@ dependencies = [ "log", "num_cpus", "owning_ref 0.4.0", - "parity-util-mem 0.4.1", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "regex", "rocksdb", - "smallvec 1.0.0", + "smallvec 1.2.0", ] [[package]] @@ -2696,7 +2674,7 @@ checksum = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0" name = "len-caching-lock" version = "0.1.1" dependencies = [ - "parking_lot 0.9.0", + "parking_lot 0.10.0", ] [[package]] @@ -2784,6 +2762,15 @@ dependencies = [ "utf8-ranges", ] +[[package]] +name = "lru" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237" +dependencies = [ + "hashbrown", +] + [[package]] name = "lru-cache" version = "0.1.2" @@ -2827,7 +2814,7 @@ dependencies = [ "macros", "parity-bytes", "parity-crypto", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rlp", "rustc-hex 1.0.0", "spec", @@ -2842,17 +2829,6 @@ dependencies = [ name = "macros" version = "0.1.0" -[[package]] -name = "malloc_size_of_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37c5d4cd9473c5f4c9c111f033f15d4df9bd378fdf615944e360a4f55a05f0b" -dependencies = [ - "proc-macro2 1.0.8", - "syn 1.0.14", - "synstructure 0.12.3", -] - [[package]] name = "maplit" version = "1.0.2" @@ -2898,19 +2874,19 @@ name = "memory-cache" version = "0.1.0" dependencies = [ "lru-cache", - "parity-util-mem 0.3.0", + "parity-util-mem", ] [[package]] name = "memory-db" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "828bdf600636e90c56652689f7c3823ae2072104e4b0b5e83ea984f592f12ab9" +checksum = "198831fe8722331a395bc199a5d08efbc197497ef354cb4c77b969c02ffc0fc4" dependencies = [ "ahash", "hash-db", "hashbrown", - "parity-util-mem 0.3.0", + "parity-util-mem", ] [[package]] @@ -2936,19 +2912,17 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a907b83e7b9e987032439a387e187119cddafc92d5c2aaeb1d92580a793f630" dependencies = [ - "unicase 2.2.0", + "unicase", ] [[package]] name = "mime_guess" -version = "2.0.0-alpha.6" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed" +checksum = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599" dependencies = [ "mime", - "phf", - "phf_codegen", - "unicase 1.4.2", + "unicase", ] [[package]] @@ -3089,7 +3063,7 @@ dependencies = [ "kvdb-memorydb", "log", "lru-cache", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "spec", "tempdir", ] @@ -3107,7 +3081,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" dependencies = [ "memchr", - "version_check", + "version_check 0.1.5", ] [[package]] @@ -3280,7 +3254,7 @@ dependencies = [ "pbkdf2", "rand 0.7.2", "ripemd160", - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", "scrypt", "sha2 0.8.0", "subtle 2.1.0", @@ -3359,9 +3333,9 @@ dependencies = [ "parity-rpc", "parity-runtime", "parity-updater", - "parity-util-mem 0.3.0", + "parity-util-mem", "parity-version", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "pretty_assertions", "regex", "registrar", @@ -3378,7 +3352,7 @@ dependencies = [ "tempdir", "term_size", "textwrap 0.9.0", - "toml 0.4.10", + "toml", "verification", "winapi 0.3.8", ] @@ -3402,7 +3376,7 @@ dependencies = [ "mime_guess", "parity-bytes", "parity-runtime", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rand 0.7.2", "registrar", "rustc-hex 1.0.0", @@ -3422,7 +3396,7 @@ dependencies = [ "multihash", "parity-bytes", "rlp", - "unicase 2.2.0", + "unicase", ] [[package]] @@ -3477,7 +3451,7 @@ dependencies = [ "fastmap", "fetch", "futures", - "itertools 0.5.10", + "itertools", "jsonrpc-core", "jsonrpc-derive", "jsonrpc-http-server", @@ -3495,10 +3469,10 @@ dependencies = [ "parity-runtime", "parity-updater", "parity-version", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "pretty_assertions", "rand 0.7.2", - "rand_xorshift 0.2.0", + "rand_xorshift", "rlp", "rustc-hex 1.0.0", "semver", @@ -3530,7 +3504,7 @@ dependencies = [ "log", "matches", "parity-rpc", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "serde", "serde_json", "url 2.1.0", @@ -3627,7 +3601,7 @@ dependencies = [ "parity-hash-fetch", "parity-path", "parity-version", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "rand 0.7.2", "semver", "target_info", @@ -3636,30 +3610,20 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.3.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8174d85e62c4d615fddd1ef67966bdc5757528891d0742f15b131ad04667b3f9" +checksum = "ef1476e40bf8f5c6776e9600983435821ca86eb9819d74a6207cca69d091406a" dependencies = [ "cfg-if", "ethereum-types", - "jemallocator", - "malloc_size_of_derive", - "parking_lot 0.9.0", - "smallvec 1.0.0", - "winapi 0.3.8", -] - -[[package]] -name = "parity-util-mem" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900dd84654b048e5bad420bb341658fc2c4d7fea628c22bcf4621733e54859b4" -dependencies = [ - "cfg-if", + "hashbrown", "impl-trait-for-tuples", + "jemallocator", + "lru", "parity-util-mem-derive", - "parking_lot 0.9.0", - "smallvec 1.0.0", + "parking_lot 0.10.0", + "primitive-types", + "smallvec 1.2.0", "winapi 0.3.8", ] @@ -3682,7 +3646,7 @@ dependencies = [ "rlp", "rustc_version", "target_info", - "toml 0.4.10", + "toml", "vergen", ] @@ -3697,12 +3661,12 @@ dependencies = [ [[package]] name = "parity-wordlist" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573d08f0d3bc8a6ffcdac1de2725b5daeed8db26345a9c12d91648e2d6457f3e" +checksum = "f45ab1896c154f80a23f22aa81134b881e18b8fb7ff106abe67ae53a161d54a0" dependencies = [ "lazy_static", - "rand 0.6.1", + "rand 0.7.2", ] [[package]] @@ -3717,13 +3681,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +checksum = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc" dependencies = [ "lock_api 0.3.1", - "parking_lot_core 0.6.2", - "rustc_version", + "parking_lot_core 0.7.0", ] [[package]] @@ -3741,9 +3704,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +checksum = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1" dependencies = [ "backtrace", "cfg-if", @@ -3751,8 +3714,7 @@ dependencies = [ "libc", "petgraph", "redox_syscall", - "rustc_version", - "smallvec 0.6.10", + "smallvec 1.2.0", "thread-id", "winapi 0.3.8", ] @@ -3817,45 +3779,6 @@ dependencies = [ "ordermap", ] -[[package]] -name = "phf" -version = "0.7.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_codegen" -version = "0.7.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.7.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b" -dependencies = [ - "phf_shared", - "rand 0.5.5", -] - -[[package]] -name = "phf_shared" -version = "0.7.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93" -dependencies = [ - "siphasher 0.2.3", - "unicase 1.4.2", -] - [[package]] name = "plain_hasher" version = "0.2.0" @@ -3873,7 +3796,7 @@ dependencies = [ "ethereum-types", "ethjson", "hash-db", - "itertools 0.8.0", + "itertools", "keccak-hash", "keccak-hasher 0.1.1", "kvdb", @@ -3981,7 +3904,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" dependencies = [ - "toml 0.5.1", + "toml", ] [[package]] @@ -4090,25 +4013,6 @@ dependencies = [ "winapi 0.3.8", ] -[[package]] -name = "rand" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9d223d52ae411a33cf7e54ec6034ec165df296ccd23533d671a28252b6f66a" -dependencies = [ - "cloudabi", - "fuchsia-zircon", - "libc", - "rand_chacha 0.1.0", - "rand_core 0.3.1", - "rand_hc 0.1.0", - "rand_isaac", - "rand_pcg", - "rand_xorshift 0.1.1", - "rustc_version", - "winapi 0.3.8", -] - [[package]] name = "rand" version = "0.7.2" @@ -4117,19 +4021,9 @@ checksum = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" dependencies = [ "getrandom", "libc", - "rand_chacha 0.2.1", + "rand_chacha", "rand_core 0.5.1", - "rand_hc 0.2.0", -] - -[[package]] -name = "rand_chacha" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771b009e3a508cb67e8823dda454aaa5368c7bc1c16829fb77d3e980440dd34a" -dependencies = [ - "rand_core 0.3.1", - "rustc_version", + "rand_hc", ] [[package]] @@ -4175,15 +4069,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -dependencies = [ - "rand_core 0.3.1", -] - [[package]] name = "rand_hc" version = "0.2.0" @@ -4193,15 +4078,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -dependencies = [ - "rand_core 0.3.1", -] - [[package]] name = "rand_os" version = "0.2.2" @@ -4212,25 +4088,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_pcg" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05" -dependencies = [ - "rand_core 0.3.1", - "rustc_version", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -dependencies = [ - "rand_core 0.3.1", -] - [[package]] name = "rand_xorshift" version = "0.2.0" @@ -4377,7 +4234,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a44d5ae8afcb238af8b75640907edc6c931efcfab2c854e81ed35fa080f84cd" dependencies = [ - "rustc-hex 2.0.1", + "rustc-hex 2.1.0", ] [[package]] @@ -4441,9 +4298,9 @@ checksum = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" [[package]] name = "rustc-hex" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bb3a286107a04825a5f82e1270acc1e14028d3d554d7a1e08914549575ab8" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustc-serialize" @@ -4677,12 +4534,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" -[[package]] -name = "siphasher" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" - [[package]] name = "siphasher" version = "0.3.0" @@ -4715,9 +4566,9 @@ checksum = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" [[package]] name = "smallvec" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86" +checksum = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc" [[package]] name = "snapshot" @@ -4743,7 +4594,7 @@ dependencies = [ "ethereum-types", "ethkey", "hash-db", - "itertools 0.5.10", + "itertools", "journaldb", "keccak-hash", "keccak-hasher 0.1.1", @@ -4754,10 +4605,10 @@ dependencies = [ "num_cpus", "parity-bytes", "parity-snappy", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "patricia-trie-ethereum", "rand 0.7.2", - "rand_xorshift 0.2.0", + "rand_xorshift", "rlp", "rlp_derive", "scopeguard 1.0.0", @@ -4800,10 +4651,10 @@ dependencies = [ "parity-bytes", "parity-crypto", "parity-snappy", - "parking_lot 0.9.0", + "parking_lot 0.10.0", "patricia-trie-ethereum", "rand 0.7.2", - "rand_xorshift 0.2.0", + "rand_xorshift", "rlp", "snapshot", "spec", @@ -4898,15 +4749,9 @@ dependencies = [ "log", "lru-cache", "memory-cache", - "parking_lot 0.9.0", + "parking_lot 0.10.0", ] -[[package]] -name = "static_assertions" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f8de36da215253eb5f24020bfaa0646613b48bf7ebe36cdfa37c3b3b33b241" - [[package]] name = "static_assertions" version = "1.1.0" @@ -5374,18 +5219,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.5.1" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8c96d7873fa7ef8bdeb3a9cda3ac48389b4154f32b9803b4bc26220b677b039" +checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a" dependencies = [ "serde", ] @@ -5411,8 +5247,8 @@ dependencies = [ "kvdb", "log", "parity-bytes", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rlp", "rlp_derive", "vm", @@ -5446,15 +5282,15 @@ checksum = "aeb4b191d033a35edfce392a38cdcf9790b6cebcb30fa690c312c29da4dc433e" [[package]] name = "trie-db" -version = "0.18.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5756812179defbff624e0ca766bedf6298cc7164037cc945584dc37833a4b3f9" +checksum = "de9222c50cc325855621271157c973da27a0dcd26fa06f8edf81020bd2333df0" dependencies = [ "hash-db", "hashbrown", "log", - "rand 0.6.1", - "smallvec 1.0.0", + "rustc-hex 2.1.0", + "smallvec 1.2.0", ] [[package]] @@ -5519,8 +5355,8 @@ checksum = "e75a4cdd7b87b28840dba13c483b9a88ee6bbf16ba5c951ee1ecfcf723078e0d" dependencies = [ "byteorder", "crunchy 0.2.2", - "rustc-hex 2.0.1", - "static_assertions 1.1.0", + "rustc-hex 2.1.0", + "static_assertions", ] [[package]] @@ -5529,20 +5365,11 @@ version = "0.1.0" [[package]] name = "unicase" -version = "1.4.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" dependencies = [ - "version_check", -] - -[[package]] -name = "unicase" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90" -dependencies = [ - "version_check", + "version_check 0.9.1", ] [[package]] @@ -5662,8 +5489,8 @@ dependencies = [ "memory-cache", "parity-bytes", "parity-crypto", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rlp", "rustc-hex 1.0.0", "spec", @@ -5726,8 +5553,8 @@ dependencies = [ "num_cpus", "parity-bytes", "parity-crypto", - "parity-util-mem 0.3.0", - "parking_lot 0.9.0", + "parity-util-mem", + "parking_lot 0.10.0", "rlp", "spec", "tempdir", @@ -5742,6 +5569,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" +[[package]] +name = "version_check" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" + [[package]] name = "vm" version = "0.1.0" @@ -5976,9 +5809,9 @@ dependencies = [ [[package]] name = "ws" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6f5bb86663ff4d1639408410f50bf6050367a8525d644d49a6894cd618a631" +checksum = "c51a2c47b5798ccc774ffb93ff536aec7c4275d722fd9c740c83cdd1af1f2d94" dependencies = [ "byteorder", "bytes", @@ -5986,7 +5819,7 @@ dependencies = [ "log", "mio", "mio-extras", - "rand 0.6.1", + "rand 0.7.2", "sha-1", "slab 0.4.1", "url 2.1.0", diff --git a/Cargo.toml b/Cargo.toml index dd9384aa419..5d21fd48438 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,8 +41,8 @@ futures = "0.1" journaldb = { path = "util/journaldb" } jsonrpc-core = "14.0.3" keccak-hash = "0.4.0" -kvdb = "0.3.1" -kvdb-rocksdb = "0.4.1" +kvdb = "0.4.0" +kvdb-rocksdb = "0.5.0" log = "0.4" migration-rocksdb = { path = "util/migration-rocksdb" } node-filter = { path = "ethcore/node-filter" } @@ -59,9 +59,9 @@ parity-path = "0.1" parity-rpc = { path = "rpc" } parity-runtime = { path = "util/runtime" } parity-updater = { path = "updater" } -parity-util-mem = { version = "0.3.0", features = ["jemalloc-global"] } +parity-util-mem = { version = "0.5.1", features = ["jemalloc-global"] } parity-version = { path = "util/version" } -parking_lot = "0.9" +parking_lot = "0.10.0" regex = "1.0" registrar = { path = "util/registrar" } rlp = "0.4.0" @@ -75,7 +75,7 @@ snapshot = { path = "ethcore/snapshot" } spec = { path = "ethcore/spec" } term_size = "0.3" textwrap = "0.9" -toml = "0.4" +toml = "0.5.6" verification = { path = "ethcore/verification" } [build-dependencies] diff --git a/accounts/Cargo.toml b/accounts/Cargo.toml index 7e63f9f584c..8535ff0ad02 100644 --- a/accounts/Cargo.toml +++ b/accounts/Cargo.toml @@ -12,7 +12,7 @@ ethkey = { path = "ethkey" } ethstore = { path = "ethstore" } log = "0.4" parity-crypto = { version = "0.4.2", features = ["publickey"] } -parking_lot = "0.9" +parking_lot = "0.10.0" serde = "1.0" serde_derive = "1.0" serde_json = "1.0" diff --git a/accounts/ethkey/Cargo.toml b/accounts/ethkey/Cargo.toml index 8118ad16372..b783adcf86d 100644 --- a/accounts/ethkey/Cargo.toml +++ b/accounts/ethkey/Cargo.toml @@ -10,4 +10,4 @@ log = "0.4" serde = "1.0" serde_derive = "1.0" parity-crypto = { version = "0.4.2", features = ["publickey"] } -parity-wordlist = "1.3" +parity-wordlist = "1.3.1" diff --git a/accounts/ethkey/cli/Cargo.toml b/accounts/ethkey/cli/Cargo.toml index f9e616ce9a5..a0ab0724fea 100644 --- a/accounts/ethkey/cli/Cargo.toml +++ b/accounts/ethkey/cli/Cargo.toml @@ -10,7 +10,7 @@ env_logger = "0.5" ethkey = { path = "../" } panic_hook = { path = "../../../util/panic-hook" } parity-crypto = { version = "0.4.2", features = ["publickey"] } -parity-wordlist="1.2" +parity-wordlist= "1.3.1" rustc-hex = "1.0" serde = "1.0" serde_derive = "1.0" diff --git a/accounts/ethstore/Cargo.toml b/accounts/ethstore/Cargo.toml index ac343b6efce..405455d7c82 100644 --- a/accounts/ethstore/Cargo.toml +++ b/accounts/ethstore/Cargo.toml @@ -15,13 +15,12 @@ serde_derive = "1.0" rustc-hex = "1.0" tiny-keccak = "1.4" time = "0.1.34" -itertools = "0.5" -parking_lot = "0.9" +parking_lot = "0.10.0" parity-crypto = { version = "0.4.2", features = ["publickey"] } ethereum-types = "0.8.0" dir = { path = "../../util/dir" } -smallvec = "0.6" -parity-wordlist = "1.0" +smallvec = "1.2.0" +parity-wordlist = "1.3.1" tempdir = "0.3" [dev-dependencies] diff --git a/accounts/ethstore/cli/Cargo.toml b/accounts/ethstore/cli/Cargo.toml index f6d12e67fee..c12d2ebe9dd 100644 --- a/accounts/ethstore/cli/Cargo.toml +++ b/accounts/ethstore/cli/Cargo.toml @@ -11,7 +11,7 @@ num_cpus = "1.6" rustc-hex = "1.0" serde = "1.0" serde_derive = "1.0" -parking_lot = "0.9" +parking_lot = "0.10.0" ethstore = { path = "../" } ethkey = { path = "../../ethkey" } parity-crypto = { version = "0.4.2", features = ["publickey"] } diff --git a/accounts/ethstore/src/accounts_dir/memory.rs b/accounts/ethstore/src/accounts_dir/memory.rs index 9242bd318b5..d6ffa4dba45 100644 --- a/accounts/ethstore/src/accounts_dir/memory.rs +++ b/accounts/ethstore/src/accounts_dir/memory.rs @@ -16,7 +16,6 @@ use std::collections::HashMap; use parking_lot::RwLock; -use itertools; use crypto::publickey::Address; use {SafeAccount, Error}; @@ -30,7 +29,7 @@ pub struct MemoryDirectory { impl KeyDirectory for MemoryDirectory { fn load(&self) -> Result, Error> { - Ok(itertools::Itertools::flatten(self.accounts.read().values().cloned()).collect()) + Ok(self.accounts.read().values().cloned().flatten().collect()) } fn update(&self, account: SafeAccount) -> Result { diff --git a/accounts/ethstore/src/lib.rs b/accounts/ethstore/src/lib.rs index 0016bd41fea..05f643d4283 100644 --- a/accounts/ethstore/src/lib.rs +++ b/accounts/ethstore/src/lib.rs @@ -19,7 +19,6 @@ #![warn(missing_docs)] extern crate dir; -extern crate itertools; extern crate libc; extern crate parking_lot; extern crate rand; @@ -97,4 +96,3 @@ impl<'a> From<&'a json::H160> for Address { From::from(a) } } - diff --git a/cli-signer/rpc-client/Cargo.toml b/cli-signer/rpc-client/Cargo.toml index c8c568fc199..de47e256798 100644 --- a/cli-signer/rpc-client/Cargo.toml +++ b/cli-signer/rpc-client/Cargo.toml @@ -14,7 +14,7 @@ serde = "1.0" serde_json = "1.0" url = "2.1.0" matches = "0.1" -parking_lot = "0.9" +parking_lot = "0.10.0" jsonrpc-core = "14.0.3" jsonrpc-ws-server = "14.0.3" parity-rpc = { path = "../../rpc" } diff --git a/ethash/Cargo.toml b/ethash/Cargo.toml index 71284c5bb5d..599777b9a42 100644 --- a/ethash/Cargo.toml +++ b/ethash/Cargo.toml @@ -11,9 +11,9 @@ ethereum-types = "0.8.0" keccak-hash = "0.4.0" log = "0.4" memmap = "0.6" -parking_lot = "0.9" +parking_lot = "0.10.0" primal = "0.2.3" -static_assertions = "0.3.3" +static_assertions = "1.1.0" [dev-dependencies] criterion = "0.3" diff --git a/ethash/src/shared.rs b/ethash/src/shared.rs index 70f6dd96ceb..dc9a893b270 100644 --- a/ethash/src/shared.rs +++ b/ethash/src/shared.rs @@ -69,7 +69,7 @@ pub type NodeBytes = [u8; NODE_BYTES]; pub type NodeWords = [u32; NODE_WORDS]; pub type NodeDwords = [u64; NODE_DWORDS]; -assert_eq_size!(node; Node, NodeBytes, NodeWords, NodeDwords); +assert_eq_size!(Node, NodeBytes, NodeWords, NodeDwords); #[repr(C)] pub union Node { diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index c4cc43f3777..048d0936484 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -28,21 +28,21 @@ evm = { path = "evm" } executive-state = { path = "executive-state" } futures = "0.1" hash-db = "0.15.0" -itertools = "0.5" +itertools = "0.8.2" journaldb = { path = "../util/journaldb" } keccak-hash = "0.4.0" -kvdb = "0.3.1" -kvdb-memorydb = { version = "0.3.1", optional = true } -kvdb-rocksdb = { version = "0.4.1", optional = true } +kvdb = "0.4.0" +kvdb-memorydb = { version = "0.4.0", optional = true } +kvdb-rocksdb = { version = "0.5.0", optional = true } lazy_static = { version = "1.3", optional = true } log = "0.4" macros = { path = "../util/macros", optional = true } machine = { path = "./machine" } memory-cache = { path = "../util/memory-cache" } parity-bytes = "0.1" -parking_lot = "0.9" +parking_lot = "0.10.0" pod = { path = "pod", optional = true } -trie-db = "0.18.0" +trie-db = "0.20.0" parity-crypto = { version = "0.4.2", features = ["publickey"], optional = true } patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" } rand = "0.7" @@ -50,7 +50,7 @@ rand_xorshift = "0.2" rayon = "1.1" registrar = { path = "../util/registrar" } rlp = "0.4.0" -rustc-hex = "2" +rustc-hex = "2.1.0" scopeguard = "1.0.0" serde = "1.0" serde_derive = "1.0" @@ -78,8 +78,8 @@ ethcore-builtin = { path = "./builtin" } ethjson = { path = "../json", features = ["test-helpers"] } parity-crypto = { version = "0.4.2", features = ["publickey"] } fetch = { path = "../util/fetch" } -kvdb-memorydb = "0.3.1" -kvdb-rocksdb = "0.4.1" +kvdb-memorydb = "0.4.0" +kvdb-rocksdb = "0.5.0" lazy_static = "1.3" machine = { path = "./machine", features = ["test-helpers"] } macros = { path = "../util/macros" } diff --git a/ethcore/account-db/Cargo.toml b/ethcore/account-db/Cargo.toml index a32d50e329e..a7a8b55eff4 100644 --- a/ethcore/account-db/Cargo.toml +++ b/ethcore/account-db/Cargo.toml @@ -11,5 +11,5 @@ ethereum-types = "0.8.0" hash-db = "0.15.0" keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" rlp = "0.4" diff --git a/ethcore/account-state/Cargo.toml b/ethcore/account-state/Cargo.toml index 264864e2951..90156afedd5 100644 --- a/ethcore/account-state/Cargo.toml +++ b/ethcore/account-state/Cargo.toml @@ -16,17 +16,17 @@ hash-db = "0.15.0" journaldb = { path = "../../util/journaldb" } keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" lru-cache = "0.1.2" -memory-db = "0.18.0" +memory-db = "0.19.0" parity-bytes = "0.1.0" -parity-util-mem = "0.3.0" -parking_lot = "0.9" +parity-util-mem = "0.5.1" +parking_lot = "0.10.0" pod = { path = "../pod" } rlp = "0.4.0" serde = { version = "1.0", features = ["derive"] } -trie-db = "0.18.0" +trie-db = "0.20.0" [dev-dependencies] account-db = { path = "../account-db" } diff --git a/ethcore/blockchain/Cargo.toml b/ethcore/blockchain/Cargo.toml index ad4dd274184..f8b57dfefc7 100644 --- a/ethcore/blockchain/Cargo.toml +++ b/ethcore/blockchain/Cargo.toml @@ -14,13 +14,13 @@ common-types = { path = "../types" } ethcore-db = { path = "../db" } ethereum-types = "0.8.0" keccak-hash = "0.4.0" -parity-util-mem = "0.3.0" -itertools = "0.5" -kvdb = "0.3.1" +parity-util-mem = "0.5.1" +itertools = "0.8.2" +kvdb = "0.4.0" log = "0.4" parity-bytes = "0.1" rand = "0.7" -parking_lot = "0.9" +parking_lot = "0.10.0" rayon = "1.0" rlp = "0.4.0" rlp_compress = { path = "../../util/rlp-compress" } @@ -32,4 +32,4 @@ env_logger = "0.5" parity-crypto = { version = "0.4.2", features = ["publickey"] } rustc-hex = "1.0" tempdir = "0.3" -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" diff --git a/ethcore/client-traits/Cargo.toml b/ethcore/client-traits/Cargo.toml index e8915393974..758442c9775 100644 --- a/ethcore/client-traits/Cargo.toml +++ b/ethcore/client-traits/Cargo.toml @@ -15,7 +15,7 @@ common-types = { path = "../types" } ethcore-db = { path = "../db" } ethcore-miner = { path = "../../miner" } ethereum-types = "0.8.0" -kvdb = "0.3.1" +kvdb = "0.4.0" registrar = { path = "../../util/registrar" } stats = { path = "../../util/stats" } trace = { path = "../trace" } diff --git a/ethcore/db/Cargo.toml b/ethcore/db/Cargo.toml index af1eb9e9b97..e1d04b4bc18 100644 --- a/ethcore/db/Cargo.toml +++ b/ethcore/db/Cargo.toml @@ -10,8 +10,8 @@ edition = "2018" [dependencies] common-types = { path = "../types" } ethereum-types = "0.8.0" -kvdb = "0.3.1" -parity-util-mem = "0.3.0" -parking_lot = "0.9" +kvdb = "0.4.0" +parity-util-mem = "0.5.1" +parking_lot = "0.10.0" rlp = "0.4.0" rlp_derive = { path = "../../util/rlp-derive" } diff --git a/ethcore/engines/authority-round/Cargo.toml b/ethcore/engines/authority-round/Cargo.toml index 11b46be2bdd..4d2292ed4fa 100644 --- a/ethcore/engines/authority-round/Cargo.toml +++ b/ethcore/engines/authority-round/Cargo.toml @@ -20,7 +20,7 @@ ethjson = { path = "../../../json" } parity-crypto = { version = "0.4.2", features = ["publickey"] } engine = { path = "../../engine" } io = { package = "ethcore-io", path = "../../../util/io" } -itertools = "0.5" +itertools = "0.8.2" keccak-hash = "0.4.0" lazy_static = "1.3.0" log = "0.4" @@ -28,7 +28,7 @@ lru-cache = "0.1" machine = { path = "../../machine" } macros = { path = "../../../util/macros" } parity-bytes = "0.1" -parking_lot = "0.9" +parking_lot = "0.10.0" rand = "0.7" rlp = "0.4.0" time-utils = { path = "../../../util/time-utils" } diff --git a/ethcore/engines/basic-authority/Cargo.toml b/ethcore/engines/basic-authority/Cargo.toml index 849014aec49..e6816d89a3b 100644 --- a/ethcore/engines/basic-authority/Cargo.toml +++ b/ethcore/engines/basic-authority/Cargo.toml @@ -15,7 +15,7 @@ ethjson = { path = "../../../json" } parity-crypto = { version = "0.4.2", features = ["publickey"] } log = "0.4.8" machine = { path = "../../machine" } -parking_lot = "0.9" +parking_lot = "0.10.0" rlp = "0.4.2" validator-set = { path = "../validator-set" } diff --git a/ethcore/engines/clique/Cargo.toml b/ethcore/engines/clique/Cargo.toml index 7a73f04c815..a75a1884035 100644 --- a/ethcore/engines/clique/Cargo.toml +++ b/ethcore/engines/clique/Cargo.toml @@ -20,7 +20,7 @@ lru-cache = "0.1" machine = { path = "../../machine" } macros = { path = "../../../util/macros" } rand = "0.7" -parking_lot = "0.9" +parking_lot = "0.10.0" rlp = "0.4.0" time-utils = { path = "../../../util/time-utils" } unexpected = { path = "../../../util/unexpected" } diff --git a/ethcore/engines/validator-set/Cargo.toml b/ethcore/engines/validator-set/Cargo.toml index bd63c380d35..30f2ae04d62 100644 --- a/ethcore/engines/validator-set/Cargo.toml +++ b/ethcore/engines/validator-set/Cargo.toml @@ -17,14 +17,14 @@ ethereum-types = "0.8.0" ethjson = { path = "../../../json" } executive-state = { path = "../../executive-state" } keccak-hash = "0.4.0" -kvdb = "0.3.1" +kvdb = "0.4.0" lazy_static = "1.3.0" log = "0.4.8" machine = { path = "../../machine" } memory-cache = { path = "../../../util/memory-cache" } parity-bytes = "0.1.0" -parity-util-mem = "0.3.0" -parking_lot = "0.9" +parity-util-mem = "0.5.1" +parking_lot = "0.10.0" rlp = "0.4.2" triehash = { package = "triehash-ethereum", version = "0.2", path = "../../../util/triehash-ethereum" } unexpected = { path = "../../../util/unexpected" } diff --git a/ethcore/engines/validator-set/src/lib.rs b/ethcore/engines/validator-set/src/lib.rs index ba45c78b4fb..aa6bbd7545d 100644 --- a/ethcore/engines/validator-set/src/lib.rs +++ b/ethcore/engines/validator-set/src/lib.rs @@ -37,8 +37,6 @@ use engine::SystemCall; use ethereum_types::{H256, Address}; use ethjson::spec::ValidatorSet as ValidatorSpec; use machine::Machine; -// The MallocSizeOf derive looks for this in the root -use parity_util_mem as malloc_size_of; use parity_bytes::Bytes; #[cfg(any(test, feature = "test-helpers"))] diff --git a/ethcore/evm/Cargo.toml b/ethcore/evm/Cargo.toml index 31aeadd0260..d43be54b433 100644 --- a/ethcore/evm/Cargo.toml +++ b/ethcore/evm/Cargo.toml @@ -8,12 +8,12 @@ authors = ["Parity Technologies "] bit-set = "0.4" parity-bytes = "0.1" ethereum-types = "0.8.0" -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" lazy_static = "1.0" log = "0.4" vm = { path = "../vm" } keccak-hash = "0.4.0" -parking_lot = "0.9" +parking_lot = "0.10.0" memory-cache = { path = "../../util/memory-cache" } [dev-dependencies] diff --git a/ethcore/executive-state/Cargo.toml b/ethcore/executive-state/Cargo.toml index 0236c0a4206..c8f5912b70d 100644 --- a/ethcore/executive-state/Cargo.toml +++ b/ethcore/executive-state/Cargo.toml @@ -14,7 +14,7 @@ common-types = { path = "../types" } ethereum-types = "0.8.0" hash-db = "0.15.0" keccak-hasher = { path = "../../util/keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4.8" machine = { path = "../machine" } trace = { path = "../trace" } @@ -30,5 +30,5 @@ keccak-hash = "0.4.0" pod = { path = "../pod" } rustc-hex = "1.0" spec = { path = "../spec" } -trie-db = "0.18.0" +trie-db = "0.20.0" ethtrie = { package = "patricia-trie-ethereum", path = "../../util/patricia-trie-ethereum" } diff --git a/ethcore/light/Cargo.toml b/ethcore/light/Cargo.toml index 9aa8f5d06d5..e4bf437f11b 100644 --- a/ethcore/light/Cargo.toml +++ b/ethcore/light/Cargo.toml @@ -18,39 +18,39 @@ ethcore-blockchain = { path = "../blockchain" } ethereum-types = "0.8.0" executive-state = { path = "../executive-state" } machine = { path = "../machine" } -memory-db = "0.18.0" -trie-db = "0.18.0" +memory-db = "0.19.0" +trie-db = "0.20.0" patricia-trie-ethereum = { path = "../../util/patricia-trie-ethereum" } ethcore-network = { path = "../../util/network" } ethcore-miner = { path = "../../miner" } ethcore-io = { path = "../../util/io" } hash-db = "0.15.0" -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" vm = { path = "../vm" } fastmap = { path = "../../util/fastmap" } failsafe = { version = "0.3.0", default-features = false, features = ["parking_lot_mutex"] } rlp = "0.4.0" rlp_derive = { path = "../../util/rlp-derive" } -smallvec = "0.6" +smallvec = "1.2.0" futures = "0.1" rand = "0.7" bincode = "1.1" serde = "1.0" serde_derive = "1.0" spec = { path = "../spec" } -parking_lot = "0.9" +parking_lot = "0.10.0" stats = { path = "../../util/stats" } keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } triehash-ethereum = { version = "0.2", path = "../../util/triehash-ethereum" } -kvdb = "0.3.1" +kvdb = "0.4.0" memory-cache = { path = "../../util/memory-cache" } journaldb = { path = "../../util/journaldb" } verification = { path = "../verification" } [dev-dependencies] ethcore = { path = "..", features = ["test-helpers"] } -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" tempdir = "0.3" [features] diff --git a/ethcore/machine/Cargo.toml b/ethcore/machine/Cargo.toml index f4db91a6f52..71244eb5fd3 100644 --- a/ethcore/machine/Cargo.toml +++ b/ethcore/machine/Cargo.toml @@ -30,7 +30,7 @@ keccak-hash = "0.4.0" log = "0.4" lru-cache = "0.1.2" parity-bytes = "0.1.0" -parking_lot = "0.9" +parking_lot = "0.10.0" rlp = "0.4.2" state-db = { path = "../state-db" } trace = { path = "../trace" } diff --git a/ethcore/node-filter/Cargo.toml b/ethcore/node-filter/Cargo.toml index cc8430c435a..c46b5e3996b 100644 --- a/ethcore/node-filter/Cargo.toml +++ b/ethcore/node-filter/Cargo.toml @@ -14,7 +14,7 @@ ethcore-network = { path = "../../util/network" } ethcore-network-devp2p = { path = "../../util/network-devp2p" } ethereum-types = "0.8.0" log = "0.4" -parking_lot = "0.9" +parking_lot = "0.10.0" ethabi = "9.0.1" ethabi-derive = "9.0.1" ethabi-contract = "9.0.0" @@ -22,7 +22,7 @@ lru-cache = "0.1" [dev-dependencies] ethcore = { path = "..", features = ["test-helpers"] } -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" ethcore-io = { path = "../../util/io" } spec = { path = "../spec" } tempdir = "0.3" diff --git a/ethcore/pod/Cargo.toml b/ethcore/pod/Cargo.toml index d3a25d17d27..1b1fefa3d10 100644 --- a/ethcore/pod/Cargo.toml +++ b/ethcore/pod/Cargo.toml @@ -12,16 +12,16 @@ ethereum-types = "0.8.0" ethjson = { path = "../../json" } ethtrie = { package = "patricia-trie-ethereum", path = "../../util/patricia-trie-ethereum" } hash-db = "0.15.0" -itertools = "0.8" +itertools = "0.8.2" keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" parity-bytes = "0.1.0" rlp = "0.4" -rustc-hex = "1" +rustc-hex = "1.0" serde = { version = "1.0", features = ["derive"] } -trie-db = "0.18.0" +trie-db = "0.20.0" triehash = { package = "triehash-ethereum", version = "0.2", path = "../../util/triehash-ethereum" } [dev-dependencies] diff --git a/ethcore/private-tx/Cargo.toml b/ethcore/private-tx/Cargo.toml index 9ffdd835a63..2c42a522d7c 100644 --- a/ethcore/private-tx/Cargo.toml +++ b/ethcore/private-tx/Cargo.toml @@ -22,18 +22,18 @@ ethereum-types = "0.8.0" ethjson = { path = "../../json" } fetch = { path = "../../util/fetch" } futures = "0.1" -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" hash-db = "0.15.0" keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" machine = { path = "../machine" } journaldb = { path = "../../util/journaldb" } parity-bytes = "0.1" parity-crypto = { version = "0.4.2", features = ["publickey"] } -parking_lot = "0.9" -trie-db = "0.18.0" +parking_lot = "0.10.0" +trie-db = "0.20.0" patricia-trie-ethereum = { path = "../../util/patricia-trie-ethereum" } registrar = { path = "../../util/registrar" } rlp = "0.4.0" diff --git a/ethcore/service/Cargo.toml b/ethcore/service/Cargo.toml index 13f2c6c0c9c..0dcedc972b9 100644 --- a/ethcore/service/Cargo.toml +++ b/ethcore/service/Cargo.toml @@ -14,7 +14,7 @@ ethcore-io = { path = "../../util/io" } ethcore-private-tx = { path = "../private-tx" } ethcore-sync = { path = "../sync" } ethereum-types = "0.8.0" -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" snapshot = { path = "../snapshot" } spec = { path = "../spec" } @@ -23,5 +23,5 @@ trace-time = "0.1" [dev-dependencies] ethcore = { path = "..", features = ["test-helpers"] } ethcore-db = { path = "../db" } -kvdb-rocksdb = "0.4.1" +kvdb-rocksdb = "0.5.0" tempdir = "0.3" diff --git a/ethcore/snapshot/Cargo.toml b/ethcore/snapshot/Cargo.toml index 5d03048e9eb..26852b11aea 100644 --- a/ethcore/snapshot/Cargo.toml +++ b/ethcore/snapshot/Cargo.toml @@ -25,22 +25,22 @@ ethcore-io = { path = "../../util/io" } ethereum-types = "0.8.0" ethtrie = { package = "patricia-trie-ethereum", path = "../../util/patricia-trie-ethereum" } hash-db = "0.15.0" -itertools = "0.5" +itertools = "0.8.2" journaldb = { path = "../../util/journaldb" } keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4.8" num_cpus = "1.10.1" rand = "0.7" rand_xorshift = "0.2" -parking_lot = "0.9" +parking_lot = "0.10.0" rlp = "0.4.2" rlp_derive = { path = "../../util/rlp-derive" } scopeguard = "1.0.0" snappy = { package = "parity-snappy", version ="0.1.0" } state-db = { path = "../state-db" } -trie-db = "0.18.0" +trie-db = "0.20.0" triehash = { package = "triehash-ethereum", version = "0.2", path = "../../util/triehash-ethereum" } [dev-dependencies] @@ -53,7 +53,7 @@ ethabi-contract = "9.0.0" ethabi-derive = "9.0.1" ethcore = { path = "..", features = ["test-helpers"] } ethkey = { path = "../../accounts/ethkey" } -kvdb-rocksdb = "0.4.1" +kvdb-rocksdb = "0.5.0" lazy_static = { version = "1.3" } spec = { path = "../spec" } tempdir = "0.3" diff --git a/ethcore/snapshot/snapshot-tests/Cargo.toml b/ethcore/snapshot/snapshot-tests/Cargo.toml index 1e3f2fb5be7..351c9780e75 100644 --- a/ethcore/snapshot/snapshot-tests/Cargo.toml +++ b/ethcore/snapshot/snapshot-tests/Cargo.toml @@ -23,10 +23,10 @@ hash-db = "0.15.0" journaldb = { path = "../../../util/journaldb" } keccak-hash = "0.4.0" keccak-hasher = { path = "../../../util/keccak-hasher" } -kvdb = "0.3.1" -kvdb-rocksdb = "0.4.1" +kvdb = "0.4.0" +kvdb-rocksdb = "0.5.0" log = "0.4.8" -parking_lot = "0.9" +parking_lot = "0.10.0" parity-crypto = { version = "0.4.2", features = ["publickey"] } rand = "0.7" rand_xorshift = "0.2" @@ -35,7 +35,7 @@ snappy = { package = "parity-snappy", version ="0.1.0" } snapshot = { path = "../../snapshot", features = ["test-helpers"] } spec = { path = "../../spec" } tempdir = "0.3" -trie-db = "0.18.0" +trie-db = "0.20.0" trie-standardmap = "0.15.0" ethabi = "9.0.1" ethabi-contract = "9.0.0" diff --git a/ethcore/spec/Cargo.toml b/ethcore/spec/Cargo.toml index 570a2df71f4..8fa2c73872a 100644 --- a/ethcore/spec/Cargo.toml +++ b/ethcore/spec/Cargo.toml @@ -25,7 +25,7 @@ hash-db = "0.15.0" instant-seal = { path = "../engines/instant-seal" } journaldb = { path = "../../util/journaldb" } keccak-hash = "0.4.0" -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" log = "0.4.8" machine = { path = "../machine" } null-engine = { path = "../engines/null-engine" } diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index 699f543eafb..9ceeff78e6e 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -29,7 +29,6 @@ use bytes::ToPretty; use ethereum_types::{Address, H256, H264, U256}; use hash::keccak; use hash_db::EMPTY_PREFIX; -use itertools::Itertools; use kvdb::{DBTransaction, DBValue, KeyValueDB}; use parking_lot::{Mutex, RwLock}; use rand::rngs::OsRng; @@ -2355,7 +2354,7 @@ impl PrepareOpenBlock for Client { .unwrap_or_else(Vec::new) .into_iter() .take(engine.maximum_uncle_count(open_block.header.number())) - .foreach(|h| { + .for_each(|h| { open_block.push_uncle(h.decode().expect("decoding failure")).expect("pushing maximum_uncle_count; open_block was just created; push_uncle is not ok only if more than maximum_uncle_count is pushed; diff --git a/ethcore/state-db/Cargo.toml b/ethcore/state-db/Cargo.toml index 1cd738e13c1..b8c7316ab6d 100644 --- a/ethcore/state-db/Cargo.toml +++ b/ethcore/state-db/Cargo.toml @@ -16,11 +16,11 @@ hash-db = "0.15.0" keccak-hash = "0.4.0" keccak-hasher = { path = "../../util/keccak-hasher" } journaldb = { path = "../../util/journaldb" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4.6" lru-cache = "0.1.2" memory-cache = { path = "../../util/memory-cache" } -parking_lot = "0.9" +parking_lot = "0.10.0" [dev-dependencies] env_logger = "0.5" diff --git a/ethcore/sync/Cargo.toml b/ethcore/sync/Cargo.toml index 14e1d758bf7..f530469125e 100644 --- a/ethcore/sync/Cargo.toml +++ b/ethcore/sync/Cargo.toml @@ -27,9 +27,9 @@ macros = { path = "../../util/macros" } network = { package = "ethcore-network", path = "../../util/network" } parity-runtime = { path = "../../util/runtime" } parity-crypto = { version = "0.4.2", features = ["publickey"] } -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" rand = "0.7" -parking_lot = "0.9" +parking_lot = "0.10.0" rlp = "0.4.0" snapshot = { path = "../snapshot" } trace-time = "0.1" @@ -40,7 +40,7 @@ env_logger = "0.5" engine = { path = "../engine" } ethcore = { path = "..", features = ["test-helpers"] } ethcore-io = { path = "../../util/io", features = ["mio"] } -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" machine = { path = "../machine" } rand_xorshift = "0.2" rustc-hex = "1.0" diff --git a/ethcore/trace/Cargo.toml b/ethcore/trace/Cargo.toml index ddfd2080116..66d0c7b1b90 100644 --- a/ethcore/trace/Cargo.toml +++ b/ethcore/trace/Cargo.toml @@ -11,11 +11,11 @@ ethcore-blockchain = { path = "../blockchain" } ethcore-db = { path = "../db" } ethereum-types = "0.8.0" evm = { path = "../evm" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" parity-bytes = "0.1.0" -parity-util-mem = "0.3.0" -parking_lot = "0.9" +parity-util-mem = "0.5.1" +parking_lot = "0.10.0" rlp = "0.4.0" rlp_derive = { path = "../../util/rlp-derive" } vm = { path = "../vm" } diff --git a/ethcore/trace/src/lib.rs b/ethcore/trace/src/lib.rs index 89dd297f43e..dfeab3561cf 100644 --- a/ethcore/trace/src/lib.rs +++ b/ethcore/trace/src/lib.rs @@ -19,8 +19,6 @@ use ethereum_types::{U256, Address}; use kvdb::DBTransaction; use vm::{Error as VmError, ActionParams}; -// The MallocSizeOf derive looks for this in the root -use parity_util_mem as malloc_size_of; mod config; mod db; diff --git a/ethcore/trie-vm-factories/Cargo.toml b/ethcore/trie-vm-factories/Cargo.toml index b8d337094f0..5538c4a57d9 100644 --- a/ethcore/trie-vm-factories/Cargo.toml +++ b/ethcore/trie-vm-factories/Cargo.toml @@ -6,7 +6,7 @@ authors = ["Parity Technologies "] edition = "2018" [dependencies] -trie-db = "0.18.0" +trie-db = "0.20.0" ethtrie = { package = "patricia-trie-ethereum", path = "../../util/patricia-trie-ethereum" } account-db = { path = "../account-db" } evm = { path = "../evm" } diff --git a/ethcore/types/Cargo.toml b/ethcore/types/Cargo.toml index 9f2ae77fb84..2011c81cfbf 100644 --- a/ethcore/types/Cargo.toml +++ b/ethcore/types/Cargo.toml @@ -13,7 +13,7 @@ ethjson = { path = "../../json" } keccak-hash = "0.4.0" parity-bytes = "0.1" parity-crypto = { version = "0.4.2", features = ["publickey"] } -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" parity-snappy = "0.1" patricia-trie-ethereum = { path = "../../util/patricia-trie-ethereum" } rlp = "0.4.0" @@ -22,7 +22,7 @@ unexpected = { path = "../../util/unexpected" } vm = { path = "../vm"} [dev-dependencies] -rustc-hex = "2.0" +rustc-hex = "2.1.0" [features] test-helpers = [] diff --git a/ethcore/verification/Cargo.toml b/ethcore/verification/Cargo.toml index 3943413ab0e..3be22a377a0 100644 --- a/ethcore/verification/Cargo.toml +++ b/ethcore/verification/Cargo.toml @@ -24,8 +24,8 @@ len-caching-lock = { path = "../../util/len-caching-lock" } log = "0.4" num_cpus = "1.2" parity-bytes = "0.1.0" -parity-util-mem = "0.3.0" -parking_lot = "0.9" +parity-util-mem = "0.5.1" +parking_lot = "0.10.0" rlp = "0.4.2" time-utils = { path = "../../util/time-utils" } triehash = { package = "triehash-ethereum", version = "0.2", path = "../../util/triehash-ethereum" } diff --git a/ethcore/verification/src/lib.rs b/ethcore/verification/src/lib.rs index eda5533265f..73a940f3458 100644 --- a/ethcore/verification/src/lib.rs +++ b/ethcore/verification/src/lib.rs @@ -16,9 +16,6 @@ //! Block verification utilities. -// The MallocSizeOf derive looks for this in the root -use parity_util_mem as malloc_size_of; - #[cfg(feature = "bench" )] pub mod verification; #[cfg(not(feature = "bench" ))] diff --git a/ethcore/wasm/run/Cargo.toml b/ethcore/wasm/run/Cargo.toml index 1cd5536744b..31a43746c3f 100644 --- a/ethcore/wasm/run/Cargo.toml +++ b/ethcore/wasm/run/Cargo.toml @@ -14,7 +14,7 @@ vm = { path = "../../vm" } wasm = { path = "../" } clap = "2.24" env_logger = "0.5" -rustc-hex = "1" +rustc-hex = "1.0" [features] default = ["ethereum-types/std"] diff --git a/miner/Cargo.toml b/miner/Cargo.toml index 43fc1e4d4a4..ea619412d34 100644 --- a/miner/Cargo.toml +++ b/miner/Cargo.toml @@ -22,12 +22,12 @@ ethabi-contract = "9.0.0" ethcore-call-contract = { path = "../ethcore/call-contract" } ethereum-types = "0.8.0" futures = "0.1" -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" keccak-hash = "0.4.0" linked-hash-map = "0.5" log = "0.4" parity-runtime = { path = "../util/runtime" } -parking_lot = "0.9" +parking_lot = "0.10.0" price-info = { path = "./price-info", optional = true } registrar = { path = "../util/registrar" } rlp = "0.4.0" diff --git a/miner/local-store/Cargo.toml b/miner/local-store/Cargo.toml index 10ce145175b..49680cee66d 100644 --- a/miner/local-store/Cargo.toml +++ b/miner/local-store/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" [dependencies] common-types = { path = "../../ethcore/types" } ethcore-io = { path = "../../util/io" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" rlp = "0.4.0" serde = "1.0" @@ -18,4 +18,4 @@ serde_json = "1.0" [dev-dependencies] ethkey = { path = "../../accounts/ethkey" } parity-crypto = { version = "0.4.2", features = ["publickey"] } -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" diff --git a/miner/stratum/Cargo.toml b/miner/stratum/Cargo.toml index 971dd440049..b1f3c690f8b 100644 --- a/miner/stratum/Cargo.toml +++ b/miner/stratum/Cargo.toml @@ -11,7 +11,7 @@ keccak-hash = "0.4.0" jsonrpc-core = "14.0.3" jsonrpc-tcp-server = "14.0.3" log = "0.4" -parking_lot = "0.9" +parking_lot = "0.10.0" [dev-dependencies] env_logger = "0.5" diff --git a/parity/logger/Cargo.toml b/parity/logger/Cargo.toml index 62fc3f3d5fe..2bc163e4541 100644 --- a/parity/logger/Cargo.toml +++ b/parity/logger/Cargo.toml @@ -12,6 +12,6 @@ atty = "0.2" lazy_static = "1.0" regex = "1.0" time = "0.1" -parking_lot = "0.9" +parking_lot = "0.10.0" arrayvec = "0.4" ansi_term = "0.11" diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 492e06467d1..52397f46406 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -21,12 +21,12 @@ semver = "0.9" serde = "1.0" serde_derive = "1.0" serde_json = "1.0" -parking_lot = "0.9" +parking_lot = "0.10.0" tempdir = "0.3" tiny-keccak = "1.4" tokio-timer = "0.1" transient-hashmap = "0.4" -itertools = "0.5" +itertools = "0.8.2" jsonrpc-core = "14.0.5" jsonrpc-derive = "14.0.5" diff --git a/secret-store/Cargo.toml b/secret-store/Cargo.toml index 2c19907a582..63d5054fe13 100644 --- a/secret-store/Cargo.toml +++ b/secret-store/Cargo.toml @@ -15,14 +15,14 @@ ethkey = { path = "../accounts/ethkey", optional = true } futures = "0.1" hyper = { version = "0.12", default-features = false } keccak-hash = "0.4.0" -kvdb = "0.3.1" -kvdb-rocksdb = "0.4.1" +kvdb = "0.4.0" +kvdb-rocksdb = "0.5.0" lazy_static = "1.0" log = "0.4" parity-bytes = "0.1" parity-crypto = { version = "0.4.2", features = ["publickey"] } parity-runtime = { path = "../util/runtime" } -parking_lot = "0.9" +parking_lot = "0.10.0" percent-encoding = "2.1.0" rustc-hex = "1.0" serde = "1.0" @@ -38,4 +38,4 @@ jsonrpc-server-utils = "14.0.3" [dev-dependencies] env_logger = "0.5" tempdir = "0.3" -kvdb-rocksdb = "0.4.1" +kvdb-rocksdb = "0.5.0" diff --git a/updater/Cargo.toml b/updater/Cargo.toml index 90ff44c9af0..d7b9ba9da93 100644 --- a/updater/Cargo.toml +++ b/updater/Cargo.toml @@ -22,7 +22,7 @@ parity-hash-fetch = { path = "hash-fetch" } parity-path = "0.1" parity-version = { path = "../util/version" } rand = "0.7" -parking_lot = "0.9" +parking_lot = "0.10.0" semver = "0.9" target_info = "0.1" diff --git a/updater/hash-fetch/Cargo.toml b/updater/hash-fetch/Cargo.toml index 0aaca33e77e..0f39d61c9ad 100644 --- a/updater/hash-fetch/Cargo.toml +++ b/updater/hash-fetch/Cargo.toml @@ -11,7 +11,7 @@ call-contract = { package = "ethcore-call-contract", path = "../../ethcore/call- futures = "0.1" log = "0.4" mime = "0.3" -mime_guess = "2.0.0-alpha.2" +mime_guess = "2.0.1" rand = "0.7" rustc-hex = "1.0" fetch = { path = "../../util/fetch" } @@ -27,5 +27,5 @@ ethabi-derive = "9.0.1" ethabi-contract = "9.0.0" [dev-dependencies] -parking_lot = "0.9" +parking_lot = "0.10.0" fake-fetch = { path = "../../util/fake-fetch" } diff --git a/updater/hash-fetch/src/urlhint.rs b/updater/hash-fetch/src/urlhint.rs index d60b6028959..dcb1347abc1 100644 --- a/updater/hash-fetch/src/urlhint.rs +++ b/updater/hash-fetch/src/urlhint.rs @@ -200,7 +200,7 @@ fn guess_mime_type(url: &str) -> Option { url.and_then(|url| { url.split('.').last() }).and_then(|extension| { - mime_guess::get_mime_type_opt(extension) + mime_guess::from_ext(extension).first() }) } diff --git a/util/EIP-152/Cargo.toml b/util/EIP-152/Cargo.toml index 1f7131fe452..75e41969dfe 100644 --- a/util/EIP-152/Cargo.toml +++ b/util/EIP-152/Cargo.toml @@ -15,7 +15,7 @@ arrayref = "0.3.5" [dev-dependencies] criterion = "0.3" -rustc-hex = "2.0.1" +rustc-hex = "2.1.0" [[bench]] name = "bench" diff --git a/util/EIP-712/Cargo.toml b/util/EIP-712/Cargo.toml index 28e3ee7cd4e..e4ccea048cb 100644 --- a/util/EIP-712/Cargo.toml +++ b/util/EIP-712/Cargo.toml @@ -18,11 +18,11 @@ ethabi = "9.0.1" keccak-hash = "0.4.0" ethereum-types = "0.8.0" failure = "0.1" -itertools = "0.7" +itertools = "0.8.2" lazy_static = "1.1" regex = "1.0" validator = "0.8" validator_derive = "0.8" lunarity-lexer = "0.2" -rustc-hex = "2.0" +rustc-hex = "2.1.0" indexmap = "1.0.2" diff --git a/util/blooms-db/Cargo.toml b/util/blooms-db/Cargo.toml index ff5141f41c4..fba83b41988 100644 --- a/util/blooms-db/Cargo.toml +++ b/util/blooms-db/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" [dependencies] ethbloom = "0.8.0" -parking_lot = "0.9" +parking_lot = "0.10.0" [dev-dependencies] criterion = "0.3" diff --git a/util/io/Cargo.toml b/util/io/Cargo.toml index 9d0a7a0e8bb..8705cb52a29 100644 --- a/util/io/Cargo.toml +++ b/util/io/Cargo.toml @@ -11,7 +11,7 @@ edition = "2018" fnv = "1.0" mio = { version = "0.6.19", optional = true } crossbeam-deque = "0.6" -parking_lot = "0.9" +parking_lot = "0.10.0" log = "0.4" slab = "0.4" num_cpus = "1.8" diff --git a/util/journaldb/Cargo.toml b/util/journaldb/Cargo.toml index a6b74952ba8..08fe1b1be8f 100644 --- a/util/journaldb/Cargo.toml +++ b/util/journaldb/Cargo.toml @@ -10,16 +10,16 @@ edition = "2018" parity-bytes = "0.1" ethereum-types = "0.8.0" hash-db = "0.15.0" -malloc_size_of = { version = "0.3.0", package = "parity-util-mem" } +parity-util-mem = "0.5.1" keccak-hasher = { path = "../keccak-hasher" } -kvdb = "0.3.1" +kvdb = "0.4.0" log = "0.4" -memory-db = "0.18.0" -parking_lot = "0.9" +memory-db = "0.19.0" +parking_lot = "0.10.0" fastmap = { path = "../../util/fastmap" } rlp = "0.4.0" [dev-dependencies] env_logger = "0.5" keccak-hash = "0.4.0" -kvdb-memorydb = "0.3.1" +kvdb-memorydb = "0.4.0" diff --git a/util/journaldb/src/archivedb.rs b/util/journaldb/src/archivedb.rs index 1af45722a34..cdc4e177274 100644 --- a/util/journaldb/src/archivedb.rs +++ b/util/journaldb/src/archivedb.rs @@ -26,7 +26,7 @@ use ethereum_types::H256; use hash_db::{HashDB, Prefix}; use keccak_hasher::KeccakHasher; use kvdb::{KeyValueDB, DBTransaction, DBValue}; -use malloc_size_of::MallocSizeOfExt; +use parity_util_mem::MallocSizeOfExt; use parity_bytes::Bytes; use rlp::{encode, decode}; diff --git a/util/journaldb/src/earlymergedb.rs b/util/journaldb/src/earlymergedb.rs index d557563883a..6f2e27472ee 100644 --- a/util/journaldb/src/earlymergedb.rs +++ b/util/journaldb/src/earlymergedb.rs @@ -27,7 +27,7 @@ use hash_db::{HashDB, Prefix}; use keccak_hasher::KeccakHasher; use kvdb::{KeyValueDB, DBTransaction, DBValue}; use log::{trace, warn}; -use malloc_size_of::{MallocSizeOf, allocators::new_malloc_size_ops}; +use parity_util_mem::{MallocSizeOf, allocators::new_malloc_size_ops}; use parity_bytes::Bytes; use parking_lot::RwLock; use rlp::{encode, decode}; diff --git a/util/journaldb/src/overlayrecentdb.rs b/util/journaldb/src/overlayrecentdb.rs index 44f1085e092..9df13c8d8f3 100644 --- a/util/journaldb/src/overlayrecentdb.rs +++ b/util/journaldb/src/overlayrecentdb.rs @@ -28,7 +28,7 @@ use hash_db::{HashDB, Prefix, EMPTY_PREFIX}; use keccak_hasher::KeccakHasher; use kvdb::{KeyValueDB, DBTransaction, DBValue}; use log::trace; -use malloc_size_of::{MallocSizeOf, allocators::new_malloc_size_ops}; +use parity_util_mem::{MallocSizeOf, allocators::new_malloc_size_ops}; use parity_bytes::Bytes; use parking_lot::RwLock; use rlp::{Rlp, RlpStream, encode, decode, DecoderError, Decodable, Encodable}; diff --git a/util/journaldb/src/refcounteddb.rs b/util/journaldb/src/refcounteddb.rs index ca88aa048cc..cc392d5619a 100644 --- a/util/journaldb/src/refcounteddb.rs +++ b/util/journaldb/src/refcounteddb.rs @@ -27,7 +27,7 @@ use hash_db::{HashDB, Prefix, EMPTY_PREFIX}; use keccak_hasher::KeccakHasher; use kvdb::{KeyValueDB, DBTransaction, DBValue}; use log::trace; -use malloc_size_of::{MallocSizeOf, allocators::new_malloc_size_ops}; +use parity_util_mem::{MallocSizeOf, allocators::new_malloc_size_ops}; use parity_bytes::Bytes; use rlp::{encode, decode}; diff --git a/util/len-caching-lock/Cargo.toml b/util/len-caching-lock/Cargo.toml index ac34ea827d3..a354c71fcb7 100644 --- a/util/len-caching-lock/Cargo.toml +++ b/util/len-caching-lock/Cargo.toml @@ -7,4 +7,4 @@ version = "0.1.1" authors = ["Parity Technologies "] [dependencies] -parking_lot = "0.9" +parking_lot = "0.10.0" diff --git a/util/memory-cache/Cargo.toml b/util/memory-cache/Cargo.toml index a5bc356f314..aa5f46cf331 100644 --- a/util/memory-cache/Cargo.toml +++ b/util/memory-cache/Cargo.toml @@ -6,5 +6,5 @@ description = "An LRU-cache which operates on memory used" license = "GPL3" [dependencies] -parity-util-mem = "0.3.0" +parity-util-mem = "0.5.1" lru-cache = "0.1" diff --git a/util/migration-rocksdb/Cargo.toml b/util/migration-rocksdb/Cargo.toml index 3854f424430..6ef6bd4bb0f 100644 --- a/util/migration-rocksdb/Cargo.toml +++ b/util/migration-rocksdb/Cargo.toml @@ -6,8 +6,8 @@ authors = ["Parity Technologies "] [dependencies] log = "0.4" macros = { path = "../macros" } -kvdb = "0.3.1" -kvdb-rocksdb = "0.4.1" +kvdb = "0.4.0" +kvdb-rocksdb = "0.5.0" [dev-dependencies] tempdir = "0.3" diff --git a/util/network-devp2p/Cargo.toml b/util/network-devp2p/Cargo.toml index e5d49217892..df8fe1d9130 100644 --- a/util/network-devp2p/Cargo.toml +++ b/util/network-devp2p/Cargo.toml @@ -14,9 +14,9 @@ bytes = "0.4" rand = "0.7" tiny-keccak = "1.4" slab = "0.2" -igd = "0.9" +igd = "0.10.0" libc = "0.2.7" -parking_lot = "0.9" +parking_lot = "0.10.0" ansi_term = "0.11" rustc-hex = "1.0" ethcore-io = { path = "../io", features = ["mio"] } diff --git a/util/patricia-trie-ethereum/Cargo.toml b/util/patricia-trie-ethereum/Cargo.toml index 6979a7bfc88..392f080923e 100644 --- a/util/patricia-trie-ethereum/Cargo.toml +++ b/util/patricia-trie-ethereum/Cargo.toml @@ -6,7 +6,7 @@ description = "Merkle-Patricia Trie (Ethereum Style)" license = "GPL-3.0" [dependencies] -trie-db = "0.18.0" +trie-db = "0.20.0" keccak-hasher = { version = "0.1.1", path = "../keccak-hasher" } hash-db = "0.15.0" rlp = "0.4.4" @@ -15,7 +15,7 @@ ethereum-types = "0.8.0" elastic-array = "0.10" [dev-dependencies] -memory-db = "0.18.0" +memory-db = "0.19.0" keccak-hash = "0.4.0" journaldb = { path = "../journaldb" } criterion = "0.3" diff --git a/util/version/Cargo.toml b/util/version/Cargo.toml index 8979e9a1d21..cad11a3d255 100644 --- a/util/version/Cargo.toml +++ b/util/version/Cargo.toml @@ -29,7 +29,7 @@ target_info = "0.1" [build-dependencies] vergen = "3.0.4" rustc_version = "0.2" -toml = "0.4" +toml = "0.5.6" [features] final = []