Struct evm_core::Machine [−][src]
pub struct Machine { /* fields omitted */ }Expand description
Core execution layer for EVM.
Implementations
impl Machine[src]
impl Machine[src]pub fn memory_mut(&mut self) -> &mut Memory[src]
pub fn memory_mut(&mut self) -> &mut Memory[src]Mutable reference of machine memory.
pub fn position(&self) -> &Result<usize, ExitReason>[src]
pub fn position(&self) -> &Result<usize, ExitReason>[src]Return a reference of the program counter.
pub fn new(
code: Rc<Vec<u8>>,
data: Rc<Vec<u8>>,
stack_limit: usize,
memory_limit: usize
) -> Self[src]
pub fn new(
code: Rc<Vec<u8>>,
data: Rc<Vec<u8>>,
stack_limit: usize,
memory_limit: usize
) -> Self[src]Create a new machine with given code and data.
pub fn exit(&mut self, reason: ExitReason)[src]
pub fn exit(&mut self, reason: ExitReason)[src]Explict exit of the machine. Further step will return error.
pub fn inspect(&self) -> Option<(Opcode, &Stack)>[src]
pub fn inspect(&self) -> Option<(Opcode, &Stack)>[src]Inspect the machine’s next opcode and current stack.
pub fn return_value(&self) -> Vec<u8>[src]
pub fn return_value(&self) -> Vec<u8>[src]Copy and get the return value of the machine, if any.
pub fn run(&mut self) -> Capture<ExitReason, Trap>[src]
pub fn run(&mut self) -> Capture<ExitReason, Trap>[src]Loop stepping the machine, until it stops.