EVMC
evmc_host_interface Struct Reference

The Host interface. More...

#include <evmc.h>

Public Attributes

evmc_account_exists_fn account_exists
 Check account existence callback function.
 
evmc_get_storage_fn get_storage
 Get storage callback function.
 
evmc_set_storage_fn set_storage
 Set storage callback function.
 
evmc_get_balance_fn get_balance
 Get balance callback function.
 
evmc_get_code_size_fn get_code_size
 Get code size callback function.
 
evmc_get_code_hash_fn get_code_hash
 Get code hash callback function.
 
evmc_copy_code_fn copy_code
 Copy code callback function.
 
evmc_selfdestruct_fn selfdestruct
 Selfdestruct callback function.
 
evmc_call_fn call
 Call callback function.
 
evmc_get_tx_context_fn get_tx_context
 Get transaction context callback function.
 
evmc_get_block_hash_fn get_block_hash
 Get block hash callback function.
 
evmc_emit_log_fn emit_log
 Emit log callback function.
 
evmc_access_account_fn access_account
 Access account callback function.
 
evmc_access_storage_fn access_storage
 Access storage callback function.
 
evmc_get_transient_storage_fn get_transient_storage
 Get transient storage callback function.
 
evmc_set_transient_storage_fn set_transient_storage
 Set transient storage callback function.
 

Detailed Description

The Host interface.

The set of all callback functions expected by VM instances. This is C realisation of vtable for OOP interface (only virtual methods, no data). Host implementations SHOULD create constant singletons of this (similarly to vtables) to lower the maintenance and memory management cost.

Definition at line 844 of file evmc.h.

Member Data Documentation

◆ access_account

evmc_access_account_fn evmc_host_interface::access_account

Access account callback function.

Definition at line 883 of file evmc.h.

◆ access_storage

evmc_access_storage_fn evmc_host_interface::access_storage

Access storage callback function.

Definition at line 886 of file evmc.h.

◆ account_exists

evmc_account_exists_fn evmc_host_interface::account_exists

Check account existence callback function.

Definition at line 847 of file evmc.h.

◆ call

evmc_call_fn evmc_host_interface::call

Call callback function.

Definition at line 871 of file evmc.h.

◆ copy_code

evmc_copy_code_fn evmc_host_interface::copy_code

Copy code callback function.

Definition at line 865 of file evmc.h.

◆ emit_log

evmc_emit_log_fn evmc_host_interface::emit_log

Emit log callback function.

Definition at line 880 of file evmc.h.

◆ get_balance

evmc_get_balance_fn evmc_host_interface::get_balance

Get balance callback function.

Definition at line 856 of file evmc.h.

◆ get_block_hash

evmc_get_block_hash_fn evmc_host_interface::get_block_hash

Get block hash callback function.

Definition at line 877 of file evmc.h.

◆ get_code_hash

evmc_get_code_hash_fn evmc_host_interface::get_code_hash

Get code hash callback function.

Definition at line 862 of file evmc.h.

◆ get_code_size

evmc_get_code_size_fn evmc_host_interface::get_code_size

Get code size callback function.

Definition at line 859 of file evmc.h.

◆ get_storage

evmc_get_storage_fn evmc_host_interface::get_storage

Get storage callback function.

Definition at line 850 of file evmc.h.

◆ get_transient_storage

evmc_get_transient_storage_fn evmc_host_interface::get_transient_storage

Get transient storage callback function.

Definition at line 889 of file evmc.h.

◆ get_tx_context

evmc_get_tx_context_fn evmc_host_interface::get_tx_context

Get transaction context callback function.

Definition at line 874 of file evmc.h.

◆ selfdestruct

evmc_selfdestruct_fn evmc_host_interface::selfdestruct

Selfdestruct callback function.

Definition at line 868 of file evmc.h.

◆ set_storage

evmc_set_storage_fn evmc_host_interface::set_storage

Set storage callback function.

Definition at line 853 of file evmc.h.

◆ set_transient_storage

evmc_set_transient_storage_fn evmc_host_interface::set_transient_storage

Set transient storage callback function.

Definition at line 892 of file evmc.h.


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