Kzg_pack.MakeSourceExtension of the KZG_pack implementation with additional types and functions used in by Distributed_prover
module Pack : Aggregation.Pack.Aggregatormodule PC :
Kzg.PC_for_distribution_sig
with type BasePC.Scalar.t = Pack.scalar
and type Commitment.t = Pack.g1 SMap.tinclude module type of BasePC with module Commitment := Commitmentval batch_p :
zero:'a ->
add:('a -> 'b -> 'a) ->
mul:(Scalar.t -> 'c -> 'b) ->
Scalar.t ->
'c Plonk.SMap.t ->
'aval batch :
zero:'a ->
add:('a -> 'b -> 'a) ->
mul:(Scalar.t -> 'c -> 'b) ->
Scalar.t ->
'c Plonk.SMap.t ->
'aval prove_pack :
Public_parameters.prover ->
Bytes.t ->
Poly.t Plonk.SMap.t list ->
Commitment.prover_aux list ->
PC.query list ->
Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
proof * bytes * Fr_generation.scalar * Scalar.t Plonk.SMap.t listval prove :
Public_parameters.prover ->
bytes ->
Poly.t Plonk.SMap.t list ->
Commitment.prover_aux list ->
PC.query list ->
Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
proof * bytesval prove_super_aggregation :
Public_parameters.prover ->
bytes ->
Poly.t Plonk.SMap.t list ->
Commitment.prover_aux list ->
PC.query list ->
Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
(proof * prover_aux) * bytesval verify_pack :
Public_parameters.verifier ->
Pack.randomness ->
Pack.transcript ->
Pack.commitment list ->
PC.query list ->
PC.Scalar.t Plonk.SMap.t Plonk.List.t ->
proof ->
bool * bytesval verify :
Public_parameters.verifier ->
bytes ->
Pack.commitment list ->
PC.query list ->
Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
proof ->
bool * bytesval verify_super_aggregation :
Public_parameters.verifier ->
bytes ->
Pack.commitment list ->
PC.query list ->
PC.Scalar.t Plonk.SMap.t Plonk.List.t ->
Scalar.t ->
proof ->
bool * Fr_generation.scalar * bytesval main_prover_msg_t :
(Poly.t list * (PC.Commitment.t * PC.Commitment.prover_aux) list) Repr.ttype main_prover_state =
Public_parameters.prover
* transcript
* Scalar.t
* query list
* Scalar.t SMap.t list
* main_prover_msgval distributed_prove_main1 :
Public_parameters.prover ->
bytes ->
PC.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
* Bytes.t
* Fr_generation.scalar
* PC.query list
* Scalar.t Plonk.SMap.t list
* (Poly.t list * 'a))val distributed_prove_main2 :
(Public_parameters.prover
* Pack.transcript
* Pack.randomness
* PC.query list
* PC.Scalar.t SMap.t list
* (Poly.t Plonk.List.t
* (PC.Commitment.t * PC.Commitment.prover_aux) Plonk.List.t)) ->
(Poly.t Plonk.List.t
* (PC.Commitment.t * PC.Commitment.prover_aux) Plonk.List.t)
list ->
proof * bytes