package tezos-plonk

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

Parameters

Signature

module Scalar = PP.PC.Scalar
module Domain = PP.PC.Polynomial.Domain
module Fr_generation = PP.PC.Fr_generation
module Evaluations = PP.Evaluations
module Plook : sig ... end
module MP = PP.MP
type secret = Poly.t list
type proof = PP.proof
type transcript = PP.transcript
type input = Scalar.t array list
type lookup = Scalar.t array list
type prover_public_parameters = {
  1. pp_parameters : PP.prover_public_parameters;
  2. size_domain : int;
  3. domain : Domain.t;
  4. generator : Scalar.t;
  5. tables : lookup;
  6. alpha : Scalar.t;
  7. gates : Scalar.t array SMap.t;
  8. evaluations : Evaluations.t SMap.t;
}
type verifier_public_parameters = {
  1. pp_parameters : PP.verifier_public_parameters;
  2. generator : Scalar.t;
  3. alpha : Scalar.t;
}
val setup : ?zero_knowledge:bool -> int -> int -> Plook.PP.PC.Scalar.t array list list -> ?q_table:Scalar.t array -> srs: (Bls12_381_polynomial.Polynomial.Srs.t * Bls12_381_polynomial.Polynomial.Srs.t) -> unit -> prover_public_parameters * verifier_public_parameters
val prove : ?zero_knowledge:bool -> prover_public_parameters -> Plook.PP.PC.Scalar.t array list -> Stdlib.Bytes.t -> (PP.proof * PP.PC.Commitment.t) * PP.transcript
val verify : verifier_public_parameters -> PP.PC.Commitment.t -> PP.proof -> Stdlib.Bytes.t -> bool * PP.transcript