From 387d0dc8fc0c1b83f16d6a278cfd86a48726c9bc Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 11 Sep 2019 09:07:11 +0200 Subject: [PATCH 1/3] [ethcore]: rustc_hex not longer `optional` Used by `ethcore/client/client` when importing blocks --- ethcore/Cargo.toml | 4 ++-- ethcore/src/lib.rs | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 782af50ba18..762851f9ab8 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -54,7 +54,7 @@ rand_xorshift = "0.1.1" rayon = "1.1" rlp = "0.4.0" rlp_derive = { path = "../util/rlp-derive" } -rustc-hex = { version = "1", optional = true } +rustc-hex = "1" serde = "1.0" serde_derive = "1.0" snapshot = { path = "snapshot" } @@ -93,6 +93,7 @@ rlp_compress = { path = "../util/rlp-compress" } rustc-hex = "1" serde_json = "1.0" stats = { path = "../util/stats" } +pod = { path = "pod" } tempdir = "0.3" trie-standardmap = "0.15.0" @@ -135,7 +136,6 @@ test-helpers = [ "kvdb-rocksdb", "macros", "pod", - "rustc-hex", "tempdir", "basic-authority/test-helpers" ] diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 727665a6c00..9c43273a3ad 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -81,6 +81,7 @@ extern crate patricia_trie_ethereum as ethtrie; extern crate rand; extern crate rayon; extern crate rlp; +extern crate rustc_hex; extern crate serde; extern crate snapshot; extern crate spec; @@ -126,8 +127,6 @@ extern crate pod; extern crate blooms_db; #[cfg(any(test, feature = "env_logger"))] extern crate env_logger; -#[cfg(any(test, feature = "test-helpers"))] -extern crate rustc_hex; #[cfg(test)] extern crate serde_json; #[cfg(any(test, feature = "tempdir"))] From 75d0e37b608332317e53e01fc8d4bf7aac46a353 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 11 Sep 2019 09:35:09 +0200 Subject: [PATCH 2/3] [ethcore-types]: `DataFormat` add docs + tabify --- ethcore/types/src/data_format.rs | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/ethcore/types/src/data_format.rs b/ethcore/types/src/data_format.rs index 8cfe5cf2be3..b8eab952cae 100644 --- a/ethcore/types/src/data_format.rs +++ b/ethcore/types/src/data_format.rs @@ -20,24 +20,26 @@ use std::str::FromStr; /// Format for importing/exporting blocks #[derive(Debug, PartialEq)] pub enum DataFormat { - Hex, - Binary, + /// Hexadecimal format + Hex, + /// Binary format + Binary, } impl Default for DataFormat { - fn default() -> Self { - DataFormat::Binary - } + fn default() -> Self { + DataFormat::Binary + } } impl FromStr for DataFormat { - type Err = String; - - fn from_str(s: &str) -> Result { - match s { - "binary" | "bin" => Ok(DataFormat::Binary), - "hex" => Ok(DataFormat::Hex), - x => Err(format!("Invalid format: {}", x)) - } - } + type Err = String; + + fn from_str(s: &str) -> Result { + match s { + "binary" | "bin" => Ok(DataFormat::Binary), + "hex" => Ok(DataFormat::Hex), + x => Err(format!("Invalid format: {}", x)) + } + } } From 4be78098a2860fee4bb62b7dcdb0a77612df8eda Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 11 Sep 2019 12:28:03 +0200 Subject: [PATCH 3/3] fix(grumbles): bump `rustc-hex = 2` --- Cargo.lock | 2 +- ethcore/Cargo.toml | 3 +-- ethcore/src/tests/client.rs | 4 ++-- ethcore/src/tests/evm.rs | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7a77276ce5e..6b583067adc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1040,7 +1040,7 @@ dependencies = [ "rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rlp_compress 0.1.0", "rlp_derive 0.1.0", - "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 762851f9ab8..e47931a14a3 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -54,7 +54,7 @@ rand_xorshift = "0.1.1" rayon = "1.1" rlp = "0.4.0" rlp_derive = { path = "../util/rlp-derive" } -rustc-hex = "1" +rustc-hex = "2" serde = "1.0" serde_derive = "1.0" snapshot = { path = "snapshot" } @@ -90,7 +90,6 @@ macros = { path = "../util/macros" } null-engine = { path = "./engines/null-engine" } parity-runtime = { path = "../util/runtime" } rlp_compress = { path = "../util/rlp-compress" } -rustc-hex = "1" serde_json = "1.0" stats = { path = "../util/stats" } pod = { path = "pod" } diff --git a/ethcore/src/tests/client.rs b/ethcore/src/tests/client.rs index 1e0221548f7..d1abd7e3724 100644 --- a/ethcore/src/tests/client.rs +++ b/ethcore/src/tests/client.rs @@ -393,12 +393,12 @@ fn reset_blockchain() { #[test] fn import_export_hex() { let client = get_test_client_with_blocks(get_good_dummy_block_seq(19)); - let block_rlps = (15..20) + let block_rlps: Vec = (15..20) .filter_map(|num| client.block(BlockId::Number(num))) .map(|header| { header.raw().to_hex() }) - .collect::>(); + .collect(); let mut out = Vec::new(); diff --git a/ethcore/src/tests/evm.rs b/ethcore/src/tests/evm.rs index 184fa5801e9..0f2f7332e9c 100644 --- a/ethcore/src/tests/evm.rs +++ b/ethcore/src/tests/evm.rs @@ -35,11 +35,11 @@ use ethereum_types::{H256, Address}; evm_test!{test_blockhash_eip210: test_blockhash_eip210_int} fn test_blockhash_eip210(factory: Factory) { - let get_prev_hash_code = Arc::new("600143034060205260206020f3".from_hex().unwrap()); // this returns previous block hash + let get_prev_hash_code = Arc::new("600143034060205260206020f3".from_hex::>().unwrap()); // this returns previous block hash let get_prev_hash_code_hash = keccak(get_prev_hash_code.as_ref()); // This is same as DEFAULT_BLOCKHASH_CONTRACT except for metropolis transition block check removed. let test_blockhash_contract = "73fffffffffffffffffffffffffffffffffffffffe33141561007a57600143036020526000356101006020510755600061010060205107141561005057600035610100610100602051050761010001555b6000620100006020510714156100755760003561010062010000602051050761020001555b61014a565b4360003512151561009057600060405260206040f35b610100600035430312156100b357610100600035075460605260206060f3610149565b62010000600035430312156100d157600061010060003507146100d4565b60005b156100f6576101006101006000350507610100015460805260206080f3610148565b630100000060003543031215610116576000620100006000350714610119565b60005b1561013c57610100620100006000350507610200015460a052602060a0f3610147565b600060c052602060c0f35b5b5b5b5b"; - let blockhash_contract_code = Arc::new(test_blockhash_contract.from_hex().unwrap()); + let blockhash_contract_code = Arc::new(test_blockhash_contract.from_hex::>().unwrap()); let blockhash_contract_code_hash = keccak(blockhash_contract_code.as_ref()); let machine = new_eip210_test_machine(); let mut env_info = EnvInfo::default();