EVMC
evmc::HostInterface Class Referenceabstract

The EVMC Host interface. More...

#include <evmc.hpp>

Inheritance diagram for evmc::HostInterface:
evmc::Host evmc::HostContext evmc::MockedHost

Public Member Functions

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.
 

Detailed Description

The EVMC Host interface.

Definition at line 441 of file evmc.hpp.

Member Function Documentation

◆ access_account()

virtual evmc_access_status evmc::HostInterface::access_account ( const address addr)
pure virtualnoexcept

Access account callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ access_storage()

virtual evmc_access_status evmc::HostInterface::access_storage ( const address addr,
const bytes32 key 
)
pure virtualnoexcept

Access storage callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ account_exists()

virtual bool evmc::HostInterface::account_exists ( const address addr) const
pure virtualnoexcept

Check account existence callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ call()

virtual Result evmc::HostInterface::call ( const evmc_message msg)
pure virtualnoexcept

Call callback function.

Implemented in evmc::HostContext, and evmc::MockedHost.

◆ copy_code()

virtual size_t evmc::HostInterface::copy_code ( const address addr,
size_t  code_offset,
uint8_t *  buffer_data,
size_t  buffer_size 
) const
pure virtualnoexcept

Copy code callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ emit_log()

virtual void evmc::HostInterface::emit_log ( const address addr,
const uint8_t *  data,
size_t  data_size,
const bytes32  topics[],
size_t  num_topics 
)
pure virtualnoexcept

Emit log callback function.

Implemented in evmc::HostContext, and evmc::MockedHost.

◆ get_balance()

virtual uint256be evmc::HostInterface::get_balance ( const address addr) const
pure virtualnoexcept

Get balance callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ get_block_hash()

virtual bytes32 evmc::HostInterface::get_block_hash ( int64_t  block_number) const
pure virtualnoexcept

Get block hash callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ get_code_hash()

virtual bytes32 evmc::HostInterface::get_code_hash ( const address addr) const
pure virtualnoexcept

Get code hash callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ get_code_size()

virtual size_t evmc::HostInterface::get_code_size ( const address addr) const
pure virtualnoexcept

Get code size callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ get_storage()

virtual bytes32 evmc::HostInterface::get_storage ( const address addr,
const bytes32 key 
) const
pure virtualnoexcept

Get storage callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ get_transient_storage()

virtual bytes32 evmc::HostInterface::get_transient_storage ( const address addr,
const bytes32 key 
) const
pure virtualnoexcept

Get transient storage callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ get_tx_context()

virtual evmc_tx_context evmc::HostInterface::get_tx_context ( ) const
pure virtualnoexcept

Get transaction context callback function.

Implemented in evmc::HostContext, and evmc::MockedHost.

◆ selfdestruct()

virtual bool evmc::HostInterface::selfdestruct ( const address addr,
const address beneficiary 
)
pure virtualnoexcept

Selfdestruct callback function.

Implemented in evmc::HostContext, and evmc::MockedHost.

◆ set_storage()

virtual evmc_storage_status evmc::HostInterface::set_storage ( const address addr,
const bytes32 key,
const bytes32 value 
)
pure virtualnoexcept

Set storage callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.

◆ set_transient_storage()

virtual void evmc::HostInterface::set_transient_storage ( const address addr,
const bytes32 key,
const bytes32 value 
)
pure virtualnoexcept

Set transient storage callback function.

Implemented in evmc::MockedHost, and evmc::HostContext.


The documentation for this class was generated from the following file: