Main_protocol.MakeSupermodule PP : Polynomial_protocol.Supermodule PP = PPmodule MP : sig ... endinclude module type of MP with module PP := PPmodule RangeCheck : sig ... endmodule Perm : sig ... endmodule Plook : sig ... endmodule Gates = Plonk.Custom_gatestype scalar = Kzg.Bls.Scalar.tval scalar_t : Kzg.Bls.Scalar.t Repr.ttype circuit_map = (Plonk.Circuit.t * int) Plonk.Main_protocol_intf.SMap.ttype proof = {perm_and_plook : PP.PC.Commitment.t;wires_cm : PP.PC.Commitment.t;pp_proof : PP.proof;}val proof_t : proof Repr.ttype circuit_prover_input = {witness : scalar array;input_commitments : Plonk__Input_commitment.Make(PP.PC.Commitment).t list;}val circuit_prover_input_t : circuit_prover_input Repr.ttype prover_inputs = circuit_prover_input list Plonk.Main_protocol_intf.SMap.tval prover_inputs_t :
circuit_prover_input list Plonk.Main_protocol_intf.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 : PP.PC.Commitment.t list list;}val circuit_verifier_input_t : circuit_verifier_input Repr.ttype verifier_inputs = circuit_verifier_input Plonk.Main_protocol_intf.SMap.tval verifier_inputs_t :
circuit_verifier_input Plonk.Main_protocol_intf.SMap.t Repr.tyval check_circuit_name : 'a Plonk.Main_protocol_intf.SMap.t -> unitval check_circuits :
'a Plonk.Main_protocol_intf.SMap.t ->
'b Plonk.Main_protocol_intf.SMap.t ->
unitval name_wires :
'a array list Plonk.Main_protocol_intf.SMap.t ->
'a Plonk.Main_protocol_intf.SMap.t list Plonk.Main_protocol_intf.SMap.tval 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 Plonk.Main_protocol_intf.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 Plonk.Main_protocol_intf.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 Plonk.Main_protocol_intf.SMap.t ->
circuit_verifier_input Plonk.Main_protocol_intf.SMap.tval input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
Kzg.Bls.Scalar.t array ->
Plonk__Input_commitment.Make(PP.PC.Commitment).tval update_prover_public_parameters :
'a Repr.ty ->
'a ->
prover_public_parameters ->
prover_public_parametersval update_verifier_public_parameters :
'a Repr.ty ->
'a ->
verifier_public_parameters ->
verifier_public_parametersval filter_prv_pp_circuits :
prover_public_parameters ->
'a Plonk.Main_protocol_intf.SMap.t ->
prover_public_parametersval filter_vrf_pp_circuits :
verifier_public_parameters ->
'a Plonk.Main_protocol_intf.SMap.t ->
verifier_public_parametersval setup :
zero_knowledge:bool ->
(Plonk.Circuit.t * int) Plonk.Main_protocol_intf.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 Plonk.List.t Plonk.Main_protocol_intf.SMap.t ->
proofval verify :
verifier_public_parameters ->
inputs:circuit_verifier_input Plonk.Main_protocol_intf.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 ... endmodule Input_commitment : sig ... endtype prover_aux = {answers : scalar Kzg.SMap.t Kzg.SMap.t list;batch : scalar Kzg.SMap.t list;alpha : scalar;beta : scalar;gamma : scalar;delta : scalar;x : scalar;r : scalar;cms_answers : PP.Answers_commitment.t Kzg.SMap.t;cms_pi : PP.Answers_commitment.t Kzg.SMap.t;ids_batch : (scalar * int) Kzg.SMap.t;t_answers : scalar list;}type input_commit_funcs = {pi : scalar array -> PP.Answers_commitment.t;answers : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
PP.Answers_commitment.t;}val commit_pi :
prover_public_parameters ->
input_commit_funcs Kzg.SMap.t ->
circuit_prover_input list Kzg.SMap.t ->
circuit_verifier_input Kzg.SMap.t * PP.Answers_commitment.t Kzg.SMap.tval compute_ids_batch :
prover_public_parameters ->
gate_randomness ->
Kzg.Bls.Scalar.t ->
Kzg.Bls.Scalar.t ->
circuit_verifier_input Plonk.Main_protocol_intf.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
'a Kzg.SMap.t ->
(Kzg.Bls.Scalar.t * int) Kzg.SMap.tval update_transcript_with_pi :
Kzg.Utils.Transcript.t ->
PP.Answers_commitment.public Kzg.SMap.t ->
Kzg.Utils.Transcript.tval update_prv_pp_transcript_with_pi :
prover_public_parameters ->
PP.Answers_commitment.t Kzg.SMap.t ->
prover_public_parametersval prove_list :
prover_public_parameters ->
input_commit_funcs:input_commit_funcs Kzg.SMap.t ->
inputs:circuit_prover_input Plonk.List.t Kzg.SMap.t ->
proof * prover_auxval verify_list :
verifier_public_parameters ->
(proof
* Kzg.Bls.Scalar.t Kzg.SMap.t list
* PP.Answers_commitment.public Kzg.SMap.t
* PP.Answers_commitment.public Kzg.SMap.t
* Kzg.Bls.Scalar.t list
* (Kzg.Bls.Scalar.t * int) Kzg.SMap.t) ->
bool * verifier_auxval get_gen_n_prover : prover_public_parameters -> Kzg.Bls.Domain.scalar * intval get_gen_n_verifier : verifier_public_parameters -> Kzg.Bls.Scalar.t * intinclude sig ... endmodule Commitment : sig ... endtype commit_to_wires_reply = Commitment.tval commit_to_wires_reply_t : Commitment.t Repr.tval worker_inputs_t : worker_inputs Repr.tval split_inputs_map :
nb_workers:int ->
Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list SMap.t ->
worker_inputs SMap.t listtype commit_to_plook_rc_reply = Common(PP).commit_to_plook_rc_reply = {batched_wires_map : Plonk.Identities.Evaluations.t SMap.t SMap.t;cmt : Commitment.t;f_map : Kzg.Bls.Poly.t SMap.t;prover_aux : Commitment.prover_aux;}val commit_to_plook_rc_reply_t : commit_to_plook_rc_reply Repr.ttype commit_to_plook_rc_remember = Common(PP).commit_to_plook_rc_remember = {beta : Kzg.Bls.Scalar.t;gamma : Kzg.Bls.Scalar.t;}type commit_to_wires_remember = Common(PP).commit_to_wires_remember = {all_f_wires : Kzg.Bls.Poly.t SMap.t;wires_list_map : Plonk.Identities.Evaluations.t SMap.t list SMap.t;inputs_map : Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list
SMap.t;shifts_map : (int * int) SMap.t;f_wires : Kzg.Bls.Poly.t SMap.t list SMap.t;cm_aux_wires : Commitment.prover_aux;}val worker_commit_to_wires :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
worker_inputs SMap.t ->
PP.PC.Commitment.t * commit_to_wires_rememberval commit_to_plook_rc :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
(int * int) Kzg__SMap.t ->
Kzg__Utils.Transcript.t ->
Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t list
Plonk.Identities.SMap.t ->
commit_to_plook_rc_reply * commit_to_plook_rc_rememberval batch_evaluated_ids :
alpha:Kzg.Bls.Scalar.t ->
Plonk.Identities.Evaluations.t SMap.t ->
string list ->
Plonk.Identities.Evaluations.tval kzg_eval_at_x :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Kzg__Utils.Transcript.t ->
(Kzg.Bls.Poly.t Kzg.SMap.t * 'a) list ->
Kzg.Bls.Scalar.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t listval build_batched_witness_polys_bis :
(bool * int * Kzg.Bls.Domain.t) ->
Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t SMap.t ->
Kzg.Bls.Poly.t Kzg__SMap.tval build_f_map_rc_2 :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Plonk__Main_protocol.Make_impl(PP).gate_randomness ->
Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t
Plonk.Main_protocol_intf.SMap.t ->
Kzg.Bls.Poly.t Kzg__SMap.tval make_secret :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
(Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t * PP.PC.Commitment.prover_aux) ->
(Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t * PP.PC.Commitment.prover_aux)
listval make_eval_points :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Plonk.Identities.eval_point list list
* Plonk.Identities.eval_point list Plonk.List.tval get_generator :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Kzg.Bls.Domain.scalarval get_srs :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
PP.PC.Public_parameters.proverval get_gen_n_nbt :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Kzg.Bls.Domain.scalar * int * intval get_transcript :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Kzg.Utils.Transcript.t