pub fn prove<E: PairingEngine, R: RngCore + CryptoRng, C: ConstraintSynthesizer<E::Fr>>( circuit: C, pk_bytes: &[u8], rng: &mut R, ) -> Result<Vec<u8>, Error>