Struct bellperson::groth16::MappedParameters[][src]

pub struct MappedParameters<E: Engine> {
    pub param_file_path: PathBuf,
    pub param_file: File,
    pub params: Mmap,
    pub vk: VerifyingKey<E>,
    pub pvk: PreparedVerifyingKey<E>,
    pub h: Vec<Range<usize>>,
    pub l: Vec<Range<usize>>,
    pub a: Vec<Range<usize>>,
    pub b_g1: Vec<Range<usize>>,
    pub b_g2: Vec<Range<usize>>,
    pub checked: bool,
}

Fields

param_file_path: PathBuf

The parameter file we’re reading from.

param_file: File

The file descriptor we have mmaped.

params: Mmap

The actual mmap.

vk: VerifyingKey<E>

This is always loaded (i.e. not lazily loaded).

pvk: PreparedVerifyingKey<E>h: Vec<Range<usize>>

Elements of the form ((tau^i * t(tau)) / delta) for i between 0 and m-2 inclusive. Never contains points at infinity.

l: Vec<Range<usize>>

Elements of the form (beta * u_i(tau) + alpha v_i(tau) + w_i(tau)) / delta for all auxiliary inputs. Variables can never be unconstrained, so this never contains points at infinity.

a: Vec<Range<usize>>

QAP “A” polynomials evaluated at tau in the Lagrange basis. Never contains points at infinity: polynomials that evaluate to zero are omitted from the CRS and the prover can deterministically skip their evaluation.

b_g1: Vec<Range<usize>>

QAP “B” polynomials evaluated at tau in the Lagrange basis. Needed in G1 and G2 for C/B queries, respectively. Never contains points at infinity for the same reason as the “A” polynomials.

b_g2: Vec<Range<usize>>checked: bool

Trait Implementations

impl<'a, E: Engine> ParameterSource<E> for &'a MappedParameters<E>[src]

type G1Builder = (Arc<Vec<E::G1Affine>>, usize)

type G2Builder = (Arc<Vec<E::G2Affine>>, usize)

Auto Trait Implementations

impl<E> RefUnwindSafe for MappedParameters<E> where
    <E as Engine>::Fqk: RefUnwindSafe,
    <E as Engine>::G1Affine: RefUnwindSafe,
    <E as Engine>::G2Affine: RefUnwindSafe,
    <<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: RefUnwindSafe

impl<E> Send for MappedParameters<E>

impl<E> Sync for MappedParameters<E>

impl<E> Unpin for MappedParameters<E> where
    <E as Engine>::Fqk: Unpin,
    <E as Engine>::G1Affine: Unpin,
    <E as Engine>::G2Affine: Unpin,
    <<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: Unpin

impl<E> UnwindSafe for MappedParameters<E> where
    <E as Engine>::Fqk: UnwindSafe,
    <E as Engine>::G1Affine: UnwindSafe,
    <E as Engine>::G2Affine: UnwindSafe,
    <<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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