package octez-libs

  1. Overview
  2. Docs
module PP : sig ... end
module MP : sig ... end
module RangeCheck : sig ... end
module Perm : sig ... end
module Plook : sig ... end
module Gates = Plonk.Custom_gates
exception Entry_not_in_table of string
exception Rest_not_null of string
type scalar = Kzg.Bls.Scalar.t
val scalar_t : Kzg.Bls.Scalar.t Repr.t
type proof = {
  1. perm_and_plook : PP.PC.Commitment.t;
  2. wires_cm : PP.PC.Commitment.t;
  3. pp_proof : PP.proof;
}
val proof_t : proof Repr.t
type circuit_prover_input = {
  1. witness : scalar array;
  2. input_commitments : Plonk__Input_commitment.Make(PP.PC.Commitment).t list;
}
val circuit_prover_input_t : circuit_prover_input Repr.t
type public_inputs = scalar array list
val public_inputs_t : Kzg.Bls.Scalar.t array list Repr.t
type circuit_verifier_input = {
  1. nb_proofs : int;
  2. public : public_inputs;
  3. commitments : PP.PC.Commitment.t list list;
}
val circuit_verifier_input_t : circuit_verifier_input Repr.t
val check_circuit_name : 'a Plonk.Main_protocol_intf.SMap.t -> unit
val wire_names : int -> string list
type gate_randomness = {
  1. beta : scalar;
  2. gamma : scalar;
  3. delta : scalar;
}
val build_gates_randomness : Kzg__Utils.Transcript.t -> gate_randomness * Kzg__Utils.Transcript.t
module Prover : sig ... end
module Verifier : sig ... end
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters = {
  1. common_pp : Verifier.common_verifier_pp;
  2. circuits_map : Verifier.circuit_verifier_pp Plonk.Main_protocol_intf.SMap.t;
  3. transcript : Kzg.Utils.Transcript.t;
}
val verifier_public_parameters_t : verifier_public_parameters Repr.t
module Preprocess : sig ... end
val input_commit : ?size:int -> ?shift:int -> prover_public_parameters -> Kzg.Bls.Scalar.t array -> Plonk__Input_commitment.Make(PP.PC.Commitment).t
val update_prover_public_parameters : 'a Repr.ty -> 'a -> prover_public_parameters -> prover_public_parameters
val update_verifier_public_parameters : 'a Repr.ty -> 'a -> verifier_public_parameters -> verifier_public_parameters
val data_encoding_of_repr : 'a Repr.t -> 'a Data_encoding.encoding
val proof_encoding : proof Data_encoding.encoding
val verifier_public_parameters_encoding : verifier_public_parameters Data_encoding.encoding
module Internal_for_tests : sig ... end
module Input_commitment : sig ... end
type prover_aux = {
  1. answers : scalar Kzg.SMap.t Kzg.SMap.t list;
  2. batch : scalar Kzg.SMap.t list;
  3. alpha : scalar;
  4. beta : scalar;
  5. gamma : scalar;
  6. delta : scalar;
  7. x : scalar;
  8. r : scalar;
  9. cms_answers : PP.Answers_commitment.t Kzg.SMap.t;
  10. cms_pi : PP.Answers_commitment.t Kzg.SMap.t;
  11. ids_batch : (scalar * int) Kzg.SMap.t;
  12. t_answers : scalar list;
}
type verifier_aux = {
  1. alpha : scalar;
  2. beta : scalar;
  3. gamma : scalar;
  4. delta : scalar;
  5. x : scalar;
  6. r : scalar;
}
type input_commit_funcs = {
  1. pi : scalar array -> PP.Answers_commitment.t;
  2. answers : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list -> PP.Answers_commitment.t;
}
val get_gen_n_prover : prover_public_parameters -> Kzg.Bls.Domain.scalar * int
val get_gen_n_verifier : verifier_public_parameters -> Kzg.Bls.Scalar.t * int
module Commitment : sig ... end
type commit_to_wires_reply = Commitment.t
val commit_to_wires_reply_t : Commitment.t Repr.t
type worker_inputs = {
  1. inputs : Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list;
  2. shift : int * int;
}
val worker_inputs_t : worker_inputs Repr.t
val split_inputs_map : nb_workers:int -> Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list Kzg.SMap.t -> worker_inputs Kzg.SMap.t list
type commit_to_plook_rc_reply = {
  1. batched_wires_map : Plonk.Identities.Evaluations.t Kzg.SMap.t Kzg.SMap.t;
  2. cmt : Commitment.t;
  3. f_map : Kzg.Bls.Poly.t Kzg.SMap.t;
  4. prover_aux : Commitment.prover_aux;
}
val commit_to_plook_rc_reply_t : commit_to_plook_rc_reply Repr.t
type commit_to_plook_rc_remember = {
  1. beta : Kzg.Bls.Scalar.t;
  2. gamma : Kzg.Bls.Scalar.t;
}
type commit_to_wires_remember = {
  1. all_f_wires : Kzg.Bls.Poly.t Kzg.SMap.t;
  2. wires_list_map : Plonk.Identities.Evaluations.t Kzg.SMap.t list Kzg.SMap.t;
  3. inputs_map : Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list Kzg.SMap.t;
  4. shifts_map : (int * int) Kzg.SMap.t;
  5. f_wires : Kzg.Bls.Poly.t Kzg.SMap.t list Kzg.SMap.t;
  6. cm_aux_wires : Commitment.prover_aux;
}
val worker_commit_to_wires : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> worker_inputs Kzg.SMap.t -> PP.PC.Commitment.t * commit_to_wires_remember
val commit_to_plook_rc : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> (int * int) Stdlib__Map.Make(String).t -> Kzg__Utils.Transcript.t -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t list Plonk.Identities.SMap.t -> commit_to_plook_rc_reply * commit_to_plook_rc_remember
val kzg_eval_at_x : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> Kzg__Utils.Transcript.t -> (Kzg.Bls.Poly.t Kzg.SMap.t * 'a) list -> Kzg.Bls.Scalar.t -> Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list
val build_batched_witness_polys_bis : (bool * int * Kzg.Bls.Domain.t) -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t Kzg.SMap.t -> Kzg.Bls.Poly.t Stdlib__Map.Make(String).t
val shared_perm_rc_argument : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> int -> Plonk__Main_protocol.Make_impl(PP).gate_randomness -> 'a list Kzg.SMap.t -> commit_to_plook_rc_reply list -> Kzg.Bls.Poly.t Kzg.SMap.t * Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t * (PP.PC.Commitment.t * PP.PC.Commitment.prover_aux)
val build_f_map_rc_2 : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> Plonk__Main_protocol.Make_impl(PP).gate_randomness -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t Plonk.Main_protocol_intf.SMap.t -> Kzg.Bls.Poly.t Stdlib__Map.Make(String).t
val make_secret : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> (Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t * PP.PC.Commitment.prover_aux) -> (Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t * PP.PC.Commitment.prover_aux) list
val make_eval_points : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> Plonk.Identities.eval_point list list * Plonk.Identities.eval_point list Plonk.List.t
val get_generator : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> Kzg.Bls.Domain.scalar
val get_srs : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> PP.PC.Public_parameters.prover
val get_gen_n_nbt : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> Kzg.Bls.Domain.scalar * int * int
val get_transcript : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> Kzg.Utils.Transcript.t
val check_no_zk : Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters -> unit
OCaml

Innovation. Community. Security.