Struct miden_processor::AdviceInputs

source ·
pub struct AdviceInputs { /* private fields */ }
Expand description

Inputs container to initialize advice provider for the execution of Miden VM programs.

The program may request nondeterministic advice inputs from the prover. These inputs are secret inputs. This means that the prover does not need to share them with the verifier.

There are three types of advice inputs:

  1. Single advice stack which can contain any number of elements.
  2. Key-mapped element lists which can be pushed onto the advice stack.
  3. Merkle store, which is used to provide nondeterministic inputs for instructions that operates with Merkle trees.

Implementations§

source§

impl AdviceInputs

source

pub fn with_stack_values<I>(self, iter: I) -> Result<Self, InputError>
where I: IntoIterator<Item = u64>,

Attempts to extend the stack values with the given sequence of integers, returning an error if any of the numbers fails while converting to an element [Felt].

source

pub fn with_stack<I>(self, iter: I) -> Self
where I: IntoIterator<Item = Felt>,

Extends the stack with the given elements.

source

pub fn with_map<I>(self, iter: I) -> Self
where I: IntoIterator<Item = (RpoDigest, Vec<Felt>)>,

Extends the map of values with the given argument, replacing previously inserted items.

source

pub fn with_merkle_store(self, store: MerkleStore) -> Self

Replaces the MerkleStore with the provided argument.

source

pub fn extend_stack<I>(&mut self, iter: I)
where I: IntoIterator<Item = Felt>,

Extends the stack with the given elements.

source

pub fn extend_map<I>(&mut self, iter: I)
where I: IntoIterator<Item = (RpoDigest, Vec<Felt>)>,

Extends the map of values with the given argument, replacing previously inserted items.

source

pub fn extend_merkle_store<I>(&mut self, iter: I)
where I: Iterator<Item = InnerNodeInfo>,

Extends the MerkleStore with the given nodes.

source

pub fn extend(&mut self, other: Self)

Extends the contents of this instance with the contents of the other instance.

source

pub fn stack(&self) -> &[Felt]

Returns a reference to the advice stack.

source

pub fn mapped_values(&self, key: &RpoDigest) -> Option<&[Felt]>

Fetch a values set mapped by the given key.

source

pub const fn merkle_store(&self) -> &MerkleStore

Returns the underlying MerkleStore.

Trait Implementations§

source§

impl Clone for AdviceInputs

source§

fn clone(&self) -> AdviceInputs

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdviceInputs

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdviceInputs

source§

fn default() -> AdviceInputs

Returns the “default value” for a type. Read more
source§

impl From<AdviceInputs> for MemAdviceProvider

source§

fn from(inputs: AdviceInputs) -> Self

Converts to this type from the input type.
source§

impl From<AdviceInputs> for RecAdviceProvider

source§

fn from(inputs: AdviceInputs) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more