package tezos-plonk

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

Parameters

module PC : Kzg.Polynomial_commitment_sig with type Commitment.t = Bls12_381.G1.t SMap.t

Signature

module Scalar = PC.Scalar
module Polynomial = PC.Polynomial
module Domain = Polynomial.Domain
module Scalar_map = PC.Scalar_map
module Fr_generation = PC.Fr_generation
type secret = Poly.t SMap.t
type query = Scalar.t SMap.t
type answer = Scalar.t SMap.t SMap.t
val answer_encoding : answer Data_encoding.t
val bytes_of_query : Bls12_381.Fr.t SMap.t -> Stdlib.Bytes.t
val bytes_of_answer : answer -> Stdlib.Bytes.t
type transcript = Stdlib.Bytes.t
module Public_parameters : sig ... end
module Commitment : sig ... end
type proof = {
  1. pc_proof : PC.proof;
  2. packed_values : Pack.packed list;
  3. pack_proof : Pack.proof;
}
val proof_encoding : proof Data_encoding.t
val expand_with_proof : bytes -> proof -> bytes
val expand_with_query : bytes -> Bls12_381.Fr.t SMap.t list -> bytes
val expand_with_answer : bytes -> answer list -> bytes
val batch : zero:'a -> add:('a -> 'b -> 'a) -> mul:(Scalar.t -> 'c -> 'b) -> Scalar.t -> 'c SMap.t -> 'a
val batch_polys : Poly.scalar -> Poly.t SMap.t -> Poly.t
val batch_answers : Scalar.t -> Scalar.t SMap.t SMap.t -> Scalar.t SMap.t
val evaluate : PC.secret -> PC.query -> PC.answer
val prove : Public_parameters.prover -> bytes -> Poly.t SMap.t list -> Commitment.prover_aux list -> PC.query list -> Scalar.t SMap.t SMap.t list -> proof * bytes
val verify : Public_parameters.verifier -> bytes -> Pack.commitment list -> PC.query list -> Scalar.t SMap.t SMap.t list -> proof -> bool * bytes
OCaml

Innovation. Community. Security.