From e4113cc1ab2dcdfd07e2c86919776f4976999dae Mon Sep 17 00:00:00 2001 From: debris Date: Tue, 18 Sep 2018 22:25:40 +0200 Subject: [PATCH 1/3] bump smallvec to 0.6 in ethcore-light, ethstore and whisper --- Cargo.lock | 10 +++------- ethcore/light/Cargo.toml | 2 +- ethcore/sync/Cargo.toml | 1 - ethcore/sync/src/blocks.rs | 7 ++----- ethcore/sync/src/lib.rs | 1 - ethstore/Cargo.toml | 2 +- whisper/Cargo.toml | 2 +- 7 files changed, 8 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 88a61896e4d..86c24f31b08 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -643,7 +643,7 @@ dependencies = [ "rlp_derive 0.1.0", "serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "stats 0.1.0", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "triehash-ethereum 0.2.0", @@ -890,7 +890,6 @@ dependencies = [ "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "triehash-ethereum 0.2.0", ] @@ -997,7 +996,7 @@ dependencies = [ "serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2382,7 +2381,7 @@ dependencies = [ "serde_derive 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3028,9 +3027,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "smallvec" version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "smallvec" diff --git a/ethcore/light/Cargo.toml b/ethcore/light/Cargo.toml index 6f28ebef2e8..8790e2fbd89 100644 --- a/ethcore/light/Cargo.toml +++ b/ethcore/light/Cargo.toml @@ -23,7 +23,7 @@ vm = { path = "../vm" } fastmap = { path = "../../util/fastmap" } rlp = { version = "0.2.4", features = ["ethereum"] } rlp_derive = { path = "../../util/rlp_derive" } -smallvec = "0.4" +smallvec = "0.6" futures = "0.1" rand = "0.4" itertools = "0.5" diff --git a/ethcore/sync/Cargo.toml b/ethcore/sync/Cargo.toml index 3d0e21cbe6e..37c1d61c766 100644 --- a/ethcore/sync/Cargo.toml +++ b/ethcore/sync/Cargo.toml @@ -31,7 +31,6 @@ env_logger = "0.5" rand = "0.4" heapsize = "0.4" semver = "0.9" -smallvec = { version = "0.4", features = ["heapsizeof"] } parking_lot = "0.6" trace-time = "0.1" ipnetwork = "0.12.6" diff --git a/ethcore/sync/src/blocks.rs b/ethcore/sync/src/blocks.rs index 3815084f8f1..4a6805a2bbe 100644 --- a/ethcore/sync/src/blocks.rs +++ b/ethcore/sync/src/blocks.rs @@ -15,7 +15,6 @@ // along with Parity. If not, see . use std::collections::{HashSet, HashMap, hash_map}; -use smallvec::SmallVec; use hash::{keccak, KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP}; use heapsize::HeapSizeOf; use ethereum_types::H256; @@ -29,8 +28,6 @@ use transaction::UnverifiedTransaction; known_heap_size!(0, HeaderId); -type SmallHashVec = SmallVec<[H256; 1]>; - #[derive(PartialEq, Debug, Clone)] pub struct SyncHeader { pub bytes: Bytes, @@ -157,7 +154,7 @@ pub struct BlockCollection { /// Used to map body to header. header_ids: HashMap, /// Used to map receipts root to headers. - receipt_ids: HashMap, + receipt_ids: HashMap>, /// First block in `blocks`. head: Option, /// Set of block header hashes being downloaded @@ -522,7 +519,7 @@ impl BlockCollection { let receipts_stream = RlpStream::new_list(0); (Some(receipts_stream.out()), receipt_root) } else { - self.receipt_ids.entry(receipt_root).or_insert_with(|| SmallHashVec::new()).push(hash); + self.receipt_ids.entry(receipt_root).or_insert_with(Vec::new).push(hash); (None, receipt_root) } } else { diff --git a/ethcore/sync/src/lib.rs b/ethcore/sync/src/lib.rs index 9fb7da99053..e35e9beda2b 100644 --- a/ethcore/sync/src/lib.rs +++ b/ethcore/sync/src/lib.rs @@ -35,7 +35,6 @@ extern crate fastmap; extern crate rand; extern crate semver; extern crate parking_lot; -extern crate smallvec; extern crate rlp; extern crate ipnetwork; extern crate keccak_hash as hash; diff --git a/ethstore/Cargo.toml b/ethstore/Cargo.toml index d51a7f9b7f8..7393baf2c72 100644 --- a/ethstore/Cargo.toml +++ b/ethstore/Cargo.toml @@ -19,7 +19,7 @@ parking_lot = "0.6" parity-crypto = "0.1" ethereum-types = "0.4" dir = { path = "../util/dir" } -smallvec = "0.4" +smallvec = "0.6" parity-wordlist = "1.0" tempdir = "0.3" diff --git a/whisper/Cargo.toml b/whisper/Cargo.toml index ffcd34b1ec4..4cf8379921b 100644 --- a/whisper/Cargo.toml +++ b/whisper/Cargo.toml @@ -22,7 +22,7 @@ serde = "1.0" serde_derive = "1.0" serde_json = "1.0" slab = "0.3" -smallvec = "0.4" +smallvec = "0.6" tiny-keccak = "1.4" jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-1.11" } From c2e373d00ed6246e1a294d9b7710a5d9b78d0575 Mon Sep 17 00:00:00 2001 From: debris Date: Wed, 19 Sep 2018 11:11:27 +0200 Subject: [PATCH 2/3] bump transaction-pool --- Cargo.lock | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 86c24f31b08..de66d669e65 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -690,7 +690,7 @@ dependencies = [ "rlp 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "transaction-pool 1.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "transaction-pool 1.13.3 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -780,7 +780,7 @@ dependencies = [ "serde_derive 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "transaction-pool 1.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "transaction-pool 1.13.3 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2254,7 +2254,7 @@ dependencies = [ "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "transaction-pool 1.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "transaction-pool 1.13.3 (registry+https://github.com/rust-lang/crates.io-index)", "transient-hashmap 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "vm 0.1.0", ] @@ -2301,7 +2301,7 @@ source = "git+https://github.com/nikvolf/parity-tokio-ipc?rev=7c9bbe3bc45d8e72a9 dependencies = [ "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "mio-named-pipes 0.1.6 (git+https://github.com/alexcrichton/mio-named-pipes)", "miow 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3023,11 +3023,6 @@ name = "smallvec" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "smallvec" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "smallvec" version = "0.6.5" @@ -3482,12 +3477,12 @@ dependencies = [ [[package]] name = "transaction-pool" -version = "1.13.2" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4078,7 +4073,6 @@ dependencies = [ "checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" "checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d" "checksum smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c8cbcd6df1e117c2210e13ab5109635ad68a929fcbb8964dc965b76cb5ee013" -"checksum smallvec 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" "checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d" "checksum socket2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d11a52082057d87cb5caa31ad812f4504b97ab44732cd8359df2e9ff9f48e7" "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" @@ -4122,7 +4116,7 @@ dependencies = [ "checksum tokio-uds 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "424c1ed15a0132251813ccea50640b224c809d6ceafb88154c1a8775873a0e89" "checksum toml 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a0263c6c02c4db6c8f7681f9fd35e90de799ebd4cfdeab77a38f4ff6b3d8c0d9" "checksum trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe82f2f0bf1991e163e757baf044282823155dd326e70f44ce2186c3c320cc9" -"checksum transaction-pool 1.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fdb8870eea404a57e2f62056ac45067a53a6207fd31866122356481d3c2e1a30" +"checksum transaction-pool 1.13.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e5866e5126b14358f1d7af4bf51a0be677a363799b90e655edcec8254edef1d2" "checksum transient-hashmap 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aeb4b191d033a35edfce392a38cdcf9790b6cebcb30fa690c312c29da4dc433e" "checksum trezor-sys 1.0.0 (git+https://github.com/paritytech/trezor-sys)" = "" "checksum trie-standardmap 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0e26f52976a57a0859616d6fcec87092ac35d08eabbd78dc3dabee93b480ea5f" From 0b0c507b03dec04658db9e694c4256ba5a324752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Thu, 20 Sep 2018 10:46:25 +0200 Subject: [PATCH 3/3] Fix test. --- miner/src/pool/tests/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/miner/src/pool/tests/mod.rs b/miner/src/pool/tests/mod.rs index 36897a04710..30a3e5130bd 100644 --- a/miner/src/pool/tests/mod.rs +++ b/miner/src/pool/tests/mod.rs @@ -76,6 +76,7 @@ fn should_return_correct_nonces_when_dropped_because_of_limit() { // when let tx1 = Tx::gas_price(2).signed(); let tx2 = Tx::gas_price(2).signed(); + let sender = tx2.sender(); let tx3 = Tx::gas_price(1).signed(); let tx4 = Tx::gas_price(3).signed(); let res = txq.import(TestClient::new(), vec![tx1, tx2].retracted()); @@ -90,7 +91,8 @@ fn should_return_correct_nonces_when_dropped_because_of_limit() { Ok(()) ]); assert_eq!(txq.status().status.transaction_count, 3); - // First inserted transacton got dropped because of limit + // tx2 transacton got dropped because of limit + // tx1 and tx1' are kept, because they have lower insertion_ids so they are preferred. assert_eq!(txq.next_nonce(TestClient::new(), &sender), None); }