Struct snarkvm_algorithms::polycommit::sonic_pc::CommitterKey
source · pub struct CommitterKey<E: PairingEngine> {
pub powers_of_beta_g: Vec<E::G1Affine>,
pub lagrange_bases_at_beta_g: BTreeMap<usize, Vec<E::G1Affine>>,
pub powers_of_beta_times_gamma_g: Vec<E::G1Affine>,
pub shifted_powers_of_beta_g: Option<Vec<E::G1Affine>>,
pub shifted_powers_of_beta_times_gamma_g: Option<BTreeMap<usize, Vec<E::G1Affine>>>,
pub enforced_degree_bounds: Option<Vec<usize>>,
pub max_degree: usize,
}Expand description
CommitterKey is used to commit to, and create evaluation proofs for, a given polynomial.
Fields§
§powers_of_beta_g: Vec<E::G1Affine>The key used to commit to polynomials.
lagrange_bases_at_beta_g: BTreeMap<usize, Vec<E::G1Affine>>The key used to commit to polynomials in Lagrange basis.
powers_of_beta_times_gamma_g: Vec<E::G1Affine>The key used to commit to hiding polynomials.
shifted_powers_of_beta_g: Option<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, 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.
max_degree: usizeThe maximum degree supported by the UniversalParams from which self was derived
Implementations§
source§impl<E: PairingEngine> CommitterKey<E>
impl<E: PairingEngine> CommitterKey<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.
source§impl<E: PairingEngine> CommitterKey<E>
impl<E: PairingEngine> CommitterKey<E>
pub fn max_degree(&self) -> usize
pub fn supported_degree(&self) -> usize
Trait Implementations§
source§impl<E: PairingEngine> CanonicalDeserialize for CommitterKey<E>
impl<E: PairingEngine> CanonicalDeserialize for CommitterKey<E>
fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>
fn deserialize_compressed<R>(reader: R) -> Result<Self, SerializationError>where R: Read,
fn deserialize_compressed_unchecked<R>( reader: R ) -> Result<Self, SerializationError>where R: Read,
fn deserialize_uncompressed<R>(reader: R) -> Result<Self, SerializationError>where R: Read,
fn deserialize_uncompressed_unchecked<R>( reader: R ) -> Result<Self, SerializationError>where R: Read,
source§impl<E: PairingEngine> CanonicalSerialize for CommitterKey<E>
impl<E: PairingEngine> CanonicalSerialize for CommitterKey<E>
fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
fn serialize_compressed<W>(&self, writer: W) -> Result<(), SerializationError>where W: Write,
fn compressed_size(&self) -> usize
fn serialize_uncompressed<W>(&self, writer: W) -> Result<(), SerializationError>where W: Write,
fn uncompressed_size(&self) -> usize
source§impl<E: Clone + PairingEngine> Clone for CommitterKey<E>where
E::G1Affine: Clone,
impl<E: Clone + PairingEngine> Clone for CommitterKey<E>where E::G1Affine: Clone,
source§fn clone(&self) -> CommitterKey<E>
fn clone(&self) -> CommitterKey<E>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl<E: Debug + PairingEngine> Debug for CommitterKey<E>where
E::G1Affine: Debug,
impl<E: Debug + PairingEngine> Debug for CommitterKey<E>where E::G1Affine: Debug,
source§impl<E: Default + PairingEngine> Default for CommitterKey<E>where
E::G1Affine: Default,
impl<E: Default + PairingEngine> Default for CommitterKey<E>where E::G1Affine: Default,
source§fn default() -> CommitterKey<E>
fn default() -> CommitterKey<E>
source§impl<E: PairingEngine> FromBytes for CommitterKey<E>
impl<E: PairingEngine> FromBytes for CommitterKey<E>
source§impl<E: Hash + PairingEngine> Hash for CommitterKey<E>where
E::G1Affine: Hash,
impl<E: Hash + PairingEngine> Hash for CommitterKey<E>where E::G1Affine: Hash,
source§impl<E: PartialEq + PairingEngine> PartialEq<CommitterKey<E>> for CommitterKey<E>where
E::G1Affine: PartialEq,
impl<E: PartialEq + PairingEngine> PartialEq<CommitterKey<E>> for CommitterKey<E>where E::G1Affine: PartialEq,
source§fn eq(&self, other: &CommitterKey<E>) -> bool
fn eq(&self, other: &CommitterKey<E>) -> bool
self and other values to be equal, and is used
by ==.source§impl<E: PairingEngine> ToBytes for CommitterKey<E>
impl<E: PairingEngine> ToBytes for CommitterKey<E>
source§impl<E: PairingEngine> Valid for CommitterKey<E>
impl<E: PairingEngine> Valid for CommitterKey<E>
fn check(&self) -> Result<(), SerializationError>
fn batch_check<'a>( batch: impl Iterator<Item = &'a Self> + Send ) -> Result<(), SerializationError>where Self: 'a,
impl<E: Eq + PairingEngine> Eq for CommitterKey<E>where E::G1Affine: Eq,
impl<E: PairingEngine> StructuralEq for CommitterKey<E>
impl<E: PairingEngine> StructuralPartialEq for CommitterKey<E>
Auto Trait Implementations§
impl<E> RefUnwindSafe for CommitterKey<E>where <E as PairingEngine>::G1Affine: RefUnwindSafe,
impl<E> Send for CommitterKey<E>
impl<E> Sync for CommitterKey<E>
impl<E> Unpin for CommitterKey<E>where <E as PairingEngine>::G1Affine: Unpin,
impl<E> UnwindSafe for CommitterKey<E>where <E as PairingEngine>::G1Affine: UnwindSafe + RefUnwindSafe,
Blanket Implementations§
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.