arnaucube
arnaucube/hyperplonkPublic Self-hosted repository
hyperplonk/poly-iop/src/zero_check/prover.rs
poly-iop/src/zero_check/prover.rsRaw
 1use ark_ff::PrimeField;
 2use ark_poly::DenseMultilinearExtension;
 3
 4/// Prover State
 5pub struct ProverState<F: PrimeField> {
 6    /// sampled randomness given by the verifier
 7    pub challenges: Vec<F>,
 8    /// Stores the list of products that is meant to be added together. Each
 9    /// multiplicand is represented by the index in flattened_ml_extensions
10    pub list_of_products: Vec<(F, Vec<usize>)>,
11    /// Stores a list of multilinear extensions in which `self.list_of_products`
12    /// points to
13    pub flattened_ml_extensions: Vec<DenseMultilinearExtension<F>>,
14    pub(crate) num_vars: usize,
15    pub(crate) max_degree: usize,
16    pub(crate) round: usize,
17}