package tezos-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

Signature

module Fr_generation = PC.Fr_generation
module PC = PC
module MP : sig ... end
module MPoly = MP.Polynomial
module Domain = PC.Polynomial.Domain
module Evaluations : sig ... end
type prover_public_parameters = {
  1. pc_public_parameters : PC.Public_parameters.prover;
  2. subgroup_size : int;
  3. g_map : Poly.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 * Poly.t) SMap.t;
  2. precomputed_polys : Evaluations.t SMap.t;
}
val empty_prover_query : prover_query
type not_committed = ..
val eval_not_committed : (not_committed -> PC.Scalar.t array -> PC.Scalar.t) Stdlib.ref
val cases_not_committed : not_committed Data_encoding.case SMap.t Stdlib.ref
val not_committed_encoding : not_committed 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 verifier_query = {
  1. v_map : (string * Poly.t) SMap.t;
  2. identities : MPoly.t SMap.t;
  3. not_committed : not_committed SMap.t;
}
val empty_verifier_query : verifier_query
val verifier_query_encoding : verifier_query Data_encoding.t
type aggregation_infos = {
  1. nb_proofs : int SMap.t;
  2. common_keys : string list;
}
type proof_type =
  1. | Single
  2. | Aggregated of aggregation_infos
type secret = Poly.t SMap.t
type transcript = Stdlib.Bytes.t
val transcript_encoding : Stdlib.Bytes.t Data_encoding.encoding
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
exception Rest_not_null of string
module Prover : sig ... end
exception Wrong_transcript of string
module Verifier : sig ... end
val setup : setup_params:PC.Public_parameters.setup_params -> PC.secret -> subgroup_size:int -> ((string * string) * (string * string)) -> prover_public_parameters * verifier_public_parameters
val merge_prover_queries : prover_query list -> prover_query
val merge_verifier_queries : ?common_keys:SMap.key list -> verifier_query list -> verifier_query
val merge_v_map : len_prefix:int -> SMap.key list -> (string * Poly.t) Stdlib__Map.Make(Stdlib.String).t List.t -> (string * Poly.t) SMap.t
val update_common_keys_with_v_map : ?extra_prefix:string -> string list -> v_map:(string * 'a) SMap.t -> string list
val merge_equal_set_of_keys_prover_queries : ?extra_prefix:string -> len_prefix:int -> common_keys:Stdlib.String.t list -> prover_query list -> prover_query
val merge_equal_set_of_keys_verifier_queries : ?extra_prefix:string -> len_prefix:int -> common_keys:Stdlib.String.t list -> verifier_query list -> verifier_query
val merge_vmaps : (Stdlib.String.t * Poly.t) SMap.t -> (Stdlib.String.t * Poly.t) SMap.t -> string -> (Stdlib.String.t * Poly.t) SMap.t
val sum_prover_queries : prover_query -> prover_query -> prover_query
val sum_verifier_queries : verifier_query -> verifier_query -> verifier_query
val intersects_v_map : (Stdlib.String.t * 'a) SMap.t -> 'b SMap.t -> bool
val prove : prover_public_parameters -> Stdlib.Bytes.t -> (Poly.t SMap.t list * PC.Commitment.prover_aux list) -> prover_query -> proof * PC.transcript
val verify : proof_type:proof_type -> verifier_public_parameters -> Stdlib.Bytes.t -> PC.Commitment.t list -> ?not_committed_online:MPoly.t SMap.t -> proof -> verifier_query -> bool * PC.transcript
OCaml

Innovation. Community. Security.