Main_protocol.Make_implSourcemodule Super_PP : Polynomial_protocol.S with type PC.Scalar.t = Plompiler.S.tinclude sig ... endtype proof = {perm_and_plook : Super_PP.PC.Commitment.t;wires_cm : Super_PP.PC.Commitment.t;pp_proof : Super_PP.proof;}type verifier_public_parameters = {common_pp : Verifier.verifier_common_pp;circuits_map : Verifier.verifier_circuit_pp SMap.t;transcript : Bytes.t;}val setup :
zero_knowledge:bool ->
(Plonk.Circuit.t * int) SMap.t ->
srs:(Bls12_381_polynomial.Srs.t * Bls12_381_polynomial.Srs.t) ->
prover_public_parameters * verifier_public_parametersval update_prover_public_parameters :
bytes ->
prover_public_parameters ->
Prover.prover_public_parametersval update_verifier_public_parameters :
bytes ->
verifier_public_parameters ->
verifier_public_parametersval verify :
verifier_public_parameters ->
inputs:Gates.PP.PC.Scalar.t array list SMap.t ->
proof ->
boolmodule PP = Super_PPval prove_list :
prover_public_parameters ->
inputs:circuit_prover_input list SMap.t ->
proof * prover_auxval verify_list :
verifier_public_parameters ->
nb_proofs:int ->
(proof
* Super_PP.PC.Scalar.t Plonk.SMap.t list
* Super_PP.PC.Scalar.t
* Scalar.t) ->
bool * verifier_aux