Options
All
  • Public
  • Public/Protected
  • All
Menu

Enumeration EvmcStatusCode

Index

Enumeration members

EVMC_BAD_JUMP_DESTINATION

EVMC_BAD_JUMP_DESTINATION: = 8

Execution has violated the jump destination restrictions.

EVMC_CALL_DEPTH_EXCEEDED

EVMC_CALL_DEPTH_EXCEEDED: = 10

Call depth has exceeded the limit (if any)

EVMC_CONTRACT_VALIDATION_FAILURE

EVMC_CONTRACT_VALIDATION_FAILURE: = 13

Contract validation has failed (e.g. due to EVM 1.5 jump validity, Casper's purity checker or ewasm contract rules).

EVMC_FAILURE

EVMC_FAILURE: = 1

Generic execution failure.

EVMC_INTERNAL_ERROR

EVMC_INTERNAL_ERROR: = -1

EVM implementation generic internal error.

EVMC_INVALID_INSTRUCTION

EVMC_INVALID_INSTRUCTION: = 4

The designated INVALID instruction has been hit during execution.

The EIP-141 (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-141.md) defines the instruction 0xfe as INVALID instruction to indicate execution abortion coming from high-level languages. This status code is reported in case this INVALID instruction has been encountered.

EVMC_INVALID_MEMORY_ACCESS

EVMC_INVALID_MEMORY_ACCESS: = 9

Tried to read outside memory bounds.

An example is RETURNDATACOPY reading past the available buffer.

EVMC_OUT_OF_GAS

EVMC_OUT_OF_GAS: = 3

The execution has run out of gas.

EVMC_PRECOMPILE_FAILURE

EVMC_PRECOMPILE_FAILURE: = 12

A call to a precompiled or system contract has ended with a failure.

An example: elliptic curve functions handed invalid EC points.

EVMC_REJECTED

EVMC_REJECTED: = -2

The execution of the given code and/or message has been rejected by the EVM implementation.

This error SHOULD be used to signal that the EVM is not able to or willing to execute the given code type or message. If an EVM returns the ::EVMC_REJECTED status code, the Client MAY try to execute it in other EVM implementation. For example, the Client tries running a code in the EVM 1.5. If the code is not supported there, the execution falls back to the EVM 1.0.

EVMC_REVERT

EVMC_REVERT: = 2

Execution terminated with REVERT opcode.

In this case the amount of gas left MAY be non-zero and additional output data MAY be provided in ::evmc_result.

EVMC_STACK_OVERFLOW

EVMC_STACK_OVERFLOW: = 6

The execution has attempted to put more items on the EVM stack than the specified limit.

EVMC_STACK_UNDERFLOW

EVMC_STACK_UNDERFLOW: = 7

Execution of an opcode has required more items on the EVM stack.

EVMC_STATIC_MODE_VIOLATION

EVMC_STATIC_MODE_VIOLATION: = 11

Tried to execute an operation which is restricted in static mode.

EVMC_SUCCESS

EVMC_SUCCESS: = 0

Execution finished with success.

EVMC_UNDEFINED_INSTRUCTION

EVMC_UNDEFINED_INSTRUCTION: = 5

An undefined instruction has been encountered.

Generated using TypeDoc