pub enum AdviceInjector {
    MerkleNode,
    DivResultU64,
    MapValue,
    Memory(u32, u32),
    Ext2Inv,
    Ext2INTT,
}
Expand description

TODO: add docs

Variants§

§

MerkleNode

Injects a node of the Merkle tree specified by the values on the stack at the head of the advice tape. The stack is expected to be arranged as follows (from the top):

  • depth of the node, 1 element
  • index of the node, 1 element
  • root of the tree, 4 elements
§

DivResultU64

Injects the result of u64 division (both the quotient and the remainder) at the head of the advice tape. The stack is expected to be arranged as follows (from the top):

  • divisor split into two 32-bit elements
  • dividend split into two 32-bit elements

The result is injected into the advice tape as follows: first the remainder is injected, then the quotient is injected.

§

MapValue

Injects a list of field elements at the front of the advice tape. The list is looked up in the key-value map maintained by the advice provider using the top 4 elements on the stack as the key.

§

Memory(u32, u32)

Injects a list of words from the memory starting from the specified start address.

§

Ext2Inv

Given an element of quadratic extension field, it computes multiplicative inverse and injects the result into advice tape.

§

Ext2INTT

Given ( power of 2 many ) evaluations of a polynomial over some specified domain, this routine interpolates ( using inverse NTT ) the evaluations into a polynomial in coefficient form and injects the result into the advice tape.

Trait Implementations§

source§

impl Clone for AdviceInjector

source§

fn clone(&self) -> AdviceInjector

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 AdviceInjector

source§

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

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

impl Display for AdviceInjector

source§

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

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

impl PartialEq<AdviceInjector> for AdviceInjector

source§

fn eq(&self, other: &AdviceInjector) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for AdviceInjector

source§

impl Eq for AdviceInjector

source§

impl StructuralEq for AdviceInjector

source§

impl StructuralPartialEq for AdviceInjector

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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.