EVMC
|
Wrapper around EVMC host context / host interface. More...
#include <evmc.hpp>
Public Member Functions | |
HostContext ()=default | |
Default constructor for null Host context. | |
HostContext (const evmc_host_interface &interface, evmc_host_context *ctx) noexcept | |
Constructor from the EVMC Host primitives. | |
bool | account_exists (const address &address) const noexcept final |
Check account existence callback function. | |
bytes32 | get_storage (const address &address, const bytes32 &key) const noexcept final |
Get storage callback function. | |
evmc_storage_status | set_storage (const address &address, const bytes32 &key, const bytes32 &value) noexcept final |
Set storage callback function. | |
uint256be | get_balance (const address &address) const noexcept final |
Get balance callback function. | |
size_t | get_code_size (const address &address) const noexcept final |
Get code size callback function. | |
bytes32 | get_code_hash (const address &address) const noexcept final |
Get code hash callback function. | |
size_t | copy_code (const address &address, size_t code_offset, uint8_t *buffer_data, size_t buffer_size) const noexcept final |
Copy code callback function. | |
bool | selfdestruct (const address &addr, const address &beneficiary) noexcept final |
Selfdestruct callback function. | |
Result | call (const evmc_message &message) noexcept final |
Call callback function. | |
evmc_tx_context | get_tx_context () const noexcept final |
Get transaction context callback function. | |
bytes32 | get_block_hash (int64_t number) const noexcept final |
Get block hash callback function. | |
void | emit_log (const address &addr, const uint8_t *data, size_t data_size, const bytes32 topics[], size_t topics_count) noexcept final |
Emit log callback function. | |
evmc_access_status | access_account (const address &address) noexcept final |
Access account callback function. | |
evmc_access_status | access_storage (const address &address, const bytes32 &key) noexcept final |
Access storage callback function. | |
bytes32 | get_transient_storage (const address &address, const bytes32 &key) const noexcept final |
Get transient storage callback function. | |
void | set_transient_storage (const address &address, const bytes32 &key, const bytes32 &value) noexcept final |
Set transient storage callback function. | |
virtual bool | account_exists (const address &addr) const noexcept=0 |
Check account existence callback function. | |
virtual bytes32 | get_storage (const address &addr, const bytes32 &key) const noexcept=0 |
Get storage callback function. | |
virtual evmc_storage_status | set_storage (const address &addr, const bytes32 &key, const bytes32 &value) noexcept=0 |
Set storage callback function. | |
virtual uint256be | get_balance (const address &addr) const noexcept=0 |
Get balance callback function. | |
virtual size_t | get_code_size (const address &addr) const noexcept=0 |
Get code size callback function. | |
virtual bytes32 | get_code_hash (const address &addr) const noexcept=0 |
Get code hash callback function. | |
virtual size_t | copy_code (const address &addr, size_t code_offset, uint8_t *buffer_data, size_t buffer_size) const noexcept=0 |
Copy code callback function. | |
virtual bool | selfdestruct (const address &addr, const address &beneficiary) noexcept=0 |
Selfdestruct callback function. | |
virtual Result | call (const evmc_message &msg) noexcept=0 |
Call callback function. | |
virtual evmc_tx_context | get_tx_context () const noexcept=0 |
Get transaction context callback function. | |
virtual bytes32 | get_block_hash (int64_t block_number) const noexcept=0 |
Get block hash callback function. | |
virtual void | emit_log (const address &addr, const uint8_t *data, size_t data_size, const bytes32 topics[], size_t num_topics) noexcept=0 |
Emit log callback function. | |
virtual evmc_access_status | access_account (const address &addr) noexcept=0 |
Access account callback function. | |
virtual evmc_access_status | access_storage (const address &addr, const bytes32 &key) noexcept=0 |
Access storage callback function. | |
virtual bytes32 | get_transient_storage (const address &addr, const bytes32 &key) const noexcept=0 |
Get transient storage callback function. | |
virtual void | set_transient_storage (const address &addr, const bytes32 &key, const bytes32 &value) noexcept=0 |
Set transient storage callback function. | |
Wrapper around EVMC host context / host interface.
To be used by VM implementations as better alternative to using evmc_host_context directly.
|
inlinenoexcept |
|
inlinefinalvirtualnoexcept |
Access account callback function.
Implements evmc::HostInterface.
Definition at line 591 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Access storage callback function.
Implements evmc::HostInterface.
Definition at line 596 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Check account existence callback function.
Implements evmc::HostInterface.
Definition at line 524 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Call callback function.
Implements evmc::HostInterface.
Definition at line 569 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Copy code callback function.
Implements evmc::HostInterface.
|
inlinefinalvirtualnoexcept |
Emit log callback function.
Implements evmc::HostInterface.
Definition at line 582 of file evmc.hpp.
Get balance callback function.
Implements evmc::HostInterface.
|
inlinefinalvirtualnoexcept |
Get block hash callback function.
Implements evmc::HostInterface.
Definition at line 577 of file evmc.hpp.
Get code hash callback function.
Implements evmc::HostInterface.
Definition at line 551 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Get code size callback function.
Implements evmc::HostInterface.
Definition at line 546 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Get storage callback function.
Implements evmc::HostInterface.
|
inlinefinalvirtualnoexcept |
Get transient storage callback function.
Implements evmc::HostInterface.
Definition at line 601 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Get transaction context callback function.
Implements evmc::HostInterface.
Definition at line 575 of file evmc.hpp.
|
inlinefinalvirtualnoexcept |
Selfdestruct callback function.
Implements evmc::HostInterface.
|
inlinefinalvirtualnoexcept |
Set storage callback function.
Implements evmc::HostInterface.
|
inlinefinalvirtualnoexcept |
Set transient storage callback function.
Implements evmc::HostInterface.
Definition at line 606 of file evmc.hpp.