package tezos-plonk

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module BasePC : sig ... end
module Commitment : sig ... end
module Scalar : sig ... end
module Fr_generation : sig ... end
module Polynomial : sig ... end
module Domain : sig ... end
module Poly : sig ... end
module Scalar_map : sig ... end
type secret = Kzg.Kzg_impl.secret
type query = Kzg.Kzg_impl.query
type answer = Kzg.Kzg_impl.answer
type transcript = Kzg.Kzg_impl.transcript
module Public_parameters : sig ... end
type proof = {
  1. pc_proof : Kzg.Kzg_impl.proof;
  2. packed_values : Aggregation.Pack.packed list;
  3. pack_proof : Aggregation.Pack.proof;
}
val proof_t : proof Repr.t
type prover_aux = {
  1. r : Scalar.t;
  2. s_list : Scalar.t Plonk.SMap.t list;
  3. cm_answers : Scalar.t;
}
val expand_with_proof : proof -> bytes -> bytes
val expand_with_query : Kzg.Kzg_impl.query list -> bytes -> bytes
val expand_with_answer : Kzg.Kzg_impl.answer list -> bytes -> bytes
val batch_p : zero:'a -> add:('a -> 'b -> 'a) -> mul:(Scalar.t -> 'c -> 'b) -> Scalar.t -> 'c Plonk.SMap.t -> 'a
val batch : zero:'a -> add:('a -> 'b -> 'a) -> mul:(Scalar.t -> 'c -> 'b) -> Scalar.t -> 'c Plonk.SMap.t -> 'a
val batch_polys : Poly.scalar -> Poly.t Plonk.SMap.t -> Poly.t
val poseidon : Scalar.t array -> Scalar.t
val poseidon_answers : Scalar.t Plonk.SMap.t Plonk.SMap.t list -> Scalar.t
val prove_super_aggregation : Public_parameters.prover -> bytes -> Poly.t Plonk.SMap.t list -> Commitment.prover_aux list -> Kzg.Kzg_impl.query list -> Scalar.t Plonk.SMap.t Plonk.SMap.t list -> (proof * prover_aux) * bytes
type worker_msg = Scalar.t * string list list
val worker_msg_t : (Scalar.t * string list list) Repr.t
type main_prover_msg = Poly.t list * Commitment.prover_aux list
type main_prover_state = Public_parameters.prover * transcript * Scalar.t * query list * Scalar.t SMap.t list * main_prover_msg
val merge_answers : answer list -> answer
val distributed_prove_worker : Poly.t SMap.t list -> 'a -> (Scalar.t * string list list) -> Poly.t list * 'b
val distributed_prove_main1 : Public_parameters.prover -> bytes -> Kzg.Kzg_impl.query list -> Scalar.t SMap.t SMap.t list -> Poly.t SMap.t list -> 'a -> (Fr_generation.scalar * SMap.key list list) * (Public_parameters.prover * Stdlib.Bytes.t * Fr_generation.scalar * Kzg.Kzg_impl.query list * Scalar.t Plonk.SMap.t list * (Poly.t list * 'b))