@@ -40,8 +40,25 @@ using StorageMap = std::map<evmc::bytes32, evmc::storage_value>;
40
40
class EVMHost : public evmc ::MockedHost
41
41
{
42
42
public:
43
- using MockedHost::get_code_size;
43
+ // Verbatim features of MockedHost.
44
+ using MockedHost::account_exists;
45
+ using MockedHost::get_storage;
46
+ using MockedHost::set_storage;
44
47
using MockedHost::get_balance;
48
+ using MockedHost::get_code_size;
49
+ using MockedHost::get_code_hash;
50
+ using MockedHost::copy_code;
51
+ using MockedHost::get_tx_context;
52
+ using MockedHost::emit_log;
53
+ using MockedHost::access_account;
54
+ using MockedHost::access_storage;
55
+
56
+ // Modified features of MockedHost.
57
+ void selfdestruct (evmc::address const & _addr, evmc::address const & _beneficiary) noexcept final ;
58
+ evmc::result call (evmc_message const & _message) noexcept final ;
59
+ evmc::bytes32 get_block_hash (int64_t number) const noexcept final ;
60
+
61
+ // Solidity testing specific features.
45
62
46
63
// / Tries to dynamically load an evmc vm supporting evm1 or ewasm and caches the loaded VM.
47
64
// / @returns vmc::VM(nullptr) on failure.
@@ -71,28 +88,10 @@ class EVMHost: public evmc::MockedHost
71
88
// / @returns contents of storage at @param _addr.
72
89
StorageMap const & get_address_storage (evmc::address const & _addr);
73
90
74
- bool account_exists (evmc::address const & _addr) const noexcept final
75
- {
76
- return evmc::MockedHost::account_exists (_addr);
77
- }
78
-
79
- void selfdestruct (evmc::address const & _addr, evmc::address const & _beneficiary) noexcept final ;
80
-
81
- evmc::result call (evmc_message const & _message) noexcept final ;
82
-
83
- evmc::bytes32 get_block_hash (int64_t number) const noexcept final ;
84
-
85
91
static Address convertFromEVMC (evmc::address const & _addr);
86
92
static evmc::address convertToEVMC (Address const & _addr);
87
93
static util::h256 convertFromEVMC (evmc::bytes32 const & _data);
88
94
static evmc::bytes32 convertToEVMC (util::h256 const & _data);
89
-
90
- // / @returns true, if the evmc VM has the given capability.
91
- bool hasCapability (evmc_capabilities capability) const noexcept
92
- {
93
- return m_vm.has_capability (capability);
94
- }
95
-
96
95
private:
97
96
evmc::address m_currentAddress = {};
98
97
0 commit comments