Skip to main content

zkcg_verifier/core/
proof.rs

1#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
2pub enum ProofSystem {
3    Halo2,
4    ZkVm,
5    Groth16,
6    Stark,
7    Custom(&'static str),
8}
9
10#[derive(Clone, Debug, PartialEq, Eq)]
11pub struct Proof {
12    pub system: ProofSystem,
13    pub data: Vec<u8>,
14}
15
16impl Proof {
17    pub fn new(system: ProofSystem, data: impl Into<Vec<u8>>) -> Self {
18        Self {
19            system,
20            data: data.into(),
21        }
22    }
23}
24
25impl ProofSystem {
26    pub const fn custom(name: &'static str) -> Self {
27        Self::Custom(name)
28    }
29}