provekit_common/
verifier.rs1use {
2 crate::{
3 noir_proof_scheme::NoirProofScheme, utils::serde_jsonify, whir_r1cs::WhirR1CSScheme, R1CS,
4 },
5 noirc_abi::Abi,
6 serde::{Deserialize, Serialize},
7};
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct Verifier {
11 pub r1cs: R1CS,
12 pub whir_for_witness: Option<WhirR1CSScheme>,
13 #[serde(with = "serde_jsonify")]
14 pub abi: Abi,
15}
16
17impl Verifier {
18 #[must_use]
19 pub fn from_noir_proof_scheme(scheme: NoirProofScheme) -> Self {
20 Self {
21 r1cs: scheme.r1cs,
22 whir_for_witness: Some(scheme.whir_for_witness),
23 abi: scheme.witness_generator.abi.clone(),
24 }
25 }
26}