Pack.Pack_impltype scalar = Kzg.Bls.Scalar.ttype g1 = Kzg.Bls.G1.ttype g2 = Kzg.Bls.G2.ttype gt = Kzg.Bls.GT.tval prover_public_parameters_t : prover_public_parameters Repr.ttype verifier_public_parameters = Kzg.Bls.G1.tval verifier_public_parameters_t : Kzg.Bls.G1.t Repr.ttype data = Kzg.Bls.G1.tval commitment_t : commitment Repr.ttype randomness = Kzg.Bls.Scalar.ttype packed = Kzg.Bls.G1.tval packed_t : Kzg.Bls.G1.t Repr.ttype ipa_proof = {t_Ls : Kzg.Bls.GT.t array;t_Rs : Kzg.Bls.GT.t array;r_Ls : Kzg.Bls.G1.t array;r_Rs : Kzg.Bls.G1.t array;a0 : Kzg.Bls.G1.t;t0 : Kzg.Bls.G2.t;}val ipa_proof_t : ipa_proof Repr.tval empty_ipa_proof : int -> ipa_prooftype kzg_proof = Kzg.Bls.G2.tval kzg_proof_t : Kzg.Bls.G2.t Repr.tval proof_t : (ipa_proof * Kzg.Bls.G2.t) Repr.tval hash :
transcript:Kzg.Utils.Transcript.t ->
?g1s:Kzg.Bls.G1.t array list ->
?g2s:Kzg.Bls.G2.t array list ->
?gts:Kzg.Bls.GT.t array list ->
?scalars:Kzg.Bls.Scalar.t array list ->
unit ->
Kzg.Bls.Scalar.t * Kzg__Utils.Transcript.tval ip_pairing :
Mavryk_bls12_381.G1.t array ->
Mavryk_bls12_381.G2.t array ->
Kzg.Bls.GT.tval setup_verifier : Kzg.Bls.Srs_g1.t -> Kzg.Bls.Srs_g1.eltval setup_prover :
int ->
(Kzg.Bls.Srs_g1.t * Kzg.Bls.Srs_g2.t) ->
prover_public_parametersval setup :
int ->
(Kzg.Bls.Srs_g1.t * Kzg.Bls.Srs_g2.t) ->
prover_public_parameters * Kzg.Bls.Srs_g1.eltval get_setup_params : prover_public_parameters -> intval public_parameters_to_bytes : prover_public_parameters -> Stdlib.Bytes.tval commit :
prover_public_parameters ->
Mavryk_bls12_381.G1.t array ->
commitmentval commitment_cardinal : commitment -> intval partial_commit :
relevant_positions:Stdlib.Int.t list ->
prover_public_parameters ->
Mavryk_bls12_381.G1.t array ->
commitmentval bytes_of_commitment : commitment -> bytesval empty_commitment : commitmentval combine : commitment -> commitment -> commitmentval pack : Kzg.Bls.G1.Scalar.t array -> Kzg.Bls.G1.t array -> Kzg.Bls.G1.tval prove_but_not_pack :
prover_public_parameters ->
Kzg.Utils.Transcript.t ->
Kzg.Bls.Scalar.t ->
Kzg.Bls.G1.t array ->
Kzg.Bls.G1.t ->
(ipa_proof * Kzg.Bls.G2.t) * Kzg__Utils.Transcript.tval prove_single :
prover_public_parameters ->
Kzg.Utils.Transcript.t ->
Kzg.Bls.Scalar.t ->
Kzg.Bls.G1.t array ->
(Kzg.Bls.G1.t * (ipa_proof * Kzg.Bls.G2.t)) * Kzg__Utils.Transcript.tval prove :
prover_public_parameters ->
Kzg.Utils.Transcript.t ->
Kzg.Bls.Scalar.t ->
Kzg.Bls.G1.t array list ->
(Kzg.Bls.G1.t list * (ipa_proof * Kzg.Bls.G2.t)) * Kzg__Utils.Transcript.tval verify_single :
Kzg.Bls.G1.t ->
Kzg.Utils.Transcript.t ->
commitment ->
Kzg.Bls.Scalar.t ->
(Kzg.Bls.G1.t * (ipa_proof * Kzg.Bls.G2.t)) ->
bool * Kzg__Utils.Transcript.tval verify :
Kzg.Bls.G1.t ->
Kzg.Utils.Transcript.t ->
commitment list ->
Kzg.Bls.Scalar.t ->
(Kzg.Bls.G1.t list * (ipa_proof * Kzg.Bls.G2.t)) ->
bool * Kzg__Utils.Transcript.t