package octez-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

Signature

module RangeCheck : sig ... end
module Perm : sig ... end
module Plook : sig ... end
module Gates = Custom_gates
module Commitment = PP.PC.Commitment
module Input_commitment : sig ... end
module PP = PP
exception Entry_not_in_table of string
exception Rest_not_null of string
type scalar = Plonk.Bls.Scalar.t
val scalar_t : Plonk.Bls.Scalar.t Repr.t
type circuit_map = (Circuit.t * int) SMap.t
type proof = {
  1. perm_and_plook : Commitment.t;
  2. wires_cm : Commitment.t;
  3. pp_proof : PP.proof;
}
val proof_t : proof Repr.t
type circuit_prover_input = {
  1. witness : scalar array;
  2. input_commitments : Input_commitment.t list;
}
val circuit_prover_input_t : circuit_prover_input Repr.t
type prover_inputs = circuit_prover_input list SMap.t
val prover_inputs_t : circuit_prover_input list SMap.t Repr.ty
type public_inputs = scalar array list
val public_inputs_t : Plonk.Bls.Scalar.t array list Repr.t
type verifier_inputs = (public_inputs * Input_commitment.public list list) SMap.t
val verifier_inputs_t : (Plonk.Bls.Scalar.t array list * Input_commitment.public list list) SMap.t Repr.ty
val check_circuit_name : 'a SMap.t -> unit
val check_circuits : 'a SMap.t -> 'b SMap.t -> unit
val wire_names : int -> string list
val name_wires : 'a array list SMap.t -> 'a SMap.t list SMap.t
val hash_verifier_inputs : (Plonk.Bls.Scalar.t array list * Input_commitment.public list list) SMap.t -> bytes
type gate_randomness = {
  1. beta_perm : scalar;
  2. gamma_perm : scalar;
  3. beta_plook : scalar;
  4. gamma_plook : scalar;
  5. beta_rc : scalar;
  6. gamma_rc : scalar;
  7. delta : scalar;
}
val build_gates_randomness : Stdlib.Bytes.t -> gate_randomness * Stdlib.Bytes.t
module Prover : sig ... end
module Verifier : sig ... end
type prover_public_parameters = Prover.public_parameters = {
  1. common_pp : Prover.common_prover_pp;
  2. circuits_map : Prover.circuit_prover_pp SMap.t;
  3. transcript : PP.transcript;
}
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 SMap.t;
  3. transcript : PP.transcript;
}
val verifier_public_parameters_t : verifier_public_parameters Repr.t
module Preprocess : sig ... end
val expand_transcript_with_verifier_inputs : bytes -> (Plonk.Bls.Scalar.t array list * Input_commitment.public list list) SMap.t -> bytes
val input_commit : ?size:int -> ?shift:int -> prover_public_parameters -> Plonk.Bls.Scalar.t array -> Input_commitment.t
val update_prover_public_parameters : bytes -> prover_public_parameters -> prover_public_parameters
val update_verifier_public_parameters : bytes -> verifier_public_parameters -> verifier_public_parameters
val filter_prv_pp_circuits : prover_public_parameters -> 'a SMap.t -> prover_public_parameters
val filter_vrf_pp_circuits : verifier_public_parameters -> 'a SMap.t -> verifier_public_parameters
val verify : verifier_public_parameters -> inputs:(public_inputs * Input_commitment.public list list) SMap.t -> proof -> bool
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
OCaml

Innovation. Community. Security.