aboutsummaryrefslogtreecommitdiffstats
path: root/vm.h
diff options
context:
space:
mode:
Diffstat (limited to 'vm.h')
-rw-r--r--vm.h89
1 files changed, 0 insertions, 89 deletions
diff --git a/vm.h b/vm.h
deleted file mode 100644
index 1c0190b6..00000000
--- a/vm.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-This file is part of cpp-ethereum.
-
-cpp-ethereum is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-cpp-ethereum is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
-*/
-/** @file vm.h
- * @author Christoph Jentzsch <jentzsch.simulationsoftware@gmail.com>
- * @author Gav Wood <i@gavwood.com>
- * @date 2014
- * vm test functions.
- */
-
-#pragma once
-
-#include <fstream>
-#include <cstdint>
-
-#include <boost/test/unit_test.hpp>
-
-#include <json_spirit/json_spirit.h>
-#include <libdevcore/Log.h>
-#include <libdevcore/CommonIO.h>
-#include <libevmcore/Instruction.h>
-#include <libevm/ExtVMFace.h>
-#include <libevm/VM.h>
-#include <liblll/Compiler.h>
-#include <libethereum/Transaction.h>
-#include <libethereum/ExtVM.h>
-#include <libethereum/State.h>
-#include "TestHelper.h"
-
-namespace dev { namespace test {
-
-struct FakeExtVMFailure : virtual Exception {};
-
-class FakeExtVM: public eth::ExtVMFace
-{
-public:
- FakeExtVM() = default;
- FakeExtVM(eth::BlockInfo const& _previousBlock, eth::BlockInfo const& _currentBlock, unsigned _depth = 0);
-
- 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 subBalance(u256 _a) override { std::get<0>(addresses[myAddress]) -= _a; }
- virtual u256 txCount(Address _a) override { return std::get<1>(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 h160 create(u256 _endowment, u256& io_gas, bytesConstRef _init, eth::OnOpFunc const&) override;
- virtual bool call(Address _receiveAddress, u256 _value, bytesConstRef _data, u256& io_gas, bytesRef _out, eth::OnOpFunc const&, Address, Address) override;
- void setTransaction(Address _caller, u256 _value, u256 _gasPrice, bytes const& _data);
- void setContract(Address _myAddress, u256 _myBalance, u256 _myNonce, std::map<u256, u256> const& _storage, bytes const& _code);
- void set(Address _a, u256 _myBalance, u256 _myNonce, std::map<u256, u256> const& _storage, bytes const& _code);
- void reset(u256 _myBalance, u256 _myNonce, std::map<u256, u256> const& _storage);
- 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();
- void importState(json_spirit::mObject& _object);
- json_spirit::mObject exportExec();
- void importExec(json_spirit::mObject& _o);
- json_spirit::mArray exportCallCreates();
- void importCallCreates(json_spirit::mArray& _callcreates);
-
- eth::OnOpFunc simpleTrace();
-
- std::map<Address, std::tuple<u256, u256, std::map<u256, u256>, bytes>> addresses;
- eth::Transactions callcreates;
- bytes thisTxData;
- bytes thisTxCode;
- u256 gas;
-};
-
-
-} } // Namespace Close