Executing contract calls via EVMC
How to use AppLayer's EVM directly to call contracts.
static inline struct evmc_result evmc_execute(
struct evmc_vm* vm, const struct evmc_host_interface* host,
struct evmc_host_context* context, enum evmc_revision rev,
const struct evmc_message* msg, uint8_t const* code, size_t code_size
);struct evmc_host_interface {
evmc_account_exists_fn account_exists;
evmc_get_storage_fn get_storage;
evmc_set_storage_fn set_storage;
evmc_get_balance_fn get_balance;
evmc_get_code_size_fn get_code_size;
evmc_get_code_hash_fn get_code_hash;
evmc_copy_code_fn copy_code;
evmc_selfdestruct_fn selfdestruct;
evmc_call_fn call;
evmc_get_tx_context_fn get_tx_context;
evmc_get_block_hash_fn get_block_hash;
evmc_emit_log_fn emit_log;
evmc_access_account_fn access_account;
evmc_access_storage_fn access_storage;
evmc_get_transient_storage_fn get_transient_storage;
evmc_set_transient_storage_fn set_transient_storage;
};Last updated