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 -> 'a 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_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 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.