Struct evm::State
[−]
[src]
pub struct State<M, P: Patch> { pub memory: M, pub stack: Stack, pub context: Context, pub out: Rc<Vec<u8>>, pub memory_cost: Gas, pub used_gas: Gas, pub refunded_gas: Gas, pub account_state: AccountState<P::Account>, pub logs: Vec<Log>, pub removed: Vec<Address>, pub depth: usize, pub valids: Valids, pub position: usize, }
A VM state without PC.
Fields
memory: M
Memory of this runtime.
stack: Stack
Stack of this runtime.
context: Context
Context.
out: Rc<Vec<u8>>
The current out value.
memory_cost: Gas
The current memory cost. Note that this is different from memory gas.
used_gas: Gas
Used gas excluding memory gas.
refunded_gas: Gas
Refunded gas.
account_state: AccountState<P::Account>
The current account commitment states.
logs: Vec<Log>
Logs appended.
removed: Vec<Address>
Removed accounts using the SUICIDE opcode.
depth: usize
Depth of this runtime.
valids: Valids
Code valid maps.
position: usize
PC position.
Methods
impl<M, P: Patch> State<M, P>
[src]
fn memory_gas(&self) -> Gas
[src]
Memory gas, part of total used gas.
fn available_gas(&self) -> Gas
[src]
Available gas at this moment.
fn total_used_gas(&self) -> Gas
[src]
Total used gas including the memory gas.