From e5bc2c197f609b167d6314d090c0bcf852d2c82f Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Tue, 5 Feb 2019 18:56:04 +0300 Subject: [PATCH] fetch values for input verification from synthesized circuit --- src/sonic/helped/verifier.rs | 8 ++++++++ tests/mimc.rs | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/sonic/helped/verifier.rs b/src/sonic/helped/verifier.rs index 1bed9a4..5010d1c 100644 --- a/src/sonic/helped/verifier.rs +++ b/src/sonic/helped/verifier.rs @@ -247,6 +247,14 @@ impl, S: SynthesisDriver> MultiVerifier { } } + pub fn get_k_map(&self) -> Vec { + return self.k_map.clone(); + } + + pub fn get_n(&self) -> usize { + return self.n; + } + pub fn check_all(self) -> bool { self.batch.check_all() } diff --git a/tests/mimc.rs b/tests/mimc.rs index 6501c07..3be384d 100644 --- a/tests/mimc.rs +++ b/tests/mimc.rs @@ -621,6 +621,19 @@ fn test_inputs_into_sonic_mimc() { } println!("done in {:?}", start.elapsed()); } + + { + let mut verifier = MultiVerifier::::new(AdaptorCircuit(circuit.clone()), &srs).unwrap(); + println!("verifying 1 proof with advice"); + let start = Instant::now(); + { + for _ in 0..1 { + verifier.add_proof_with_advice(&proof, &[image], &advice); + } + assert_eq!(verifier.check_all(), true); // TODO + } + println!("done in {:?}", start.elapsed()); + } { let mut verifier = MultiVerifier::::new(AdaptorCircuit(circuit.clone()), &srs).unwrap();