package octez-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type common_prover_pp = {
  1. n : int;
  2. domain : Plonk.Bls.Domain.t;
  3. pp_public_parameters : PP.prover_public_parameters;
  4. g_map : Plonk.Bls.Poly.t SMap.t;
  5. g_prover_aux : Commitment.prover_aux;
  6. evaluations : Bls.Evaluations.t SMap.t;
  7. zk : bool;
  8. nb_of_t_chunks : int;
  9. eval_points : Identities.eval_point list list;
}
val common_prover_pp_t : common_prover_pp Repr.t
type circuit_prover_pp = {
  1. circuit_size : int;
  2. input_com_sizes : int list;
  3. public_input_size : int;
  4. gates : Plonk.Bls.Scalar.t array SMap.t;
  5. tables : Plonk.Bls.Scalar.t array list;
  6. wires : int array array;
  7. permutation : int array;
  8. rc_permutation : int array;
  9. evaluations : Bls.Evaluations.t SMap.t;
  10. alpha : Plonk.Bls.Scalar.t option;
  11. ultra : bool;
  12. range_checks : int list * int;
}
val circuit_prover_pp_t : circuit_prover_pp Repr.t
type public_parameters = {
  1. common_pp : common_prover_pp;
  2. circuits_map : circuit_prover_pp SMap.t;
  3. transcript : PP.transcript;
}
val public_parameters_t : public_parameters Repr.t
val enforce_wire_values : int array array -> Bls.Evaluations.scalar array -> Bls.Evaluations.t array
val compute_wire_polynomials : zero_knowledge:bool -> gates:'a SMap.t -> int -> Bls.Evaluations.domain -> Bls.Evaluations.t SMap.t -> Plonk.Bls.Poly.t SMap.t * Plonk.Bls.Poly.t SMap.t option
val commit_to_wires : ?all_keys:string list -> ?shifts_map:(int * int) Plonk__SMap.t -> public_parameters -> circuit_prover_input list SMap.t -> Bls.Evaluations.t SMap.t list SMap.t * Plonk.Bls.Poly.t SMap.t list SMap.t * Plonk.Bls.Poly.t SMap.t option list SMap.t * Plonk.Bls.Poly.t Plonk__SMap.t * Commitment.t * Commitment.prover_aux
val build_f_map_plook : ?shifts_map:(int * int) Plonk__SMap.t -> public_parameters -> gate_randomness -> Bls.Evaluations.t SMap.t list SMap.t -> Plonk.Bls.Poly.t Plonk__SMap.t
val build_f_map_rc_1 : ?shifts_map:(int * int) Plonk__SMap.t -> public_parameters -> gate_randomness -> Bls.Evaluations.t SMap.t list SMap.t -> Bls.Evaluations.t SMap.t SMap.t -> Plonk.Bls.Poly.t Plonk__SMap.t * Bls.Evaluations.t SMap.t SMap.t
val build_perm_rc2_identities : public_parameters -> gate_randomness -> Identities.prover_identities
val build_gates_plook_rc1_identities : ?shifts_map:(int * int) SMap.t -> public_parameters -> gate_randomness -> circuit_prover_input List.t SMap.t -> Identities.prover_identities
val prove_parameters : pp_prove: (PP.prover_public_parameters -> bytes -> n:int -> generator:Plonk.Bls.Domain.scalar -> secrets:(Plonk.Bls.Poly.t SMap.t * Commitment.prover_aux) list -> eval_points:Identities.eval_point list list -> evaluations:Bls.Evaluations.t SMap.t -> identities:Identities.prover_identities -> nb_of_t_chunks:int -> 'a * 'b) -> public_parameters -> inputs_map:circuit_prover_input List.t SMap.t -> 'c * (Commitment.t * Commitment.t * gate_randomness)
OCaml

Innovation. Community. Security.