DP_Meta.MPmodule Aggreg_circuit : sig ... endmodule L = Plompiler.LibCircuitmodule Input_commitment : sig ... endtype 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 prover_meta_pp = {meta_pp : Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Kzg.PP).Prover.public_parameters;meta_solver : Plompiler.Solver.t;public_input_size : int;input_com_sizes : int list;nb_proofs : int;nb_rc_wires : int;}val prover_meta_pp_t : prover_meta_pp Repr.tval verifier_meta_pp_t : verifier_meta_pp Repr.ttype prover_public_parameters = {main_pp : Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).Prover.public_parameters;meta_pps : prover_meta_pp Kzg.SMap.t;}val prover_public_parameters_t : prover_public_parameters Repr.ttype verifier_public_parameters = {main_pp : Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).verifier_public_parameters;meta_pps : verifier_meta_pp Kzg.SMap.t;}val verifier_public_parameters_t : verifier_public_parameters Repr.ttype proof = {main_proof : Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).proof;meta_proofs : Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Kzg.PP).proof
Kzg.SMap.t;batch : Kzg.Bls.Scalar.t Kzg.SMap.t list;batches : (Kzg.Bls.Scalar.t * int) Kzg.SMap.t list Kzg.SMap.t;cms_answers : Distribution.Polynomial_commitment.Kzg_impl.Commitment.t
Kzg.SMap.t;cms_pi : Distribution.Polynomial_commitment.Kzg_impl.Commitment.t Kzg.SMap.t;ids_batch : (Kzg.Bls.Scalar.t * int) Kzg.SMap.t;t_answers : Kzg.Bls.Scalar.t list;}val proof_t : proof Repr.ttype circuit_prover_input = {witness : scalar array;input_commitments : Plonk__Input_commitment.Make(Distributed_plonk__Distributed_prover.Main_Pack.PP.PC.Commitment).t
list;}val circuit_prover_input_t : circuit_prover_input Repr.ttype prover_inputs = circuit_prover_input list Kzg.SMap.tval prover_inputs_t : circuit_prover_input list Kzg.SMap.t Repr.tytype public_inputs = scalar listval public_inputs_t : Kzg.Bls.Scalar.t 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 Kzg.SMap.tval verifier_inputs_t : circuit_verifier_input Kzg.SMap.t Repr.tyval to_verifier_inputs :
prover_public_parameters ->
Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).circuit_prover_input
list
Plonk.Main_protocol_intf.SMap.t ->
circuit_verifier_input Kzg.SMap.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 Kzg.SMap.t ->
prover_public_parametersval filter_vrf_pp_circuits :
verifier_public_parameters ->
'a Kzg.SMap.t ->
verifier_public_parametersval cs_global : Plompiler.LibCircuit.cs_result Kzg.SMap.t Stdlib.refval input_commit_funcs :
prover_public_parameters ->
'a list Kzg.SMap.t ->
Aggregation__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).input_commit_funcs
Kzg.SMap.tval input_commit :
?size:'a ->
?shift:'b ->
prover_public_parameters ->
'c ->
'dval meta_setup :
zero_knowledge:bool ->
srs:(Kzg.Bls.Srs.t * Kzg.Bls.Srs.t) ->
main_prover_pp:
Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).Prover.public_parameters ->
nb_batches:int ->
Kzg.SMap.key ->
(Plonk.Circuit.t * int) ->
prover_meta_pp * verifier_meta_ppval 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 meta_prove :
main_prover_aux:
Aggregation__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).prover_aux ->
meta_pps:prover_meta_pp Kzg.SMap.t ->
inner_pi_map:
Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).circuit_verifier_input
Kzg.SMap.t ->
transcript:Kzg.Utils.Transcript.t ->
(Kzg.Bls.Scalar.t * 'a) Kzg.SMap.t list Kzg.SMap.t ->
Kzg.SMap.key ->
'b list ->
Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Kzg.PP).proofval meta_proof :
prover_public_parameters ->
Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).circuit_prover_input
list
Plonk.Main_protocol_intf.SMap.t ->
(Plonk__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).proof
* Aggregation__Main_protocol.Make_impl(Distributed_plonk__Distributed_prover.Main_Pack.PP).prover_aux) ->
proofval prove : prover_public_parameters -> inputs:prover_inputs -> proofval meta_verify :
transcript:Kzg.Utils.Transcript.t ->
inputs:circuit_verifier_input Kzg.SMap.t ->
proof:proof ->
(Kzg.Bls.Scalar.t
* Kzg.Bls.Scalar.t
* Kzg.Bls.Scalar.t
* Kzg.Bls.Scalar.t
* Kzg.Bls.Scalar.t
* Kzg.Bls.Scalar.t) ->
Kzg.SMap.key ->
verifier_meta_pp ->
boolval verify :
verifier_public_parameters ->
inputs:verifier_inputs ->
proof ->
boolval scalar_encoding : Kzg.Bls.Scalar.t Data_encoding.tval proof_encoding : proof Data_encoding.encodingval verifier_public_parameters_encoding :
verifier_public_parameters Data_encoding.encodingmodule Internal_for_tests : sig ... end