From 9048a608dad37a993b7c5e19ebc007e5468230c8 Mon Sep 17 00:00:00 2001 From: Tomusdrw Date: Wed, 20 Jan 2016 17:57:53 +0100 Subject: [PATCH 1/3] Populating last_hashes --- src/env_info.rs | 16 +++++++--------- src/header.rs | 2 +- src/tests/executive.rs | 14 ++++---------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/env_info.rs b/src/env_info.rs index 1246234ff..76d33cd5a 100644 --- a/src/env_info.rs +++ b/src/env_info.rs @@ -25,8 +25,14 @@ pub struct EnvInfo { } impl EnvInfo { - /// TODO [debris] Please document me + /// Create empty env_info initialized with zeros pub fn new() -> EnvInfo { + EnvInfo::default() + } +} + +impl Default for EnvInfo { + fn default() -> Self { EnvInfo { number: 0, author: Address::new(), @@ -53,11 +59,3 @@ impl FromJson for EnvInfo { } } } - -/// TODO: it should be the other way around. -/// `new` should call `default`. -impl Default for EnvInfo { - fn default() -> Self { - EnvInfo::new() - } -} diff --git a/src/header.rs b/src/header.rs index 28ed458fb..08da1d855 100644 --- a/src/header.rs +++ b/src/header.rs @@ -2,7 +2,7 @@ use util::*; use basic_types::*; use time::now_utc; -/// TODO [Gav Wood] Please document me +/// Current number of block type pub type BlockNumber = u64; /// A block header. diff --git a/src/tests/executive.rs b/src/tests/executive.rs index fe428e199..9abd31021 100644 --- a/src/tests/executive.rs +++ b/src/tests/executive.rs @@ -187,15 +187,9 @@ fn do_json_test_for(vm: &VMType, json_data: &[u8]) -> Vec { BTreeMap::from_json(&s["storage"]).into_iter().foreach(|(k, v)| state.set_storage(&address, k, v)); }); - let mut info = EnvInfo::new(); - - test.find("env").map(|env| { - info.author = xjson!(&env["currentCoinbase"]); - info.difficulty = xjson!(&env["currentDifficulty"]); - info.gas_limit = xjson!(&env["currentGasLimit"]); - info.number = xjson!(&env["currentNumber"]); - info.timestamp = xjson!(&env["currentTimestamp"]); - }); + let info = test.find("env").map(|env| { + EnvInfo::from_json(env) + }).unwrap_or_default(); let engine = TestEngine::new(1, vm.clone()); @@ -277,7 +271,7 @@ fn do_json_test_for(vm: &VMType, json_data: &[u8]) -> Vec { declare_test!{ExecutiveTests_vmArithmeticTest, "VMTests/vmArithmeticTest"} declare_test!{ExecutiveTests_vmBitwiseLogicOperationTest, "VMTests/vmBitwiseLogicOperationTest"} // this one crashes with some vm internal error. Separately they pass. -declare_test_ignore!{ExecutiveTests_vmBlockInfoTest, "VMTests/vmBlockInfoTest"} +declare_test!{ExecutiveTests_vmBlockInfoTest, "VMTests/vmBlockInfoTest"} declare_test!{ExecutiveTests_vmEnvironmentalInfoTest, "VMTests/vmEnvironmentalInfoTest"} declare_test!{ExecutiveTests_vmIOandFlowOperationsTest, "VMTests/vmIOandFlowOperationsTest"} // this one take way too long. From 78b279a73481f32dfbe482521141ed678d63e8f0 Mon Sep 17 00:00:00 2001 From: Tomusdrw Date: Wed, 20 Jan 2016 20:44:26 +0100 Subject: [PATCH 2/3] Fixing docs for BlockNumber --- src/header.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/header.rs b/src/header.rs index 08da1d855..523cf1b47 100644 --- a/src/header.rs +++ b/src/header.rs @@ -2,7 +2,7 @@ use util::*; use basic_types::*; use time::now_utc; -/// Current number of block type +/// Type for BlockNumber pub type BlockNumber = u64; /// A block header. From 80c7dee164d34c961d0831f38cc5c24be0d1d211 Mon Sep 17 00:00:00 2001 From: Tomusdrw Date: Wed, 20 Jan 2016 20:45:31 +0100 Subject: [PATCH 3/3] Fixing typo --- src/header.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/header.rs b/src/header.rs index 523cf1b47..556795b40 100644 --- a/src/header.rs +++ b/src/header.rs @@ -2,7 +2,7 @@ use util::*; use basic_types::*; use time::now_utc; -/// Type for BlockNumber +/// Type for Block number pub type BlockNumber = u64; /// A block header.