Populating last_hashes

This commit is contained in:
Tomusdrw 2016-01-20 17:57:53 +01:00
parent e2ad52e5cc
commit 9048a608da
3 changed files with 12 additions and 20 deletions

View File

@ -25,8 +25,14 @@ pub struct EnvInfo {
} }
impl EnvInfo { impl EnvInfo {
/// TODO [debris] Please document me /// Create empty env_info initialized with zeros
pub fn new() -> EnvInfo { pub fn new() -> EnvInfo {
EnvInfo::default()
}
}
impl Default for EnvInfo {
fn default() -> Self {
EnvInfo { EnvInfo {
number: 0, number: 0,
author: Address::new(), 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()
}
}

View File

@ -2,7 +2,7 @@ use util::*;
use basic_types::*; use basic_types::*;
use time::now_utc; use time::now_utc;
/// TODO [Gav Wood] Please document me /// Current number of block type
pub type BlockNumber = u64; pub type BlockNumber = u64;
/// A block header. /// A block header.

View File

@ -187,15 +187,9 @@ fn do_json_test_for(vm: &VMType, json_data: &[u8]) -> Vec<String> {
BTreeMap::from_json(&s["storage"]).into_iter().foreach(|(k, v)| state.set_storage(&address, k, v)); BTreeMap::from_json(&s["storage"]).into_iter().foreach(|(k, v)| state.set_storage(&address, k, v));
}); });
let mut info = EnvInfo::new(); let info = test.find("env").map(|env| {
EnvInfo::from_json(env)
test.find("env").map(|env| { }).unwrap_or_default();
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 engine = TestEngine::new(1, vm.clone()); let engine = TestEngine::new(1, vm.clone());
@ -277,7 +271,7 @@ fn do_json_test_for(vm: &VMType, json_data: &[u8]) -> Vec<String> {
declare_test!{ExecutiveTests_vmArithmeticTest, "VMTests/vmArithmeticTest"} declare_test!{ExecutiveTests_vmArithmeticTest, "VMTests/vmArithmeticTest"}
declare_test!{ExecutiveTests_vmBitwiseLogicOperationTest, "VMTests/vmBitwiseLogicOperationTest"} declare_test!{ExecutiveTests_vmBitwiseLogicOperationTest, "VMTests/vmBitwiseLogicOperationTest"}
// this one crashes with some vm internal error. Separately they pass. // 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_vmEnvironmentalInfoTest, "VMTests/vmEnvironmentalInfoTest"}
declare_test!{ExecutiveTests_vmIOandFlowOperationsTest, "VMTests/vmIOandFlowOperationsTest"} declare_test!{ExecutiveTests_vmIOandFlowOperationsTest, "VMTests/vmIOandFlowOperationsTest"}
// this one take way too long. // this one take way too long.