diff --git a/o1vm/src/pickles/main.rs b/o1vm/src/pickles/main.rs index dec89c4d6a..b1ce33a603 100644 --- a/o1vm/src/pickles/main.rs +++ b/o1vm/src/pickles/main.rs @@ -17,10 +17,7 @@ use o1vm::{ witness::{self as mips_witness}, ITypeInstruction, Instruction, RTypeInstruction, }, - pickles::{ - proof::{Proof, ProofInputs}, - prover, - }, + pickles::{proof::ProofInputs, prover, verifier}, preimage_oracle::PreImageOracle, }; use poly_commitment::{ipa::SRS, SRS as _}; @@ -140,19 +137,26 @@ pub fn main() -> ExitCode { // FIXME let start_iteration = Instant::now(); debug!("Limit of {DOMAIN_SIZE} reached. We make a proof, verify it (for testing) and start with a new chunk"); - let _proof: Result<Proof<Vesta>, prover::ProverError> = - prover::prove::< - Vesta, - DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>, - DefaultFrSponge<Fp, PlonkSpongeConstantsKimchi>, - _, - >(domain_fp, &srs, curr_proof_inputs, &constraints, &mut rng); + let proof = prover::prove::< + Vesta, + DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>, + DefaultFrSponge<Fp, PlonkSpongeConstantsKimchi>, + _, + >(domain_fp, &srs, curr_proof_inputs, &constraints, &mut rng) + .unwrap(); // FIXME: check that the proof is correct. This is for testing purposes. // Leaving like this for now. debug!( "Proof generated in {elapsed} μs", elapsed = start_iteration.elapsed().as_micros() ); + let verif = verifier::verify::< + Vesta, + DefaultFqSponge<VestaParameters, PlonkSpongeConstantsKimchi>, + DefaultFrSponge<Fp, PlonkSpongeConstantsKimchi>, + >(domain_fp, &srs, &constraints, &proof); + assert!(verif); + curr_proof_inputs = ProofInputs::new(DOMAIN_SIZE); } }