package tezos-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type prover_common_pp = {
  1. n : int;
  2. domain : Domain.t;
  3. pp_public_parameters : PP.prover_public_parameters;
  4. evaluations : Evaluations.t SMap.t;
  5. common_keys : string list;
  6. zk : bool;
}
type prover_circuit_pp = {
  1. circuit_size : int;
  2. nb_wires : int;
  3. gates : Scalar.t array SMap.t;
  4. tables : Scalar.t array list;
  5. wires : int array SMap.t;
  6. permutation : int array;
  7. evaluations : Evaluations.t SMap.t;
  8. alpha : Scalar.t;
  9. ultra : bool;
}
val enforce_wire_values : int array SMap.t -> 'a array -> 'a array SMap.t
val compute_wire_polynomials : zero_knowledge:bool -> module_list:(module Gates.Gate_base_sig) list -> int -> Evaluations.domain -> Evaluations.scalar array SMap.t -> Poly.t SMap.t * Poly.t SMap.t option
type wires_info = {
  1. wires : scalar array SMap.t;
  2. f_wires_map : Evaluations.polynomial SMap.t;
  3. f_blinds_map : Evaluations.polynomial SMap.t option;
  4. wires_values : scalar array;
  5. wires_indices : int array SMap.t;
}
val build_wires_map : zero_knowledge:bool -> prover_common_pp -> prover_circuit_pp SMap.t -> SMap.key -> prover_inputs list -> Poly.t SMap.t list * wires_info list
val build_all_f_wires_map : zero_knowledge:bool -> prover_common_pp -> prover_circuit_pp SMap.t -> prover_inputs list SMap.t -> Poly.t SMap.t list SMap.t * wires_info list SMap.t
val build_aggregated_wires_map : zero_knowledge:bool -> Poly.scalar -> prover_common_pp -> prover_circuit_pp SMap.t -> wires_info list SMap.t -> SMap.key -> Evaluations.t -> Poly.t SMap.t
val build_all_aggregated_wires_map : zero_knowledge:bool -> Poly.scalar -> prover_common_pp -> prover_circuit_pp SMap.t -> Poly.t SMap.t list SMap.t -> wires_info list SMap.t -> Evaluations.t SMap.t -> Poly.t SMap.t SMap.t
val add_prefix_to_query : prefix:string -> PP.prover_query -> PP.prover_query
val build_query : prover_common_pp -> Perm.PP.PC.Scalar.t -> Perm.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> prover_circuit_pp SMap.t -> prover_inputs list SMap.t -> PP.Evaluations.polynomial SMap.t SMap.t -> SMap.key -> PP.Evaluations.polynomial SMap.t list -> PP.prover_query
val build_all_queries : prover_common_pp -> Perm.PP.PC.Scalar.t -> Perm.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> prover_circuit_pp SMap.t -> prover_inputs list SMap.t -> PP.Evaluations.polynomial SMap.t SMap.t -> PP.Evaluations.polynomial SMap.t list SMap.t -> PP.prover_query
val build_f_map_evaluation_perm : zero_knowledge:bool -> prover_common_pp -> Evaluations.scalar -> Perm.PP.PC.Scalar.t -> Perm.PP.PC.Scalar.t -> prover_circuit_pp SMap.t -> SMap.key -> wires_info list -> Poly.t SMap.t * Evaluations.t
val build_all_f_map_evaluation_perm : zero_knowledge:bool -> prover_common_pp -> Evaluations.scalar -> Perm.PP.PC.Scalar.t -> Perm.PP.PC.Scalar.t -> prover_circuit_pp SMap.t -> wires_info list SMap.t -> (Poly.t SMap.t * Evaluations.t) SMap.t
val build_f_map_evaluation_plook : zero_knowledge:bool -> prover_common_pp -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> prover_circuit_pp SMap.t -> SMap.key -> wires_info list -> Poly.t SMap.t list
val build_all_f_map_evaluation_plook : zero_knowledge:bool -> prover_common_pp -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> prover_circuit_pp SMap.t -> wires_info list SMap.t -> Poly.t SMap.t list SMap.t
val gather_maps : 'a Stdlib__Map.Make(Stdlib.String).t List.t SMap.t -> 'a SMap.t
val gather_maps_perm : 'a Stdlib__Map.Make(Stdlib.String).t SMap.t -> 'a SMap.t
val prove_circuits_with_pool : ((prover_common_pp * prover_circuit_pp SMap.t) * bytes) -> inputs_map:prover_inputs list SMap.t -> proof * PP.transcript
OCaml

Innovation. Community. Security.