diff --git a/halo2_proofs/src/plonk.rs b/halo2_proofs/src/plonk.rs index 4541d9fdc..80ded8537 100644 --- a/halo2_proofs/src/plonk.rs +++ b/halo2_proofs/src/plonk.rs @@ -44,15 +44,18 @@ use std::io; pub fn vk_read>( reader: &mut R, format: SerdeFormat, - k: u32, - circuit: &ConcreteCircuit, - compress_selectors: bool, + #[cfg(feature = "circuit-params")] + params: ConcreteCircuit::Params, ) -> io::Result> where C::Scalar: SerdePrimeField + FromUniformBytes<64>, { - let (_, _, cs) = compile_circuit(k, circuit, compress_selectors) - .map_err(|e| io::Error::new(io::ErrorKind::Other, e.to_string()))?; + let mut cs = ConstraintSystem::default(); + #[cfg(feature = "circuit-params")] + ConcreteCircuit::configure_with_params(&mut cs, params); + #[cfg(not(feature = "circuit-params"))] + ConcreteCircuit::configure(&mut cs); + let cs_mid: ConstraintSystemMid<_> = cs.into(); VerifyingKey::read(reader, format, cs_mid.into()) }