Module Kzg_pack.Kzg_pack_impl

Extension of the KZG_pack implementation with additional types and functions used in by Distributed_prover

module Pack = Aggregation.Pack
module BasePC : sig ... end
include module type of BasePC
type secret = PC.secret
type query = PC.query
val query_t : PC.query Repr.t
type answer = PC.answer
val answer_t : PC.answer Repr.t
module Commitment : sig ... end
module Public_parameters : sig ... end
type proof = {
  1. pc_proof : PC.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 : Kzg.Bls.Scalar.t;
  2. s_list : Kzg.Bls.Scalar.t Kzg.SMap.t list;
}
val evaluate : PC.secret -> PC.query -> PC.answer
type worker_msg = Kzg.Bls.Scalar.t * string list list
val worker_msg_t : (Kzg.Bls.Scalar.t * string list list) Repr.t
type main_prover_msg = Kzg.Bls.Poly.t list * Commitment.prover_aux list
val main_prover_msg_t : (Kzg.Bls.Poly.t list * (PC.Commitment.t * PC.Commitment.prover_aux) list) Repr.t
type partial_prover_aux = {
  1. r : Kzg.Bls.Scalar.t;
  2. s_list : Kzg.Bls.Scalar.t SMap.t list;
}
val merge_answers : answer list -> answer
val distributed_prove_worker : Kzg.Bls.Poly.t SMap.t list -> 'a -> (Kzg.Bls.Scalar.t * string list list) -> Kzg.Bls.Poly.t list * 'b
val distributed_expand_transcript : Kzg.Utils.Transcript.t -> PC.query list -> PC.answer list -> Kzg.Utils.Transcript.t
val distributed_prove_main1 : Public_parameters.prover -> Kzg__Utils.Transcript.t -> query list -> Kzg.Bls.Scalar.t SMap.t SMap.t list -> Kzg.Bls.Poly.t SMap.t list -> Commitment.prover_aux list -> worker_msg * main_prover_state