package octez-plonk
Extension of the KZG implementation with additional types and functions used in by Distributed_prover
module BasePC = Plonk.Polynomial_commitment.Kzg_impl
include module type of struct include BasePC end
module Public_parameters = BasePC.Public_parameters
type secret = BasePC.Commitment.secret
type query = Plonk.Bls.Scalar.t Plonk.SMap.t
val query_t : Plonk.Bls.Scalar.t Plonk.SMap.t Repr.ty
type answer = Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t
val answer_t : Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t Repr.ty
val pippenger :
?start:int ->
?len:int ->
Plonk.Bls.G1.t array ->
Plonk.Bls.G1.Scalar.t array ->
Plonk.Bls.G1.t
type proof = Plonk.Bls.G1.t Plonk.SMap.t
val proof_t : Plonk.Bls.G1.t Plonk.SMap.t Repr.ty
val compute_Ws :
Public_parameters.prover ->
Plonk.Bls.Poly.t Plonk.SMap.t ->
Plonk.Bls.Poly.scalar Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t ->
Plonk.Bls.G1.t Plonk.SMap.t
val verifier_check :
Public_parameters.verifier ->
Plonk.Bls.G1.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t ->
Plonk.Bls.G1.t Plonk.SMap.t ->
bool
val sample_ys :
Stdlib.Bytes.t ->
'a Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t * Stdlib.Bytes.t
val batch_answer :
Plonk.Bls.Scalar.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t
* Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t
val batch_polys :
Plonk.Bls.Poly.scalar Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.Poly.t Plonk.SMap.t ->
Plonk.Bls.Poly.t Plonk.SMap.t
val prove_single :
Public_parameters.prover ->
Stdlib.Bytes.t ->
Plonk.Bls.Poly.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.G1.t Plonk.SMap.t * bytes
val verify_single :
Public_parameters.verifier ->
Stdlib.Bytes.t ->
Plonk.Bls.G1.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.G1.t Plonk.SMap.t ->
bool * bytes
val group_cmts : BasePC.Commitment.t list -> BasePC.Commitment.t
val evaluate : Plonk.Bls.Poly.t Plonk.SMap.t -> query -> answer
val prove :
Public_parameters.prover ->
bytes ->
secret list ->
'a ->
query list ->
answer list ->
Plonk.Bls.G1.t Plonk.SMap.t * bytes
val verify :
Public_parameters.verifier ->
bytes ->
BasePC.Commitment.t list ->
query list ->
answer list ->
Plonk.Bls.G1.t Plonk.SMap.t ->
bool * bytes
type worker_msg = Plonk.Bls.Scalar.t SMap.t SMap.t
val worker_msg_t : Plonk.Bls.Scalar.t SMap.t SMap.t Repr.ty
type main_prover_msg = Plonk.Bls.Poly.t SMap.t
val main_prover_msg_t : Plonk.Bls.Poly.t SMap.t Repr.ty
type main_prover_state = {
srs : Public_parameters.prover;
transcript : transcript;
query : query;
batched_answer : Plonk.Bls.Scalar.t SMap.t;
main_msg : main_prover_msg;
}
module Commitment : sig ... end
val distributed_prove_worker :
secret list ->
'a ->
Plonk.Bls.Poly.scalar Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.Poly.t Plonk.SMap.t
val distributed_expand_transcript :
bytes ->
Plonk.Bls.Scalar.t Plonk.SMap.t list ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
bytes
val distributed_prove_main1 :
Public_parameters.prover ->
Stdlib.Bytes.t ->
query list ->
answer list ->
secret list ->
'a ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t * main_prover_state
val distributed_prove_main2 :
main_prover_state ->
main_prover_msg list ->
Plonk.Bls.G1.t Plonk.SMap.t * bytes * unit
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>