diff --git a/packages/rust-verifier/tests/verifier_utils.rs b/packages/rust-verifier/tests/verifier_utils.rs index 5a34aae..d5fa6ad 100644 --- a/packages/rust-verifier/tests/verifier_utils.rs +++ b/packages/rust-verifier/tests/verifier_utils.rs @@ -1,6 +1,10 @@ #[cfg(test)] mod tests { + use std::io::BufWriter; + use ark_crypto_primitives::snark::SNARK; + use ark_serialize::CanonicalSerialize; + use utils::verifier::verify; use utils::verifier_utils::{GrothBn, GrothBnProof, GrothBnVkey, JsonDecoder, PublicInputs}; #[test] @@ -12,4 +16,25 @@ mod tests { let verified = GrothBn::verify(&vkey, &public_inputs, &proof).unwrap(); assert!(verified); } + + #[test] + fn test_embedded_verifier() { + let proof = GrothBnProof::from_json_file("tests/data/proof_of_twitter/proof.json"); + let public_inputs: PublicInputs<3> = + PublicInputs::from_json_file("tests/data/proof_of_twitter/public.json"); + + let mut serialized_public_inputs = Vec::new(); + let mut serialized_proof = Vec::new(); + { + let writer = BufWriter::new(&mut serialized_public_inputs); + public_inputs.inputs.serialize_compressed(writer).unwrap(); + + let writer = BufWriter::new(&mut serialized_proof); + proof.serialize_compressed(writer).unwrap(); + } + + let verified = verify(&serialized_proof, &serialized_public_inputs); + + assert!(verified); + } } diff --git a/yarn.lock b/yarn.lock index 68b500f..c6ea7d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7474,7 +7474,13 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.5.5": +"rust-verifier@workspace:packages/rust-verifier": + version: 0.0.0-use.local + resolution: "rust-verifier@workspace:packages/rust-verifier" + languageName: unknown + linkType: soft + +"rxjs@npm:^7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: