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 tape which can contain any number of elements.
  2. Multiple advice tapes that can be appended to the main tape, and are mapped by 32 bytes keys.
  3. Merkle sets list, which are used to provide nondeterministic inputs for instructions that operates with Merkle trees.

Implementations§

source§

impl AdviceInputs

source

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

Attempts to extend the tape 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_tape<I>(self, iter: I) -> Selfwhere I: IntoIterator<Item = Felt>,

Extends the tape with the given elements.

source

pub fn with_values_map<I>(self, iter: I) -> Selfwhere I: IntoIterator<Item = ([u8; 32], Vec<Felt>)>,

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

source

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

Attempts to extend the Merkle sets with the given argument, failing if a duplicated root is provided.

source

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

Returns a reference to the advice tape.

source

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

Fetch a values set mapped by the given key.

source

pub fn merkle_set(&self, key: &[u8; 32]) -> Option<&MerkleSet>

Fetch a Merkle set mapped by the given key.

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.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.