pub fn create_caml_oracles<G, CamlF, EFqSponge, EFrSponge, CurveParams>(
    lgr_comm: Vec<PolyComm<G>>,
    index: VerifierIndex<G, OpeningProof<G>>,
    proof: ProverProof<G, OpeningProof<G>>,
    public_input: &[G::ScalarField]
) -> Result<CamlOracles<CamlF>, VerifyError>where
    G: KimchiCurve,
    G::BaseField: PrimeField,
    EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>,
    EFrSponge: FrSponge<G::ScalarField>,
    CamlF: From<G::ScalarField>,