diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index 5e079501ac..7e0e919981 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -474,9 +474,14 @@ where self.n } - fn downsize(&mut self, _k: u32) { - // Verifier parameters cannot be downsized since they do not contain the original powers of g. - panic!("Verifier parameters cannot be downsized. You may want to use `trim` instead.") + fn downsize(&mut self, k: u32) { + assert!(k <= self.k); + let n = 1 << k; + if n < self.trimed_size { + *self = self.clone().trim(n as usize); + } + self.k = k; + self.n = n as u64; } fn empty_msm(&'params self) -> MSMKZG {