Struct revm_interpreter::Stack

source ·
pub struct Stack { /* private fields */ }
Expand description

EVM stack.

Implementations§

Create a new stack with given limit.

Stack length.

Whether the stack is empty.

Stack data.

Pop a value from the stack. If the stack is already empty, returns the StackUnderflow error.

Pops a value from the stack, returning it.

Safety

The caller is responsible to check length of array

Peeks the top of the stack.

Safety

The caller is responsible to check length of array

Pop the topmost value, returning the value and the new topmost value.

Safety

The caller is responsible to check length of array

Pops 2 values from the stack and returns them, in addition to the new topmost value.

Safety

The caller is responsible to check length of array

Pops 2 values from the stack.

Safety

The caller is responsible to check length of array

Pops 3 values from the stack.

Safety

The caller is responsible to check length of array

Pops 4 values from the stack.

Safety

The caller is responsible to check length of array

Push a new value into the stack. If it will exceed the stack limit, returns StackOverflow error and leaves the stack unchanged.

Push a new value into the stack. If it will exceed the stack limit, returns StackOverflow error and leaves the stack unchanged.

Peek a value at given index for the stack, where the top of the stack is at index 0. If the index is too large, StackError::Underflow is returned.

push slice onto memory it is expected to be max 32 bytes and be contains inside B256

Set a value at given index for the stack, where the top of the stack is at index 0. If the index is too large, StackError::Underflow is returned.

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
Returns the “default value” for a type. 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 ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

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
Checks if this value is equivalent to the given key. 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.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
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.