Struct snarkvm_algorithms::polycommit::sonic_pc::CommitterUnionKey
source · pub struct CommitterUnionKey<'a, E: PairingEngine> {
pub powers_of_beta_g: Option<&'a Vec<E::G1Affine>>,
pub lagrange_bases_at_beta_g: BTreeMap<usize, &'a Vec<E::G1Affine>>,
pub powers_of_beta_times_gamma_g: Option<&'a Vec<E::G1Affine>>,
pub shifted_powers_of_beta_g: Option<&'a Vec<E::G1Affine>>,
pub shifted_powers_of_beta_times_gamma_g: Option<BTreeMap<usize, &'a Vec<E::G1Affine>>>,
pub enforced_degree_bounds: Option<Vec<usize>>,
}Expand description
CommitterUnionKey is a union of CommitterKeys, useful for multi-circuit batch proofs.
Fields§
§powers_of_beta_g: Option<&'a Vec<E::G1Affine>>The key used to commit to polynomials.
lagrange_bases_at_beta_g: BTreeMap<usize, &'a Vec<E::G1Affine>>The key used to commit to polynomials in Lagrange basis.
powers_of_beta_times_gamma_g: Option<&'a Vec<E::G1Affine>>The key used to commit to hiding polynomials.
shifted_powers_of_beta_g: Option<&'a Vec<E::G1Affine>>The powers used to commit to shifted polynomials.
This is None if self does not support enforcing any degree bounds.
shifted_powers_of_beta_times_gamma_g: Option<BTreeMap<usize, &'a Vec<E::G1Affine>>>The powers used to commit to shifted hiding polynomials.
This is None if self does not support enforcing any degree bounds.
enforced_degree_bounds: Option<Vec<usize>>The degree bounds that are supported by self.
Sorted in ascending order from smallest bound to largest bound.
This is None if self does not support enforcing any degree bounds.
Implementations§
source§impl<'a, E: PairingEngine> CommitterUnionKey<'a, E>
impl<'a, E: PairingEngine> CommitterUnionKey<'a, E>
sourcepub fn shifted_powers_of_beta_g(
&self,
degree_bound: impl Into<Option<usize>>
) -> Option<Powers<'_, E>>
pub fn shifted_powers_of_beta_g( &self, degree_bound: impl Into<Option<usize>> ) -> Option<Powers<'_, E>>
Obtain powers for committing to shifted polynomials.
sourcepub fn lagrange_basis(
&self,
domain: EvaluationDomain<E::Fr>
) -> Option<LagrangeBasis<'_, E>>
pub fn lagrange_basis( &self, domain: EvaluationDomain<E::Fr> ) -> Option<LagrangeBasis<'_, E>>
Obtain elements of the SRS in the lagrange basis powers, for use with the underlying KZG10 construction.
pub fn union<T: IntoIterator<Item = &'a CommitterKey<E>>>( committer_keys: T ) -> Self
Trait Implementations§
source§impl<'a, E: Clone + PairingEngine> Clone for CommitterUnionKey<'a, E>where
E::G1Affine: Clone,
impl<'a, E: Clone + PairingEngine> Clone for CommitterUnionKey<'a, E>where E::G1Affine: Clone,
source§fn clone(&self) -> CommitterUnionKey<'a, E>
fn clone(&self) -> CommitterUnionKey<'a, E>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl<'a, E: Debug + PairingEngine> Debug for CommitterUnionKey<'a, E>where
E::G1Affine: Debug,
impl<'a, E: Debug + PairingEngine> Debug for CommitterUnionKey<'a, E>where E::G1Affine: Debug,
source§impl<'a, E: Hash + PairingEngine> Hash for CommitterUnionKey<'a, E>where
E::G1Affine: Hash,
impl<'a, E: Hash + PairingEngine> Hash for CommitterUnionKey<'a, E>where E::G1Affine: Hash,
source§impl<'a, E: PartialEq + PairingEngine> PartialEq<CommitterUnionKey<'a, E>> for CommitterUnionKey<'a, E>where
E::G1Affine: PartialEq,
impl<'a, E: PartialEq + PairingEngine> PartialEq<CommitterUnionKey<'a, E>> for CommitterUnionKey<'a, E>where E::G1Affine: PartialEq,
source§fn eq(&self, other: &CommitterUnionKey<'a, E>) -> bool
fn eq(&self, other: &CommitterUnionKey<'a, E>) -> bool
self and other values to be equal, and is used
by ==.impl<'a, E: Eq + PairingEngine> Eq for CommitterUnionKey<'a, E>where E::G1Affine: Eq,
impl<'a, E: PairingEngine> StructuralEq for CommitterUnionKey<'a, E>
impl<'a, E: PairingEngine> StructuralPartialEq for CommitterUnionKey<'a, E>
Auto Trait Implementations§
impl<'a, E> RefUnwindSafe for CommitterUnionKey<'a, E>where <E as PairingEngine>::G1Affine: RefUnwindSafe,
impl<'a, E> Send for CommitterUnionKey<'a, E>
impl<'a, E> Sync for CommitterUnionKey<'a, E>
impl<'a, E> Unpin for CommitterUnionKey<'a, E>
impl<'a, E> UnwindSafe for CommitterUnionKey<'a, E>where <E as PairingEngine>::G1Affine: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.