pub struct Machine<S> {
pub retval: Vec<u8>,
pub memory: Memory,
pub stack: Stack,
pub state: S,
/* private fields */
}
Expand description
Core execution layer for EVM.
Fields§
§retval: Vec<u8>
Return value. Note the difference between retbuf
.
A retval
holds what’s returned by the current machine, with RETURN
or REVERT
opcode.
A retbuf
holds the buffer of returned value by sub-calls.
memory: Memory
Memory.
stack: Stack
Stack.
state: S
Extra state,
Implementations§
Trait Implementations§
Source§impl<'etable, S, ES> AsMut<Machine<S>> for EtableInterpreter<'etable, S, ES>
impl<'etable, S, ES> AsMut<Machine<S>> for EtableInterpreter<'etable, S, ES>
Auto Trait Implementations§
impl<S> Freeze for Machine<S>where
S: Freeze,
impl<S> RefUnwindSafe for Machine<S>where
S: RefUnwindSafe,
impl<S> !Send for Machine<S>
impl<S> !Sync for Machine<S>
impl<S> Unpin for Machine<S>where
S: Unpin,
impl<S> UnwindSafe for Machine<S>where
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> TrapConsume<T> for T
impl<T> TrapConsume<T> for T
Source§type Rest = Infallible
type Rest = Infallible
Rest type.
Source§fn consume(self) -> Result<T, Infallible>
fn consume(self) -> Result<T, Infallible>
Consume
T
to get Rest
.