package octez-plonk
module SMap = Plonk.SMap
module type S = sig ... end
module Make_impl
(Super_PC : Polynomial_commitment.S)
(Answers_commitment : Plonk.Input_commitment.S) :
sig ... end
module Make_aggregation
(PC : Polynomial_commitment.S)
(Answers_commitment : Plonk.Input_commitment.S) :
S with module Answers_commitment = Answers_commitment with module PC = PC
module KZG_Answers_commitment : sig ... end
include sig ... end
module PC : sig ... end
module Answers_commitment : sig ... end
type prover_public_parameters = PC.Public_parameters.prover
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters = PC.Public_parameters.verifier
val verifier_public_parameters_t : verifier_public_parameters Repr.t
type transcript = PC.transcript
val transcript_t : transcript Repr.t
type proof =
Make_aggregation(Polynomial_commitment)(KZG_Answers_commitment).proof =
{
cm_t : PC.Commitment.t;
pc_proof : PC.proof;
pc_answers : PC.answer list;
}
val prove :
prover_public_parameters ->
transcript ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
secrets:(Plonk.Bls.Poly.t Plonk.SMap.t * PC.Commitment.prover_aux) list ->
eval_points:Plonk.Identities.eval_point list list ->
evaluations:Plonk.Bls.Evaluations.t Plonk.SMap.t ->
identities:Plonk.Identities.prover_identities ->
nb_of_t_chunks:int ->
proof * transcript
val verify :
verifier_public_parameters ->
transcript ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
commitments:PC.Commitment.t list ->
eval_points:Plonk.Identities.eval_point list list ->
identities:Plonk.Identities.verifier_identities ->
proof ->
bool * transcript
type prover_aux =
Make_aggregation(Polynomial_commitment)(KZG_Answers_commitment).prover_aux =
{
answers : Plonk.Bls.Scalar.t SMap.t SMap.t list;
batch : Plonk.Bls.Scalar.t SMap.t list;
alpha : Plonk.Bls.Scalar.t;
x : Plonk.Bls.Scalar.t;
r : Plonk.Bls.Scalar.t;
cms_answers : Answers_commitment.t SMap.t;
t_answers : Plonk.Bls.Scalar.t list;
}
Auxiliary information needed by the prover for the meta-verification in aPlonK
type verifier_aux =
Make_aggregation(Polynomial_commitment)(KZG_Answers_commitment).verifier_aux =
{
alpha : Plonk.Bls.Scalar.t;
x : Plonk.Bls.Scalar.t;
r : Plonk.Bls.Scalar.t;
}
Auxiliary information needed by the verifier for the meta-verification in aPlonK
val update_transcript_with_formatted_answers :
transcript ->
(Plonk.Bls.Poly.scalar array -> Answers_commitment.t) SMap.t ->
Plonk.Bls.Poly.scalar SMap.t SMap.t list ->
Plonk.Bls.Poly.scalar list * Answers_commitment.t SMap.t * transcript
val prove_super_aggregation :
prover_public_parameters ->
transcript ->
commit_to_answers_map:
(Plonk.Bls.Scalar.t array -> Answers_commitment.t) SMap.t ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
secrets:(Plonk.Bls.Poly.t SMap.t * PC.Commitment.prover_aux) list ->
eval_points:Plonk.Identities.eval_point list list ->
evaluations:Plonk.Bls.Evaluations.t SMap.t ->
identities:Plonk.Identities.prover_identities ->
nb_of_t_chunks:int ->
(proof * prover_aux) * transcript
val verify_super_aggregation :
verifier_public_parameters ->
transcript ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
commitments:PC.Commitment.t list ->
eval_points:Plonk.Identities.eval_point list list ->
s_list:Plonk.Bls.Scalar.t SMap.t list ->
cms_answers:Answers_commitment.public SMap.t ->
t_answers:Plonk.Bls.Scalar.t list ->
ids_batch:(Plonk.Bls.Scalar.t * int) SMap.t ->
proof ->
(bool * verifier_aux) * PC.transcript
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>