Enum essential_check::state_read_vm::asm::StateRead
source · pub enum StateRead {
Constraint(Constraint),
StateSlots(StateSlots),
KeyRange,
KeyRangeExtern,
}
Expand description
All operations available to state-read execution.
Variants§
Constraint(Constraint)
All operations available to the constraint checker.
Note that this is a subset of the operations available to state read execution.
StateSlots(StateSlots)
Operations for controlling mutable state slots.
KeyRange
0x90
Read a range of values at each key from state starting at the key into state slots starting at the slot index.
The key is lexographically incremented for each value read. All keys are assumed to be the same length.
Returns the values onto the stack, followed by their indices.
§Stack Input
[key_w0, ...key_wN, key_len, num_keys_to_read, slot_index]
KeyRangeExtern
0x91
Read a range of values at each key from external state starting at the key into state slots starting at the slot index.
The key is lexographically incremented for each value read.
The external state is at the ext
address.
Returns the values onto the stack, followed by their indices.
§Stack Input
[ext_w0, ext_w1, ext_w2, ext_w3, key_w0, ...key_wN, key_len, num_keys_to_read, slot_index]
Trait Implementations§
source§impl From<Constraint> for StateRead
impl From<Constraint> for StateRead
source§fn from(subgroup: Constraint) -> StateRead
fn from(subgroup: Constraint) -> StateRead
source§impl From<StateSlots> for StateRead
impl From<StateSlots> for StateRead
source§fn from(subgroup: StateSlots) -> StateRead
fn from(subgroup: StateSlots) -> StateRead
source§impl From<TotalControlFlow> for StateRead
impl From<TotalControlFlow> for StateRead
source§fn from(subgroup: TotalControlFlow) -> StateRead
fn from(subgroup: TotalControlFlow) -> StateRead
source§impl Ord for StateRead
impl Ord for StateRead
source§impl PartialEq for StateRead
impl PartialEq for StateRead
source§impl PartialOrd for StateRead
impl PartialOrd for StateRead
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl TryFromBytes for StateRead
impl TryFromBytes for StateRead
§type Error = FromBytesError
type Error = FromBytesError
impl Copy for StateRead
impl Eq for StateRead
impl StructuralPartialEq for StateRead
Auto Trait Implementations§
impl Freeze for StateRead
impl RefUnwindSafe for StateRead
impl Send for StateRead
impl Sync for StateRead
impl Unpin for StateRead
impl UnwindSafe for StateRead
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
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)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more