diff options
author | Christian <c@ethdev.com> | 2014-10-13 23:14:37 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2014-10-13 23:14:37 +0800 |
commit | 082d79dba43645400a36f191231ba4b0e2b4c929 (patch) | |
tree | 73f0c9b03cfe41dd39a5b3644f624337ebd577a8 /vm.h | |
parent | 9c9a529b9d08e28a000ba537488aad136bfe9789 (diff) | |
parent | 8472a0f06f89298ba4ab828291784673ae7bc31c (diff) | |
download | dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.tar dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.tar.gz dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.tar.bz2 dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.tar.lz dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.tar.xz dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.tar.zst dexon-solidity-082d79dba43645400a36f191231ba4b0e2b4c929.zip |
Merge remote-tracking branch 'ethereum/develop' into solidity
Diffstat (limited to 'vm.h')
-rw-r--r-- | vm.h | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -40,11 +40,18 @@ namespace dev { namespace test { struct FakeExtVMFailure : virtual Exception {}; +class FakeState: public eth::State +{ +public: + /// Execute a contract-creation transaction. + h160 createNewAddress(Address _newAddress, Address _txSender, u256 _endowment, u256 _gasPrice, u256* _gas, bytesConstRef _code, Address _originAddress = Address(), std::set<Address>* o_suicides = nullptr, eth::Manifest* o_ms = nullptr, eth::OnOpFunc const& _onOp = eth::OnOpFunc(), unsigned _level = 0); +}; + class FakeExtVM: public eth::ExtVMFace { public: FakeExtVM() {} - FakeExtVM(eth::BlockInfo const& _previousBlock, eth::BlockInfo const& _currentBlock); + FakeExtVM(eth::BlockInfo const& _previousBlock, eth::BlockInfo const& _currentBlock, unsigned _depth = 0); u256 store(u256 _n) { return std::get<2>(addresses[myAddress])[_n]; } void setStore(u256 _n, u256 _v) { std::get<2>(addresses[myAddress])[_n] = _v; } @@ -63,6 +70,7 @@ public: byte toByte(json_spirit::mValue const& _v); void push(json_spirit::mObject& o, std::string const& _n, u256 _v); void push(json_spirit::mArray& a, u256 _v); + u256 doPosts(); json_spirit::mObject exportEnv(); void importEnv(json_spirit::mObject& _o); json_spirit::mObject exportState(); @@ -79,7 +87,7 @@ public: u256 gas; private: - eth::State m_s; + FakeState m_s; eth::Manifest m_ms; }; |