Struct zk_evm::vm_state::VmLocalState
source · pub struct VmLocalState<const N: usize = 8, E: VmEncodingMode<N> = EncodingModeProduction> {Show 15 fields
pub previous_code_word: U256,
pub previous_code_memory_page: MemoryPage,
pub registers: [PrimitiveValue; 15],
pub flags: Flags,
pub timestamp: u32,
pub monotonic_cycle_counter: u32,
pub spent_pubdata_counter: u32,
pub memory_page_counter: u32,
pub absolute_execution_step: u32,
pub current_ergs_per_pubdata_byte: u32,
pub tx_number_in_block: u16,
pub pending_exception: bool,
pub previous_super_pc: E::PcOrImm,
pub context_u128_register: u128,
pub callstack: Callstack<N, E>,
}
Fields§
§previous_code_word: U256
§previous_code_memory_page: MemoryPage
§registers: [PrimitiveValue; 15]
§flags: Flags
§timestamp: u32
§monotonic_cycle_counter: u32
§spent_pubdata_counter: u32
§memory_page_counter: u32
§absolute_execution_step: u32
§current_ergs_per_pubdata_byte: u32
§tx_number_in_block: u16
§pending_exception: bool
§previous_super_pc: E::PcOrImm
§context_u128_register: u128
§callstack: Callstack<N, E>
Implementations§
source§impl<const N: usize, E: VmEncodingMode<N>> VmLocalState<N, E>
impl<const N: usize, E: VmEncodingMode<N>> VmLocalState<N, E>
pub fn empty_state() -> Self
pub fn execution_has_ended(&self) -> bool
pub fn timestamp_for_code_or_src_read(&self) -> Timestamp
pub fn callstack_is_full(&self) -> bool
Trait Implementations§
source§impl<const N: usize, E: Clone + VmEncodingMode<N>> Clone for VmLocalState<N, E>
impl<const N: usize, E: Clone + VmEncodingMode<N>> Clone for VmLocalState<N, E>
source§fn clone(&self) -> VmLocalState<N, E>
fn clone(&self) -> VmLocalState<N, E>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<const N: usize, E: Debug + VmEncodingMode<N>> Debug for VmLocalState<N, E>
impl<const N: usize, E: Debug + VmEncodingMode<N>> Debug for VmLocalState<N, E>
source§impl<const N: usize, E: PartialEq + VmEncodingMode<N>> PartialEq for VmLocalState<N, E>
impl<const N: usize, E: PartialEq + VmEncodingMode<N>> PartialEq for VmLocalState<N, E>
source§fn eq(&self, other: &VmLocalState<N, E>) -> bool
fn eq(&self, other: &VmLocalState<N, E>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<const N: usize, E: VmEncodingMode<N>> StructuralPartialEq for VmLocalState<N, E>
Auto Trait Implementations§
impl<const N: usize, E> Freeze for VmLocalState<N, E>
impl<const N: usize, E> RefUnwindSafe for VmLocalState<N, E>
impl<const N: usize, E> Send for VmLocalState<N, E>
impl<const N: usize, E> Sync for VmLocalState<N, E>
impl<const N: usize, E> Unpin for VmLocalState<N, E>
impl<const N: usize, E> UnwindSafe for VmLocalState<N, E>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)