Program Listing for File error_codes.h#
↰ Return to documentation for file (src/error_codes.h
)
#ifndef _EVM_ERRORCODES_H_
#define _EVM_ERRORCODES_H_
// error codes
#define ERR_NONE 0x00
#define ERR_SUCCESS 0x00
#define ERR_RETURN 0x01
#define ERR_REVERT 0x02
// stack codes
#define ERR_STACK_UNDERFLOW 0x03
#define ERR_STACK_OVERFLOW 0x04
#define ERR_STACK_INVALID_SIZE 0x05
#define ERR_STACK_INVALID_INDEX 0x06
// arithmetic codes
#define ERR_INVALID_ZERO_DIVIDE 0x07
#define ERR_INVALID_MODULUS 0x08
// global storage error codes
#define ERR_STATE_INVALID_ADDRESS 0x09
#define ERR_STATE_INVALID_KEY 0x0A
// operation not implemented
#define ERR_NOT_IMPLEMENTED 0x0B
// EVM error codes
#define ERR_MAX_DEPTH_EXCEEDED 0x0C
// block error codes
#define ERR_BLOCK_INVALID_NUMBER 0x0D
// message error codes
#define ERR_MESSAGE_INVALID_INDEX 0x0E
// memory error codes
#define ERR_MEMEORY_INVALID_INDEX 0x0F
#define ERR_MEMORY_INVALID_ALLOCATION 0x10
#define ERR_MEMORY_INVALID_OFFSET 0x16
// execution codes
#define ERR_INVALID_JUMP_DESTINATION 0x11
// static call error
#define ERR_STATIC_CALL_CONTEXT 0x14
// gas
#define ERR_OUT_OF_GAS 0x15
// transaction
#define ERROR_TRANSACTION_TYPE 0x17
#define ERROR_TRANSACTION_SENDER_EMPTY 0x18
#define ERROR_TRANSACTION_SENDER_CODE 0x19
#define ERROR_TRANSACTION_NONCE 0x1A
#define ERROR_TRANSACTION_GAS 0x1B
#define ERROR_TRANSACTION_SENDER_BALANCE 0x1C
#define ERROR_TRANSACTION_GAS_PRICE 0x1D
#define ERROR_TRANSACTION_GAS_PRIORITY 0x1E
#define ERROR_TRANSACTION_BLOCK_GAS_LIMIT 0x1F
// message calls
#define ERROR_MESSAGE_CALL_SENDER_BALANCE 0x20
#define ERROR_MESSAGE_CALL_CREATE_CONTRACT_EXISTS 0x31
#define ERROR_MESSAGE_CALL_DEPTH_EXCEEDED 0x32
// gas
#define ERROR_GAS_LIMIT_EXCEEDED 0x21
// stack
#define ERROR_STACK_INVALID_PUSHX_X 0x22
#define ERROR_STACK_INVALID_DUPX_X 0x23
// return data errors
#define ERROR_RETURN_DATA_INVALID_SIZE 0x24
#define ERROR_RETURN_DATA_OVERFLOW 0x25
// static call erorr
#define ERROR_STATIC_CALL_CONTEXT_CALL_VALUE 0x26
#define ERROR_STATIC_CALL_CONTEXT_SSTORE 0x27
#define ERROR_STATIC_CALL_CONTEXT_CREATE 0x28
#define ERROR_STATIC_CALL_CONTEXT_LOG 0x29
#define ERROR_STATIC_CALL_CONTEXT_SELFDESTRUCT 0x2A
#define ERROR_STATIC_CALL_CONTEXT_CREATE2 0x2B
// EVM error codes
#define ERROR_MAX_DEPTH_EXCEEDED 0x0C
// CREATE errors
#define ERROR_CREATE2_ADDRESS_ALREADY_EXISTS 0x30
#define ERROR_CREATE_INIT_CODE_SIZE_EXCEEDED 0x33
#define ERROR_CREATE_CODE_SIZE_EXCEEDED 0x34
#define ERROR_CREATE_CODE_FIRST_BYTE_INVALID 0x35
#endif