diff --git a/src/plonk.rs b/src/plonk.rs index ae31166..e0accee 100644 --- a/src/plonk.rs +++ b/src/plonk.rs @@ -6,7 +6,7 @@ //! [plonk]: https://eprint.iacr.org/2019/953 use crate::arithmetic::CurveAffine; -use crate::poly::{multiopen, Coeff, EvaluationDomain, ExtendedLagrangeCoeff, Polynomial}; +use crate::poly::{multiopen, Coeff, EvaluationDomain, ExtendedLagrangeCoeff, LagrangeCoeff, Polynomial}; use crate::transcript::ChallengeScalar; mod circuit; @@ -37,6 +37,7 @@ pub struct ProvingKey { vk: VerifyingKey, // TODO: get rid of this? l0: Polynomial, + fixed_values: Vec>, fixed_polys: Vec>, fixed_cosets: Vec>, permutations: Vec>, diff --git a/src/plonk/circuit.rs b/src/plonk/circuit.rs index 151ac67..8b0e045 100644 --- a/src/plonk/circuit.rs +++ b/src/plonk/circuit.rs @@ -432,13 +432,11 @@ impl ConstraintSystem { } fn query_any_index(&mut self, column: Column, at: i32) -> usize { - let index = match column.column_type() { + match column.column_type() { Any::Advice => self.query_advice_index(Column::::try_from(column).unwrap(), at), Any::Fixed => self.query_fixed_index(Column::::try_from(column).unwrap(), at), Any::Aux => self.query_aux_index(Column::::try_from(column).unwrap(), at), - }; - - index + } } /// Query an Any column at a relative position diff --git a/src/plonk/keygen.rs b/src/plonk/keygen.rs index 1b72625..5df667a 100644 --- a/src/plonk/keygen.rs +++ b/src/plonk/keygen.rs @@ -103,8 +103,8 @@ where let fixed_polys: Vec<_> = assembly .fixed - .into_iter() - .map(|poly| domain.lagrange_to_coeff(poly)) + .iter() + .map(|poly| domain.lagrange_to_coeff(poly.clone())) .collect(); let fixed_cosets = cs @@ -131,6 +131,7 @@ where cs, }, l0, + fixed_values: assembly.fixed, fixed_polys, fixed_cosets, permutations: permutation_pks,