Fabcoin Core  0.16.2
P2P Digital Currency
Public Attributes | List of all members
evm_result Struct Reference

The EVM code execution result. More...

#include <evm.h>

Collaboration diagram for evm_result:
[legend]

Public Attributes

enum evm_result_code code
 The execution result code. More...
 
int64_t gas_left
 The amount of gas left after the execution. More...
 
uint8_t const * output_data
 The reference to output data. More...
 
size_t output_size
 The size of the output data. More...
 
evm_release_result_fn release
 The pointer to the result release implementation. More...
 
Optional

The optional information that EVM is not required to provide.

char const * error_message
 The error message explaining the result code. More...
 
void * internal_memory
 The pointer to EVM-owned memory. More...
 

Detailed Description

The EVM code execution result.

Definition at line 71 of file evm.h.

Member Data Documentation

enum evm_result_code evm_result::code

The execution result code.

Definition at line 73 of file evm.h.

char const* evm_result::error_message

The error message explaining the result code.

Definition at line 99 of file evm.h.

int64_t evm_result::gas_left

The amount of gas left after the execution.

The value is valid only if evm_result::code == EVM_SUCCESS.

Definition at line 78 of file evm.h.

void* evm_result::internal_memory

The pointer to EVM-owned memory.

For EVM internal use.

See also
output_data.

Definition at line 103 of file evm.h.

uint8_t const* evm_result::output_data

The reference to output data.

The memory containing the output data is owned by EVM and is freed with evm_result::release().

Definition at line 82 of file evm.h.

size_t evm_result::output_size

The size of the output data.

Definition at line 85 of file evm.h.

evm_release_result_fn evm_result::release

The pointer to the result release implementation.

This function pointer must be set by the VM implementation and works similary to C++ virtual destructor. Attaching the releaser to the result itself allows VM composition.

Definition at line 92 of file evm.h.


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