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]
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)
fn get_vk(&self, _: usize) -> Result<&VerifyingKey<E>, SynthesisError>
[src]
fn get_h(&self, _num_h: usize) -> Result<Self::G1Builder, SynthesisError>
[src]
fn get_l(&self, _num_l: usize) -> Result<Self::G1Builder, SynthesisError>
[src]
fn get_a(
&self,
num_inputs: usize,
_num_a: usize
) -> Result<(Self::G1Builder, Self::G1Builder), SynthesisError>
[src]
&self,
num_inputs: usize,
_num_a: usize
) -> Result<(Self::G1Builder, Self::G1Builder), SynthesisError>
fn get_b_g1(
&self,
num_inputs: usize,
_num_b_g1: usize
) -> Result<(Self::G1Builder, Self::G1Builder), SynthesisError>
[src]
&self,
num_inputs: usize,
_num_b_g1: usize
) -> Result<(Self::G1Builder, Self::G1Builder), SynthesisError>
fn get_b_g2(
&self,
num_inputs: usize,
_num_b_g2: usize
) -> Result<(Self::G2Builder, Self::G2Builder), SynthesisError>
[src]
&self,
num_inputs: usize,
_num_b_g2: usize
) -> Result<(Self::G2Builder, Self::G2Builder), SynthesisError>
Auto Trait Implementations
impl<E> RefUnwindSafe for MappedParameters<E> where
<E as Engine>::Fqk: RefUnwindSafe,
<E as Engine>::G1: RefUnwindSafe,
<E as Engine>::G1Affine: RefUnwindSafe,
<E as Engine>::G2Affine: RefUnwindSafe,
<<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: RefUnwindSafe,
<E as Engine>::Fqk: RefUnwindSafe,
<E as Engine>::G1: 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>::G1: Unpin,
<E as Engine>::G1Affine: Unpin,
<E as Engine>::G2Affine: Unpin,
<<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: Unpin,
<E as Engine>::Fqk: Unpin,
<E as Engine>::G1: 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>::G1: UnwindSafe,
<E as Engine>::G1Affine: UnwindSafe,
<E as Engine>::G2Affine: UnwindSafe,
<<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: UnwindSafe,
<E as Engine>::Fqk: UnwindSafe,
<E as Engine>::G1: UnwindSafe,
<E as Engine>::G1Affine: UnwindSafe,
<E as Engine>::G2Affine: UnwindSafe,
<<E as Engine>::G2Affine as PairingCurveAffine>::Prepared: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,