Struct snarkvm_algorithms::snark::gm17::Parameters [−][src]
pub struct Parameters<E: PairingEngine> { pub vk: VerifyingKey<E>, pub a_query: Vec<E::G1Affine>, pub b_query: Vec<E::G2Affine>, pub c_query_1: Vec<E::G1Affine>, pub c_query_2: Vec<E::G1Affine>, pub g_gamma_z: E::G1Affine, pub h_gamma_z: E::G2Affine, pub g_ab_gamma_z: E::G1Affine, pub g_gamma2_z2: E::G1Affine, pub g_gamma2_z_t: Vec<E::G1Affine>, }
Expand description
Full public (prover and verifier) parameters for the GM17 zkSNARK.
Fields
vk: VerifyingKey<E>
a_query: Vec<E::G1Affine>
b_query: Vec<E::G2Affine>
c_query_1: Vec<E::G1Affine>
c_query_2: Vec<E::G1Affine>
g_gamma_z: E::G1Affine
h_gamma_z: E::G2Affine
g_ab_gamma_z: E::G1Affine
g_gamma2_z2: E::G1Affine
g_gamma2_z_t: Vec<E::G1Affine>
Implementations
impl<E: PairingEngine> Parameters<E>
[src]
impl<E: PairingEngine> Parameters<E>
[src]impl<E: PairingEngine> Parameters<E>
[src]
impl<E: PairingEngine> Parameters<E>
[src]pub fn get_vk(&self, _: usize) -> SynthesisResult<VerifyingKey<E>>
[src]
pub fn get_a_query(
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
[src]
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
pub fn get_b_query(
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G2Affine], &'_ [E::G2Affine])>
[src]
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G2Affine], &'_ [E::G2Affine])>
pub fn get_c_query_1(
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
[src]
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
pub fn get_c_query_2(
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
[src]
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
pub fn get_g_gamma_z(&self) -> SynthesisResult<E::G1Affine>
[src]
pub fn get_h_gamma_z(&self) -> SynthesisResult<E::G2Affine>
[src]
pub fn get_g_ab_gamma_z(&self) -> SynthesisResult<E::G1Affine>
[src]
pub fn get_g_gamma2_z2(&self) -> SynthesisResult<E::G1Affine>
[src]
pub fn get_g_gamma2_z_t(
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
[src]
&self,
num_inputs: usize
) -> SynthesisResult<(&'_ [E::G1Affine], &'_ [E::G1Affine])>
pub fn get_a_query_full(&self) -> SynthesisResult<&[E::G1Affine]>
[src]
pub fn get_b_query_full(&self) -> SynthesisResult<&[E::G2Affine]>
[src]
pub fn get_c_query_1_full(&self) -> SynthesisResult<&[E::G1Affine]>
[src]
pub fn get_c_query_2_full(&self) -> SynthesisResult<&[E::G1Affine]>
[src]
pub fn get_g_gamma2_z_t_full(&self) -> SynthesisResult<&[E::G1Affine]>
[src]
Trait Implementations
impl<E: Clone + PairingEngine> Clone for Parameters<E> where
E::G1Affine: Clone,
E::G2Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
E::G2Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
[src]
impl<E: Clone + PairingEngine> Clone for Parameters<E> where
E::G1Affine: Clone,
E::G2Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
E::G2Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
E::G1Affine: Clone,
[src]fn clone(&self) -> Parameters<E>
[src]
fn clone(&self) -> Parameters<E>
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl<E: Debug + PairingEngine> Debug for Parameters<E> where
E::G1Affine: Debug,
E::G2Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
E::G2Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
[src]
impl<E: Debug + PairingEngine> Debug for Parameters<E> where
E::G1Affine: Debug,
E::G2Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
E::G2Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
E::G1Affine: Debug,
[src]impl<E: PairingEngine> From<Parameters<E>> for VerifyingKey<E>
[src]
impl<E: PairingEngine> From<Parameters<E>> for VerifyingKey<E>
[src]fn from(other: Parameters<E>) -> Self
[src]
fn from(other: Parameters<E>) -> Self
[src]Performs the conversion.
impl<E: PairingEngine> From<Parameters<E>> for PreparedVerifyingKey<E>
[src]
impl<E: PairingEngine> From<Parameters<E>> for PreparedVerifyingKey<E>
[src]fn from(other: Parameters<E>) -> Self
[src]
fn from(other: Parameters<E>) -> Self
[src]Performs the conversion.
impl<E: PairingEngine> FromBytes for Parameters<E>
[src]
impl<E: PairingEngine> FromBytes for Parameters<E>
[src]impl<E: PairingEngine> PartialEq<Parameters<E>> for Parameters<E>
[src]
impl<E: PairingEngine> PartialEq<Parameters<E>> for Parameters<E>
[src]impl<E: PairingEngine> ToBytes for Parameters<E>
[src]
impl<E: PairingEngine> ToBytes for Parameters<E>
[src]impl<E: Eq + PairingEngine> Eq for Parameters<E> where
E::G1Affine: Eq,
E::G2Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
E::G2Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
[src]
E::G1Affine: Eq,
E::G2Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
E::G2Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
E::G1Affine: Eq,
impl<E: PairingEngine> StructuralEq for Parameters<E>
[src]
Auto Trait Implementations
impl<E> RefUnwindSafe for Parameters<E> where
<E as PairingEngine>::G1Affine: RefUnwindSafe,
<E as PairingEngine>::G2Affine: RefUnwindSafe,
<E as PairingEngine>::G1Affine: RefUnwindSafe,
<E as PairingEngine>::G2Affine: RefUnwindSafe,
impl<E> Send for Parameters<E>
impl<E> Sync for Parameters<E>
impl<E> Unpin for Parameters<E> where
<E as PairingEngine>::G1Affine: Unpin,
<E as PairingEngine>::G2Affine: Unpin,
<E as PairingEngine>::G1Affine: Unpin,
<E as PairingEngine>::G2Affine: Unpin,
impl<E> UnwindSafe for Parameters<E> where
<E as PairingEngine>::G1Affine: UnwindSafe,
<E as PairingEngine>::G2Affine: UnwindSafe,
<E as PairingEngine>::G1Affine: UnwindSafe,
<E as PairingEngine>::G2Affine: 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<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
pub fn equivalent(&self, key: &K) -> bool
[src]Compare self to key
and return true
if they are equal.
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<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,