pub enum StateRead {
Constraint(Constraint),
StateMemory(StateMemory),
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.
StateMemory(StateMemory)
Operations for controlling mutable state slots.
KeyRange
0x90: KRNG
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: KREX
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<StateMemory> for StateRead
impl From<StateMemory> for StateRead
Source§fn from(subgroup: StateMemory) -> StateRead
fn from(subgroup: StateMemory) -> 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 PartialOrd for StateRead
impl PartialOrd for StateRead
Source§impl TryFromBytes for StateRead
impl TryFromBytes for StateRead
Source§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§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