Main_protocol.Make_implmodule PP : Polynomial_protocol.Smodule RangeCheck : sig ... endmodule Perm : sig ... endmodule Plook : sig ... endmodule Gates = Custom_gatesmodule Commitment = PP.PC.Commitmentmodule Input_commitment : sig ... endmodule PP = PPtype scalar = Kzg.Bls.Scalar.tval scalar_t : Kzg.Bls.Scalar.t Repr.tval proof_t : proof Repr.tval circuit_prover_input_t : circuit_prover_input Repr.ttype prover_inputs = circuit_prover_input list SMap.tval prover_inputs_t : circuit_prover_input list SMap.t Repr.tytype public_inputs = scalar array listval public_inputs_t : Kzg.Bls.Scalar.t array list Repr.ttype circuit_verifier_input = {nb_proofs : int;public : public_inputs;commitments : Input_commitment.public list list;}val circuit_verifier_input_t : circuit_verifier_input Repr.ttype verifier_inputs = circuit_verifier_input SMap.tval verifier_inputs_t : circuit_verifier_input SMap.t Repr.tyval check_circuit_name : 'a SMap.t -> unitval build_gates_randomness :
Kzg__Utils.Transcript.t ->
gate_randomness * Kzg__Utils.Transcript.tmodule Prover : sig ... endmodule Verifier : sig ... endtype prover_public_parameters = Prover.public_parameters = {common_pp : Prover.common_prover_pp;circuits_map : Prover.circuit_prover_pp SMap.t;transcript : Kzg.Utils.Transcript.t;}val prover_public_parameters_t : prover_public_parameters Repr.ttype verifier_public_parameters = {common_pp : Verifier.common_verifier_pp;circuits_map : Verifier.circuit_verifier_pp SMap.t;transcript : Kzg.Utils.Transcript.t;}val verifier_public_parameters_t : verifier_public_parameters Repr.tmodule Preprocess : sig ... endval to_verifier_inputs :
prover_public_parameters ->
circuit_prover_input list SMap.t ->
circuit_verifier_input SMap.tval input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
Kzg.Bls.Scalar.t array ->
Input_commitment.tval update_prover_public_parameters :
'a Repr.ty ->
'b ->
prover_public_parameters ->
prover_public_parametersval update_verifier_public_parameters :
'a Repr.ty ->
'b ->
verifier_public_parameters ->
verifier_public_parametersval filter_prv_pp_circuits :
prover_public_parameters ->
'a SMap.t ->
prover_public_parametersval filter_vrf_pp_circuits :
verifier_public_parameters ->
'a SMap.t ->
verifier_public_parametersval setup :
zero_knowledge:bool ->
(Circuit.t * int) SMap.t ->
srs:(Kzg.Bls.Srs.t * Kzg.Bls.Srs.t) ->
prover_public_parameters * verifier_public_parametersval prove :
prover_public_parameters ->
inputs:circuit_prover_input List.t SMap.t ->
proofval verify :
verifier_public_parameters ->
inputs:circuit_verifier_input SMap.t ->
proof ->
boolval scalar_encoding : Kzg.Bls.Scalar.t Data_encoding.encodingval proof_encoding : proof Data_encoding.encodingval verifier_public_parameters_encoding :
verifier_public_parameters Data_encoding.encodingmodule Internal_for_tests : sig ... end