Struct snarkvm_circuit_program::StatePath
source · pub struct StatePath<A: Aleo> { /* private fields */ }
Expand description
The state path proves existence of the transition leaf to either a global or local state root.
Implementations§
source§impl<A: Aleo> StatePath<A>
impl<A: Aleo> StatePath<A>
sourcepub fn verify(
&self,
is_global: &Boolean<A>,
local_state_root: &Field<A>
) -> Boolean<A>
pub fn verify( &self, is_global: &Boolean<A>, local_state_root: &Field<A> ) -> Boolean<A>
Returns true
if the state path is valid.
Parameters
local_state_root
is the local transaction root for the current execution.is_global
is a boolean indicating whether this is a global or local state root.
Diagram
The [[ ]]
notation is used to denote public inputs.
ⓘ
[[ global_state_root ]]
|
block_path
|
block_hash := Hash( previous_block_hash || header_root )
|
header_path
|
header_leaf
|
transactions_path [[ local_state_root ]]
| |
(true) ------ is_global ------ (false)
|
transaction_id
|
transaction_path
|
transaction_leaf
|
transition_path
|
transition_leaf
source§impl<A: Aleo> StatePath<A>
impl<A: Aleo> StatePath<A>
sourcepub const fn transition_leaf(&self) -> &TransitionLeaf<A>
pub const fn transition_leaf(&self) -> &TransitionLeaf<A>
Returns the transition leaf.
Trait Implementations§
source§impl<A: Aleo> Eject for StatePath<A>
impl<A: Aleo> Eject for StatePath<A>
source§fn eject_mode(&self) -> Mode
fn eject_mode(&self) -> Mode
Ejects the mode of the state path.
source§fn eject_value(&self) -> Self::Primitive
fn eject_value(&self) -> Self::Primitive
Ejects the state path.
type Primitive = StatePath<<A as Environment>::Network>
§fn is_constant(&self) -> bool
fn is_constant(&self) -> bool
Returns
true
if the circuit is a constant.§fn is_private(&self) -> bool
fn is_private(&self) -> bool
Returns
true
if the circuit is a private.Auto Trait Implementations§
impl<A> RefUnwindSafe for StatePath<A>where <A as Environment>::BaseField: UnwindSafe + RefUnwindSafe,
impl<A> !Send for StatePath<A>
impl<A> !Sync for StatePath<A>
impl<A> Unpin for StatePath<A>where <A as Environment>::BaseField: Unpin,
impl<A> UnwindSafe for StatePath<A>where <A as Environment>::BaseField: UnwindSafe + RefUnwindSafe,
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