Struct sputnikvm::Stack
[−]
[src]
pub struct Stack { /* fields omitted */ }
Represents an EVM stack.
Methods
impl Stack
[src]
fn check_pop_push(&self, pop: usize, push: usize) -> Result<(), OnChainError>
[src]
Check a pop-push cycle. If the check succeeded, push
, pop
,
set
, peek
within the limit should not fail.
fn push(&mut self, elem: M256) -> Result<(), OnChainError>
[src]
Push a new value to the stack.
fn pop(&mut self) -> Result<M256, OnChainError>
[src]
Pop a value from the stack.
fn set(&mut self, no_from_top: usize, val: M256) -> Result<(), OnChainError>
[src]
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.
fn peek(&self, no_from_top: usize) -> Result<M256, OnChainError>
[src]
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.
fn len(&self) -> usize
[src]
Get the current stack length.