Main_protocol.Make_implSourcemodule Super_PP : Polynomial_protocol.Sinclude sig ... endtype proof = {perm_and_plook : Commitment.t;wires_cm : Commitment.t;pp_proof : Super_PP.proof;}val verifier_inputs_t :
(Plonk.Bls.Scalar.t array list * Super_PP.PC.Commitment.t list list)
Plonk.SMap.t
Repr.tyval hash_verifier_inputs :
(Plonk.Bls.Scalar.t array list * Super_PP.PC.Commitment.t list list)
Plonk.SMap.t ->
bytestype prover_public_parameters = Prover.public_parameters = {common_pp : Prover.common_prover_pp;circuits_map : Prover.circuit_prover_pp Plonk.SMap.t;transcript : Bytes.t;}type verifier_public_parameters = {common_pp : Verifier.common_verifier_pp;circuits_map : Verifier.circuit_verifier_pp Plonk.SMap.t;transcript : Bytes.t;}val to_verifier_inputs :
prover_public_parameters ->
circuit_prover_input list Plonk.SMap.t ->
(public_inputs * Super_PP.PC.Commitment.t list list) Plonk.SMap.tval expand_transcript_with_verifier_inputs :
bytes ->
(Plonk.Bls.Scalar.t array list * Super_PP.PC.Commitment.t list list)
Plonk.SMap.t ->
bytesval input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
Plonk.Bls.Scalar.t array ->
Plonk__Input_commitment.Make(Super_PP.PC.Commitment).tval update_prover_public_parameters :
bytes ->
prover_public_parameters ->
prover_public_parametersval update_verifier_public_parameters :
bytes ->
verifier_public_parameters ->
verifier_public_parametersval filter_prv_pp_circuits :
prover_public_parameters ->
'a Plonk.SMap.t ->
prover_public_parametersval filter_vrf_pp_circuits :
verifier_public_parameters ->
'a Plonk.SMap.t ->
verifier_public_parametersval setup :
zero_knowledge:bool ->
(Plonk.Circuit.t * int) Plonk.SMap.t ->
srs:
(Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t
* Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t) ->
prover_public_parameters * verifier_public_parametersval prove :
prover_public_parameters ->
inputs:circuit_prover_input Plonk.List.t Plonk.SMap.t ->
proofval verify :
verifier_public_parameters ->
inputs:(public_inputs * Super_PP.PC.Commitment.t list list) Plonk.SMap.t ->
proof ->
boolmodule PP = Super_PPtype prover_aux = {answers : scalar SMap.t SMap.t list;batch : scalar SMap.t list;alpha : scalar;beta : scalar;gamma : scalar;delta : scalar;x : scalar;r : scalar;cms_answers : PP.Answers_commitment.t SMap.t;cms_pi : PP.Answers_commitment.t SMap.t;ids_batch : (scalar * int) SMap.t;t_answers : scalar list;}type input_commit_info = {nb_max_answers : int;nb_max_pi : int;func : ?size:int ->
?shift:int ->
scalar array ->
Super_PP.Answers_commitment.t;}val hash_pi :
prover_public_parameters ->
input_commit_info SMap.t ->
circuit_prover_input list SMap.t ->
scalar array list SMap.t * Super_PP.Answers_commitment.t SMap.tval compute_ids_batch :
prover_public_parameters ->
gate_randomness ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t array Plonk.List.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t SMap.t SMap.t list ->
'a SMap.t ->
(Plonk.Bls.Scalar.t * int) SMap.tval update_prv_pp_transcript_with_pi :
prover_public_parameters ->
PP.Answers_commitment.t SMap.t ->
prover_public_parametersval commit_to_answers_map :
input_commit_info SMap.t ->
(scalar array -> Super_PP.Answers_commitment.t) SMap.tval prove_list :
prover_public_parameters ->
input_commit_infos:input_commit_info SMap.t ->
inputs:circuit_prover_input Plonk.List.t SMap.t ->
proof * prover_auxval verify_list :
verifier_public_parameters ->
(proof
* Plonk.Bls.Scalar.t Plonk.SMap.t list
* Super_PP.Answers_commitment.public Plonk.SMap.t
* PP.Answers_commitment.public SMap.t
* Plonk.Bls.Scalar.t list
* (Plonk.Bls.Scalar.t * int) Plonk.SMap.t) ->
bool * verifier_aux