Enum evmodin::StatusCode[][src]

pub enum StatusCode {
Show 17 variants Success, Failure, Revert, OutOfGas, InvalidInstruction, UndefinedInstruction, StackOverflow, StackUnderflow, BadJumpDestination, InvalidMemoryAccess, CallDepthExceeded, StaticModeViolation, PrecompileFailure, ContractValidationFailure, ArgumentOutOfRange, InsufficientBalance, InternalError(String),
}
Expand description

Message status code.

Variants

Success

Execution finished with success.

Failure

Generic execution failure.

Revert

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.

OutOfGas

The execution has run out of gas.

InvalidInstruction

The designated INVALID instruction has been hit during execution.

EIP-141 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.

UndefinedInstruction

An undefined instruction has been encountered.

StackOverflow

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

StackUnderflow

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

BadJumpDestination

Execution has violated the jump destination restrictions.

InvalidMemoryAccess

Tried to read outside memory bounds.

An example is RETURNDATACOPY reading past the available buffer.

CallDepthExceeded

Call depth has exceeded the limit (if any)

StaticModeViolation

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

PrecompileFailure

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

An example: elliptic curve functions handed invalid EC points.

ContractValidationFailure

Contract validation has failed.

ArgumentOutOfRange

An argument to a state accessing method has a value outside of the accepted range of values.

InsufficientBalance

The caller does not have enough funds for value transfer.

InternalError(String)

EVM implementation generic internal error.

Tuple Fields of InternalError

0: String

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.