package octez-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type scalar = Plonk.Bls.Scalar.t
type g1 = Plonk.Bls.G1.t
type g2 = Plonk.Bls.G2.t
type gt = Plonk.Bls.GT.t
type prover_public_parameters = {
  1. length : int;
  2. srs2_t : Plonk.Bls.G2.t array;
  3. g1_t : Plonk.Bls.G1.t;
}
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters = Plonk.Bls.G1.t
val verifier_public_parameters_t : Plonk.Bls.G1.t Repr.t
type data = Plonk.Bls.G1.t
type commitment = {
  1. cmt_t : Plonk.Bls.GT.t;
  2. cmt_len : int;
}
val commitment_t : commitment Repr.t
type randomness = Plonk.Bls.Scalar.t
type packed = Plonk.Bls.G1.t
val packed_t : Plonk.Bls.G1.t Repr.t
type ipa_proof = {
  1. t_Ls : Plonk.Bls.GT.t array;
  2. t_Rs : Plonk.Bls.GT.t array;
  3. r_Ls : Plonk.Bls.G1.t array;
  4. r_Rs : Plonk.Bls.G1.t array;
  5. a0 : Plonk.Bls.G1.t;
  6. t0 : Plonk.Bls.G2.t;
}
val ipa_proof_t : ipa_proof Repr.t
val empty_ipa_proof : int -> ipa_proof
type kzg_proof = Plonk.Bls.G2.t
val kzg_proof_t : Plonk.Bls.G2.t Repr.t
type proof = ipa_proof * kzg_proof
val proof_t : (ipa_proof * Plonk.Bls.G2.t) Repr.t
type transcript = Stdlib.Bytes.t
type setup_params = int
val hash : transcript:bytes -> random:(?state:Stdlib.Random.State.t -> unit -> 'a) -> ?g1s:Plonk.Bls.G1.t array list -> ?g2s:Plonk.Bls.G2.t array list -> ?gts:Plonk.Bls.GT.t array list -> ?scalars:Plonk.Bls.Scalar.t array list -> unit -> 'a * bytes
val ip_pairing : Bls12_381.G1.t array -> Bls12_381.G2.t array -> Plonk.Bls.GT.t
val setup_verifier : Plonk.Bls.Srs_g1.t -> Plonk.Bls.Srs_g1.elt
val setup_prover : int -> (Plonk.Bls.Srs_g1.t * Plonk.Bls.Srs_g2.t) -> prover_public_parameters
val setup : int -> (Plonk.Bls.Srs_g1.t * Plonk.Bls.Srs_g2.t) -> prover_public_parameters * Plonk.Bls.Srs_g1.elt
val get_setup_params : prover_public_parameters -> int
val public_parameters_to_bytes : prover_public_parameters -> Stdlib.Bytes.t
val commit : prover_public_parameters -> Bls12_381.G1.t array -> commitment
val commitment_cardinal : commitment -> int
val partial_commit : relevant_positions:Stdlib.Int.t list -> prover_public_parameters -> Bls12_381.G1.t array -> commitment
val bytes_of_commitment : commitment -> bytes
val empty_commitment : commitment
val combine : commitment -> commitment -> commitment
val pack : Plonk.Bls.G1.Scalar.t array -> Plonk.Bls.G1.t array -> Plonk.Bls.G1.t
val array_split_in_half : 'a array -> 'a array * 'a array
val array_padded_with_zero : 'a array -> int -> 'a -> 'a array
val prove_but_not_pack : prover_public_parameters -> bytes -> Plonk.Bls.Scalar.t -> Plonk.Bls.G1.t array -> Plonk.Bls.G1.t -> (ipa_proof * Plonk.Bls.G2.t) * bytes
val prove_single : prover_public_parameters -> bytes -> Plonk.Bls.Scalar.t -> Plonk.Bls.G1.t array -> (Plonk.Bls.G1.t * (ipa_proof * Plonk.Bls.G2.t)) * bytes
val prove : prover_public_parameters -> bytes -> Plonk.Bls.Scalar.t -> Plonk.Bls.G1.t array list -> (Plonk.Bls.G1.t list * (ipa_proof * Plonk.Bls.G2.t)) * bytes
val verify_single : Plonk.Bls.G1.t -> bytes -> commitment -> Plonk.Bls.Scalar.t -> (Plonk.Bls.G1.t * (ipa_proof * Plonk.Bls.G2.t)) -> bool * bytes
val verify : Plonk.Bls.G1.t -> bytes -> commitment list -> Plonk.Bls.Scalar.t -> (Plonk.Bls.G1.t list * (ipa_proof * Plonk.Bls.G2.t)) -> bool * bytes
OCaml

Innovation. Community. Security.