pub trait PCRandomness: Clone + CanonicalSerialize + CanonicalDeserialize {
    // Required methods
    fn empty() -> Self;
    fn rand<R: RngCore>(
        num_queries: usize,
        has_degree_bound: bool,
        num_vars: Option<usize>,
        rng: &mut R
    ) -> Self;
}
Expand description

Defines the minimal interface of commitment randomness for any polynomial commitment scheme.

Required Methods§

source

fn empty() -> Self

Outputs empty randomness that does not hide the commitment.

source

fn rand<R: RngCore>( num_queries: usize, has_degree_bound: bool, num_vars: Option<usize>, rng: &mut R ) -> Self

Samples randomness for commitments; num_queries specifies the number of queries that the commitment will be opened at. has_degree_bound indicates that the corresponding commitment has an enforced num_vars specifies the number of variables for multivariate commitment. strict degree bound.

Implementors§

source§

impl<E, P> PCRandomness for ark_poly_commit::marlin::marlin_pst13_pc::Randomness<E, P>where E: Pairing, P: DenseMVPolynomial<E::ScalarField>, P::Point: Index<usize, Output = E::ScalarField>,

source§

impl<F: PrimeField, P: DenseUVPolynomial<F>> PCRandomness for ark_poly_commit::kzg10::Randomness<F, P>

source§

impl<F: PrimeField, P: DenseUVPolynomial<F>> PCRandomness for ark_poly_commit::marlin::marlin_pc::Randomness<F, P>

source§

impl<G: AffineRepr> PCRandomness for ark_poly_commit::ipa_pc::Randomness<G>