diff --git a/plonky2/src/gates/selectors.rs b/plonky2/src/gates/selectors.rs index 7c1b7277..36a3f536 100644 --- a/plonky2/src/gates/selectors.rs +++ b/plonky2/src/gates/selectors.rs @@ -187,9 +187,7 @@ pub(crate) fn selector_polynomials, const D: usize> let mut selector_vector: Vec = vec![usize::MAX; n]; for (j, g) in instances.iter().enumerate() { let GateInstance { gate_ref, .. } = g; - let i = index(gate_ref.0.id()); - let gr = group(i); - selector_vector[j] = i; + selector_vector[j] = index(gate_ref.0.id()); } ( diff --git a/plonky2/src/plonk/circuit_data.rs b/plonky2/src/plonk/circuit_data.rs index f3f6eeac..ce3fdb9b 100644 --- a/plonky2/src/plonk/circuit_data.rs +++ b/plonky2/src/plonk/circuit_data.rs @@ -46,7 +46,7 @@ use crate::plonk::circuit_builder::CircuitBuilder; use crate::plonk::config::{GenericConfig, Hasher}; use crate::plonk::plonk_common::PlonkOracle; use crate::plonk::proof::{CompressedProofWithPublicInputs, ProofWithPublicInputs}; -use crate::plonk::prover::{prove,ProverOptions,default_prover_options}; +use crate::plonk::prover::{prove,prove_with_options,ProverOptions}; use crate::plonk::verifier::verify; use crate::util::serialization::{ Buffer, GateSerializer, IoResult, Read, WitnessGeneratorSerializer, Write, @@ -196,12 +196,11 @@ impl, C: GenericConfig, const D: usize> &self.common, inputs, &mut TimingTree::default(), - &default_prover_options, ) } pub fn prove_with_options(&self, inputs: PartialWitness, opts: &ProverOptions) -> Result> { - prove::( + prove_with_options::( &self.prover_only, &self.common, inputs, @@ -305,12 +304,11 @@ impl, C: GenericConfig, const D: usize> &self.common, inputs, &mut TimingTree::default(), - &default_prover_options, ) } pub fn prove_with_options(&self, inputs: PartialWitness, opts: &ProverOptions) -> Result> { - prove::( + prove_with_options::( &self.prover_only, &self.common, inputs, diff --git a/plonky2/src/plonk/prover.rs b/plonky2/src/plonk/prover.rs index adb7a38d..fa82d53b 100644 --- a/plonky2/src/plonk/prover.rs +++ b/plonky2/src/plonk/prover.rs @@ -122,7 +122,7 @@ pub struct ProverOptions { pub export_witness: Option, // export the full witness into the given file } -pub const default_prover_options: ProverOptions = ProverOptions { +pub const DEFAULT_PROVER_OPTIONS: ProverOptions = ProverOptions { export_witness: None, }; @@ -154,6 +154,21 @@ pub fn prove, C: GenericConfig, const D: common_data: &CommonCircuitData, inputs: PartialWitness, timing: &mut TimingTree, +) -> Result> { + prove_with_options( + prover_data, + common_data, + inputs, + timing, + &DEFAULT_PROVER_OPTIONS, + ) +} + +pub fn prove_with_options, C: GenericConfig, const D: usize>( + prover_data: &ProverOnlyCircuitData, + common_data: &CommonCircuitData, + inputs: PartialWitness, + timing: &mut TimingTree, prover_options: &ProverOptions, ) -> Result> where @@ -229,7 +244,7 @@ where None => (), Some(fname) => { let things_to_export = collect_things_to_export::( &common_data, &witness ); - write_json_file(&fname, &things_to_export); + write_json_file(&fname, &things_to_export)?; println!("exported witness to `{}`",fname); }, }