EVMC
|
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Classes | |
struct | evmc_bytes32 |
The fixed size array of 32 bytes. More... | |
struct | evmc_address |
Big-endian 160-bit hash suitable for keeping an Ethereum address. More... | |
struct | evmc_message |
The message describing an EVM call, including a zero-depth calls from a transaction origin. More... | |
struct | evmc_tx_initcode |
The hashed initcode used for TXCREATE instruction. More... | |
struct | evmc_tx_context |
The transaction and block data for execution. More... | |
struct | evmc_result |
The EVM code execution result. More... | |
struct | evmc_host_interface |
The Host interface. More... | |
struct | evmc_vm |
The VM instance. More... | |
Typedefs | |
typedef struct evmc_bytes32 | evmc_bytes32 |
The fixed size array of 32 bytes. | |
typedef struct evmc_bytes32 | evmc_uint256be |
The alias for evmc_bytes32 to represent a big-endian 256-bit integer. | |
typedef struct evmc_address | evmc_address |
Big-endian 160-bit hash suitable for keeping an Ethereum address. | |
typedef struct evmc_tx_initcode | evmc_tx_initcode |
The hashed initcode used for TXCREATE instruction. | |
typedef struct evmc_tx_context(* | evmc_get_tx_context_fn) (struct evmc_host_context *context) |
Get transaction context callback function. | |
typedef evmc_bytes32(* | evmc_get_block_hash_fn) (struct evmc_host_context *context, int64_t number) |
Get block hash callback function. | |
typedef void(* | evmc_release_result_fn) (const struct evmc_result *result) |
Releases resources assigned to an execution result. | |
typedef bool(* | evmc_account_exists_fn) (struct evmc_host_context *context, const evmc_address *address) |
Check account existence callback function. | |
typedef evmc_bytes32(* | evmc_get_storage_fn) (struct evmc_host_context *context, const evmc_address *address, const evmc_bytes32 *key) |
Get storage callback function. | |
typedef evmc_bytes32(* | evmc_get_transient_storage_fn) (struct evmc_host_context *context, const evmc_address *address, const evmc_bytes32 *key) |
Get transient storage callback function. | |
typedef enum evmc_storage_status(* | evmc_set_storage_fn) (struct evmc_host_context *context, const evmc_address *address, const evmc_bytes32 *key, const evmc_bytes32 *value) |
Set storage callback function. | |
typedef void(* | evmc_set_transient_storage_fn) (struct evmc_host_context *context, const evmc_address *address, const evmc_bytes32 *key, const evmc_bytes32 *value) |
Set transient storage callback function. | |
typedef evmc_uint256be(* | evmc_get_balance_fn) (struct evmc_host_context *context, const evmc_address *address) |
Get balance callback function. | |
typedef size_t(* | evmc_get_code_size_fn) (struct evmc_host_context *context, const evmc_address *address) |
Get code size callback function. | |
typedef evmc_bytes32(* | evmc_get_code_hash_fn) (struct evmc_host_context *context, const evmc_address *address) |
Get code hash callback function. | |
typedef size_t(* | evmc_copy_code_fn) (struct evmc_host_context *context, const evmc_address *address, size_t code_offset, uint8_t *buffer_data, size_t buffer_size) |
Copy code callback function. | |
typedef bool(* | evmc_selfdestruct_fn) (struct evmc_host_context *context, const evmc_address *address, const evmc_address *beneficiary) |
Selfdestruct callback function. | |
typedef void(* | evmc_emit_log_fn) (struct evmc_host_context *context, const evmc_address *address, const uint8_t *data, size_t data_size, const evmc_bytes32 topics[], size_t topics_count) |
Log callback function. | |
typedef enum evmc_access_status(* | evmc_access_account_fn) (struct evmc_host_context *context, const evmc_address *address) |
Access account callback function. | |
typedef enum evmc_access_status(* | evmc_access_storage_fn) (struct evmc_host_context *context, const evmc_address *address, const evmc_bytes32 *key) |
Access storage callback function. | |
typedef struct evmc_result(* | evmc_call_fn) (struct evmc_host_context *context, const struct evmc_message *msg) |
Pointer to the callback function supporting EVM calls. | |
typedef void(* | evmc_destroy_fn) (struct evmc_vm *vm) |
Destroys the VM instance. | |
typedef enum evmc_set_option_result(* | evmc_set_option_fn) (struct evmc_vm *vm, char const *name, char const *value) |
Configures the VM instance. | |
typedef struct evmc_result(* | evmc_execute_fn) (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) |
Executes the given code using the input from the message. | |
typedef uint32_t | evmc_capabilities_flagset |
Alias for unsigned integer representing a set of bit flags of EVMC capabilities. | |
typedef evmc_capabilities_flagset(* | evmc_get_capabilities_fn) (struct evmc_vm *vm) |
Return the supported capabilities of the VM instance. | |
Functions | |
struct evmc_vm * | evmc_create_example_vm (void) |
Example of a function creating an instance of an example EVM implementation. | |
EVMC: Ethereum Client-VM Connector API.
Definition in file evmc.h.