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;
}
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 build_blinds : zero_knowledge:bool -> module_list:(module Gates.Gate_base_sig) list -> wires:'a SMap.t -> Scalar.t list SMap.t option * Scalar.t array option * Scalar.t array option
val blind_polys : int -> Poly.scalar List.t SMap.t -> Poly.t SMap.t -> Poly.t SMap.t
val enforce_wire_values : int array SMap.t -> 'a array -> 'b array SMap.t
val compute_wire_polynomials : int -> Evaluations.domain -> Poly.scalar List.t SMap.t option -> Evaluations.scalar array SMap.t -> Evaluations.polynomial SMap.t
type wire_blind = {
  1. wires : scalar array SMap.t;
  2. f_wires_map : Evaluations.polynomial SMap.t;
  3. permutation_blinds : scalar array option;
  4. lookup_blinds : scalar array option;
  5. wires_values : scalar array;
  6. wires_indices : int array SMap.t;
}
type wires_data = {
  1. pp : prover_circuit_pp;
  2. wires_blinds : wire_blind list;
  3. inputs : prover_inputs list;
  4. f_map : Evaluations.polynomial SMap.t;
}
val build_wires_map : ?zero_knowledge:bool -> prover_common_pp -> string -> (prover_circuit_pp * prover_inputs list) -> wires_data
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 -> Perm.PP.PC.Scalar.t -> string -> (prover_circuit_pp * (Plook.PP.PC.Polynomial.Polynomial.t SMap.t * Evaluations.t SMap.t) list * prover_inputs list) -> PP.prover_query
val build_all_f_wires_map : zero_knowledge:bool -> prover_common_pp -> (prover_circuit_pp * prover_inputs list) SMap.t -> Evaluations.polynomial SMap.t * wires_data SMap.t
val build_f_map_evaluation_perm : prover_common_pp -> Perm.PP.PC.Scalar.t -> Perm.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> string -> wires_data -> (prover_circuit_pp * (Evaluations.polynomial SMap.t * PP.Evaluations.t SMap.t) list * prover_inputs list) * Perm.PP.PC.Polynomial.Polynomial.t Stdlib__Map.Make(Stdlib.String).t
val build_all_f_map_evaluation_perm : prover_common_pp -> Perm.PP.PC.Scalar.t -> Perm.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> Plook.PP.PC.Scalar.t -> wires_data SMap.t -> Perm.PP.PC.Polynomial.Polynomial.t SMap.t * (prover_circuit_pp * (Evaluations.polynomial SMap.t * PP.Evaluations.t SMap.t) list * prover_inputs list) SMap.t
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 -> Perm.PP.PC.Scalar.t -> (prover_circuit_pp * (Plook.PP.PC.Polynomial.Polynomial.t SMap.t * Evaluations.t SMap.t) list * prover_inputs list) SMap.t -> PP.prover_query
val prove_circuits_with_pool : ?zero_knowledge:bool -> ((prover_common_pp * prover_circuit_pp SMap.t) * bytes) -> inputs:prover_inputs list SMap.t -> proof * PP.transcript
OCaml

Innovation. Community. Security.