Skip to content

Commit

Permalink
Merge pull request #181 from sorpaas/master
Browse files Browse the repository at this point in the history
Problem: block 46147 check failure
  • Loading branch information
sjmackenzie committed Jun 7, 2017
2 parents d1c6b7e + 0346df8 commit 9e3820c
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 6 deletions.
47 changes: 42 additions & 5 deletions regtests/src/bin/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -151,20 +151,57 @@ fn test_block(client: &mut GethRPCClient, number: usize) {
ref changing_storage,
..
} => {
let block_number = cur_number.clone();

let expected_balance = client.get_balance(&format!("0x{:x}", address),
&block_number);
&cur_number);
assert!(U256::from_str(&expected_balance).unwrap() == balance);
let changing_storage: HashMap<M256, M256> = changing_storage.clone().into();
for (key, value) in changing_storage {
let expected_value = client.get_storage_at(&format!("0x{:x}", address),
&format!("0x{:x}", key),
&block_number);
&cur_number);
assert!(M256::from_str(&expected_value).unwrap() == value);
}
},
&Account::Create {
address,
balance,
ref storage,
..
} => {
let expected_balance = client.get_balance(&format!("0x{:x}", address),
&cur_number);
assert!(U256::from_str(&expected_balance).unwrap() == balance);
let storage: HashMap<M256, M256> = storage.clone().into();
for (key, value) in storage {
let expected_value = client.get_storage_at(&format!("0x{:x}", address),
&format!("0x{:x}", key),
&cur_number);
assert!(M256::from_str(&expected_value).unwrap() == value);
}
},
_ => unimplemented!(),
&Account::Remove(address) => {
let expected_balance = client.get_balance(&format!("0x{:x}", address),
&cur_number);
assert!(U256::from_str(&expected_balance).unwrap() == U256::zero());
},
&Account::IncreaseBalance(address, balance) => {
let last_balance = client.get_balance(&format!("0x{:x}", address),
&last_number);
let cur_balance = client.get_balance(&format!("0x{:x}", address),
&cur_number);

assert!(U256::from_str(&last_balance).unwrap() + balance ==
U256::from_str(&cur_balance).unwrap());
},
&Account::DecreaseBalance(address, balance) => {
let last_balance = client.get_balance(&format!("0x{:x}", address),
&last_number);
let cur_balance = client.get_balance(&format!("0x{:x}", address),
&cur_number);

assert!(U256::from_str(&last_balance).unwrap() - balance ==
U256::from_str(&cur_balance).unwrap());
},
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion sputnikvm/src/vm/commit/account.rs
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ impl AccountState {
})
},
Some(Account::DecreaseBalance(address, balance)) => {
Some(Account::DecreaseBalance(address, balance - withdraw))
Some(Account::DecreaseBalance(address, balance + withdraw))
},
Some(Account::IncreaseBalance(address, balance)) => {
if balance == withdraw {
Expand Down

0 comments on commit 9e3820c

Please sign in to comment.