pub(crate) fn prove_and_verify(
    domain_fp: EvaluationDomains<Fp>,
    srs: &SRS<Vesta>,
    constraints: &[E<Fp>],
    curr_proof_inputs: ProofInputs<Vesta>,
    rng: &mut ThreadRng
)