mirror of
https://github.com/logos-storage/proof-aggregation.git
synced 2026-01-02 13:53:13 +00:00
24 lines
828 B
Rust
24 lines
828 B
Rust
use std::time::Instant;
|
|
use anyhow::Result;
|
|
use proof_input::params::{D, C, F};
|
|
use proof_input::serialization::file_paths::{PROOF_JSON, VERIFIER_CIRC_DATA_JSON};
|
|
use proof_input::serialization::json::{import_proof_with_pi, import_verifier_circuit_data};
|
|
|
|
fn main() -> Result<()> {
|
|
|
|
// read the circuit data
|
|
let verifier_data = import_verifier_circuit_data::<F,C,D>()?;
|
|
println!("Verifier circuit data imported from: {}", VERIFIER_CIRC_DATA_JSON);
|
|
|
|
// Read the proof
|
|
let proof_with_pi = import_proof_with_pi::<F,C,D>()?;
|
|
println!("Proof with public input imported from: {}", PROOF_JSON);
|
|
|
|
// verify the proof
|
|
let start_time = Instant::now();
|
|
assert!(verifier_data.verify(proof_with_pi).is_ok(), "proof is NOT VALID");
|
|
println!("Verifying time: {:?}", start_time.elapsed());
|
|
|
|
Ok(())
|
|
}
|