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.