package tezos-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Make (PC : Kzg.Polynomial_commitment_sig) : sig ... end
module type Polynomial_protocol_sig = sig ... end
include Polynomial_protocol_sig
exception Wrong_transcript of string
type prover_public_parameters = {
  1. pc_public_parameters : PC.Public_parameters.prover;
  2. subgroup_size : int;
  3. g_map : PC.Polynomial.Polynomial.t SMap.t;
  4. g_prover_aux : PC.Commitment.prover_aux;
}
type verifier_public_parameters = {
  1. pc_public_parameters : PC.Public_parameters.verifier;
  2. subgroup_size : int;
  3. cm_g_map : PC.Commitment.t;
}
val verifier_public_parameters_encoding : verifier_public_parameters Data_encoding.t
type prover_query = {
  1. v_map : (string * PC.Polynomial.Polynomial.t) SMap.t;
  2. precomputed_polys : Evaluations.t SMap.t;
}
type not_committed = ..
type verifier_query = {
  1. v_map : (string * PC.Polynomial.Polynomial.t) SMap.t;
  2. identities : PC.Scalar.t MP.MonomialMap.t SMap.t;
  3. not_committed : not_committed SMap.t;
}
val verifier_query_encoding : verifier_query Data_encoding.t
val register_nc_eval_and_encoding : (not_committed -> (PC.Scalar.t array -> PC.Scalar.t) option) -> title:string -> tag:int -> 'b Data_encoding.t -> (not_committed -> 'b option) -> ('b -> not_committed) -> unit
type aggregation_infos = {
  1. nb_proofs : int SMap.t;
  2. common_keys : string list;
}
type proof_type =
  1. | Single
  2. | Aggregated of aggregation_infos
val empty_prover_query : prover_query
val empty_verifier_query : verifier_query
val merge_prover_queries : prover_query list -> prover_query
val merge_verifier_queries : ?common_keys:string list -> verifier_query list -> verifier_query
val sum_prover_queries : prover_query -> prover_query -> prover_query
val sum_verifier_queries : verifier_query -> verifier_query -> verifier_query
val update_common_keys_with_v_map : ?extra_prefix:string -> string list -> v_map:(string * PC.Polynomial.Polynomial.t) SMap.t -> string list
val merge_equal_set_of_keys_prover_queries : ?extra_prefix:string -> len_prefix:int -> common_keys:string list -> prover_query list -> prover_query
val merge_equal_set_of_keys_verifier_queries : ?extra_prefix:string -> len_prefix:int -> common_keys:string list -> verifier_query list -> verifier_query
type transcript = PC.transcript
val transcript_encoding : transcript Data_encoding.t
type proof = {
  1. cm_t_map : PC.Commitment.t;
  2. pc_proof : PC.proof;
  3. pc_answers : PC.answer list;
}
val proof_encoding : proof Data_encoding.t
val verify : proof_type:proof_type -> verifier_public_parameters -> transcript -> PC.Commitment.t list -> ?not_committed_online:MP.Polynomial.t SMap.t -> proof -> verifier_query -> bool * transcript
OCaml

Innovation. Community. Security.