diff --git a/res/ethereum/frontier.json b/res/ethereum/frontier.json index 43be680d2..35cf1ebe0 100644 --- a/res/ethereum/frontier.json +++ b/res/ethereum/frontier.json @@ -3,7 +3,7 @@ "engineName": "Ethash", "params": { "accountStartNonce": "0x00", - "frontierCompatibilityModeLimit": "0xdbba0", + "frontierCompatibilityModeLimit": "0xf4240", "maximumExtraDataSize": "0x20", "tieBreakingGas": false, "minGasLimit": "0x1388", diff --git a/res/ethereum/frontier_like_test.json b/res/ethereum/frontier_like_test.json index b5cbec465..84a6200fd 100644 --- a/res/ethereum/frontier_like_test.json +++ b/res/ethereum/frontier_like_test.json @@ -3,7 +3,7 @@ "engineName": "Ethash", "params": { "accountStartNonce": "0x00", - "frontierCompatibilityModeLimit": "0x0dbba0", + "frontierCompatibilityModeLimit": "0xf4240", "maximumExtraDataSize": "0x20", "tieBreakingGas": false, "minGasLimit": "0x1388", diff --git a/src/executive.rs b/src/executive.rs index b21026835..b113363fd 100644 --- a/src/executive.rs +++ b/src/executive.rs @@ -10,7 +10,7 @@ use crossbeam; /// Max depth to avoid stack overflow (when it's reached we start a new thread with VM) /// TODO [todr] We probably need some more sophisticated calculations here (limit on my machine 132) /// Maybe something like here: https://github.com/ethereum/libethereum/blob/4db169b8504f2b87f7d5a481819cfb959fc65f6c/libethereum/ExtVM.cpp -const MAX_VM_DEPTH_FOR_THREAD: usize = 128; +const MAX_VM_DEPTH_FOR_THREAD: usize = 64; /// Returns new address created from address and given nonce. pub fn contract_address(address: &Address, nonce: &U256) -> Address { diff --git a/src/tests/transaction.rs b/src/tests/transaction.rs index 59a6db7cb..91f7d96e5 100644 --- a/src/tests/transaction.rs +++ b/src/tests/transaction.rs @@ -13,7 +13,7 @@ fn do_json_test(json_data: &[u8]) -> Vec { let schedule = match test.find("blocknumber") .and_then(|j| j.as_string()) .and_then(|s| BlockNumber::from_str(s).ok()) - .unwrap_or(0) { x if x < 900000 => &old_schedule, _ => &new_schedule }; + .unwrap_or(0) { x if x < 1_000_000 => &old_schedule, _ => &new_schedule }; let rlp = Bytes::from_json(&test["rlp"]); let res = UntrustedRlp::new(&rlp).as_val().map_err(From::from).and_then(|t: Transaction| t.validate(schedule, schedule.have_delegate_call)); fail_unless(test.find("transaction").is_none() == res.is_err());