snark_wrapper 0.30.5

ZKsync snark wrapper
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::*;

use crate::boojum::cs::implementations::prover::ProofConfig;
use crate::boojum::cs::{CSGeometry, LookupParameters};
use crate::verifier_structs::WrapperVerifier;

pub trait ErasedBuilderForWrapperVerifier<E: Engine, CS: ConstraintSystem<E>> {
    fn geometry(&self) -> CSGeometry;
    fn lookup_parameters(&self) -> LookupParameters;
    fn create_wrapper_verifier(&self, cs: &mut CS) -> WrapperVerifier<E, CS>;
}

pub trait ProofWrapperFunction<E: Engine> {
    fn builder_for_wrapper<CS: ConstraintSystem<E> + 'static>(&self) -> Box<dyn ErasedBuilderForWrapperVerifier<E, CS>>;

    fn proof_config_for_compression_step(&self) -> ProofConfig;
}