Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Fix testeth VMTest false account creations and deletions #4731

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 5 additions & 4 deletions test/tools/jsontests/vm.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ class FakeExtVM: public eth::ExtVMFace
virtual u256 store(u256 _n) override { return std::get<2>(addresses[myAddress])[_n]; }
virtual void setStore(u256 _n, u256 _v) override { std::get<2>(addresses[myAddress])[_n] = _v; }
virtual bool exists(Address _a) override { return !!addresses.count(_a); }
virtual u256 balance(Address _a) override { return std::get<0>(addresses[_a]); }
virtual void suicide(Address _a) override { std::get<0>(addresses[_a]) += std::get<0>(addresses[myAddress]); addresses.erase(myAddress); }
virtual bytes const& codeAt(Address _a) override { return std::get<3>(addresses[_a]); }
virtual size_t codeSizeAt(Address _a) override { return std::get<3>(addresses[_a]).size(); }
virtual u256 balance(Address _a) override { return exists(_a) ? std::get<0>(addresses[_a]) : u256(); }
virtual void suicide(Address _a) override { std::get<0>(addresses[_a]) += std::get<0>(addresses[myAddress]); }
virtual bytes const& codeAt(Address _a) override { return exists(_a) ? std::get<3>(addresses[_a]) : defaultCode; }
virtual size_t codeSizeAt(Address _a) override { return codeAt(_a).size(); }
virtual std::pair<h160, eth::owning_bytes_ref> create(u256 _endowment, u256& io_gas, bytesConstRef _init, eth::Instruction _op, u256 _salt, eth::OnOpFunc const&) override;
virtual std::pair<bool, eth::owning_bytes_ref> call(eth::CallParameters&) override;
virtual h256 blockHash(u256 _number) override;
Expand All @@ -81,6 +81,7 @@ class FakeExtVM: public eth::ExtVMFace

std::map<Address, std::tuple<u256, u256, std::map<u256, u256>, bytes>> addresses;
eth::Transactions callcreates;
bytes defaultCode;
bytes thisTxData;
bytes thisTxCode;
u256 gas;
Expand Down