diff --git a/plonky2/src/plonk/circuit_builder.rs b/plonky2/src/plonk/circuit_builder.rs index c9f2edf0..6bad9296 100644 --- a/plonky2/src/plonk/circuit_builder.rs +++ b/plonky2/src/plonk/circuit_builder.rs @@ -248,9 +248,10 @@ impl, const D: usize> CircuitBuilder { /// Add a virtual verifier data, register it as a public input and set it to `self.verifier_data_public_input`. /// WARNING: Do not register any public input after calling this! TODO: relax this pub fn add_verifier_data_public_inputs(&mut self) { - if self.verifier_data_public_input.is_some() { - return; - } + assert!( + self.verifier_data_public_input.is_none(), + "add_verifier_data_public_inputs only needs to be called once" + ); let verifier_data = VerifierCircuitTarget { constants_sigmas_cap: self.add_virtual_cap(self.config.fri_config.cap_height), diff --git a/plonky2/src/recursion/cyclic_recursion.rs b/plonky2/src/recursion/cyclic_recursion.rs index b466c034..807445d7 100644 --- a/plonky2/src/recursion/cyclic_recursion.rs +++ b/plonky2/src/recursion/cyclic_recursion.rs @@ -177,6 +177,8 @@ impl, const D: usize> CircuitBuilder { } /// Set the targets in a `CyclicRecursionTarget` to their corresponding values in a `CyclicRecursionData`. +/// The `public_inputs` parameter let the caller specify certain public inputs (identified by their +/// indices) which should be given specific values. The rest will default to zero. pub fn set_cyclic_recursion_data_target< F: RichField + Extendable, C: GenericConfig,