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 CommitterKey
s, 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
§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,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.