pub enum TraceError {
Show 15 variants OutOfGas, BadJumpDestination, BadInstruction, StackUnderflow, OutOfStack, SubStackUnderflow, OutOfSubStack, InvalidSubEntry, BuiltIn, Internal, MutableCallInStaticContext, InvalidCode, Wasm, OutOfBounds, Reverted,
}
Expand description

Trace evm errors.

Variants

OutOfGas

OutOfGas is returned when transaction execution runs out of gas.

BadJumpDestination

BadJumpDestination is returned when execution tried to move to position that wasn’t marked with JUMPDEST instruction

BadInstruction

BadInstructions is returned when given instruction is not supported

StackUnderflow

StackUnderflow when there is not enough stack elements to execute instruction

OutOfStack

When execution would exceed defined Stack Limit

SubStackUnderflow

When there is not enough subroutine stack elements to return from

OutOfSubStack

When execution would exceed defined subroutine Stack Limit

InvalidSubEntry

When the code walks into a subroutine, that is not allowed

BuiltIn

When builtin contract failed on input data

Internal

Returned on evm internal error. Should never be ignored during development. Likely to cause consensus issues.

MutableCallInStaticContext

When execution tries to modify the state in static context

InvalidCode

When invalid code was attempted to deploy

Wasm

Wasm error

OutOfBounds

Contract tried to access past the return data buffer.

Reverted

Execution has been reverted with REVERT instruction.

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

Decode a value from RLP bytes

Formats the value using the given formatter. Read more

Append a value to the stream

Get rlp-encoded bytes for this instance

Performs the conversion.

Performs the conversion.

Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself. If T::size_of is a constant, consider implementing constant_size as well. Read more

Used to optimize MallocSizeOf implementation for collections like Vec and HashMap to avoid iterating over them unnecessarily. The Self: Sized bound is for object safety. 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

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Method to launch a heapsize measurement with a fresh state. Read more

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)

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.