Main_protocol.Make
module PIs : Pi_parameters.S
module Input_commitment : sig ... end
type scalar = Kzg.Bls.Scalar.t
val scalar_t : scalar Repr.t
val scalar_encoding : scalar Data_encoding.t
type circuit_map = (Plonk.Circuit.t * int) Kzg.SMap.t
type prover_public_parameters =
Make_raw(Main_KZG)(Main_Pack)(PIs).prover_public_parameters
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters =
Make_raw(Main_KZG)(Main_Pack)(PIs).verifier_public_parameters
val verifier_public_parameters_t : verifier_public_parameters Repr.t
val verifier_public_parameters_encoding :
verifier_public_parameters Data_encoding.t
type proof = Make_raw(Main_KZG)(Main_Pack)(PIs).proof
val proof_t : proof Repr.t
val proof_encoding : proof Data_encoding.t
type circuit_prover_input = Main_Pack.circuit_prover_input = {
witness : scalar array;
input_commitments : Input_commitment.t list;
}
val circuit_prover_input_t : circuit_prover_input Repr.t
type prover_inputs = circuit_prover_input list Kzg.SMap.t
val prover_inputs_t : prover_inputs Repr.t
type public_inputs = Kzg.Bls.Scalar.t list
val public_inputs_t : public_inputs Repr.t
type circuit_verifier_input =
Make_raw(Main_KZG)(Main_Pack)(PIs).circuit_verifier_input =
{
nb_proofs : int;
public : public_inputs;
commitments : Input_commitment.public list list;
}
val circuit_verifier_input_t : circuit_verifier_input Repr.t
type verifier_inputs = circuit_verifier_input Kzg.SMap.t
val verifier_inputs_t : verifier_inputs Repr.t
val to_verifier_inputs :
prover_public_parameters ->
prover_inputs ->
verifier_inputs
val input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
scalar array ->
Input_commitment.t
val setup :
zero_knowledge:bool ->
circuit_map ->
srs:(Kzg.Bls.Srs.t * Kzg.Bls.Srs.t) ->
prover_public_parameters * verifier_public_parameters
val update_prover_public_parameters :
'a Repr.ty ->
'a ->
prover_public_parameters ->
prover_public_parameters
val update_verifier_public_parameters :
'a Repr.ty ->
'a ->
verifier_public_parameters ->
verifier_public_parameters
val prove : prover_public_parameters -> inputs:prover_inputs -> proof
val verify :
verifier_public_parameters ->
inputs:verifier_inputs ->
proof ->
bool
module Internal_for_tests : sig ... end