octez-libs.plonk
Cq.Make
aggregation
bare_functor_outputs
bare_sigs
bare_structs
communication
distribution
octez-libs.aplonk
octez-libs.base
octez-libs.base-test-helpers
octez-libs.bls12-381-hash
octez-libs.bls12-381-polynomial
octez-libs.bls12-381-signature
octez-libs.clic
octez-libs.context
octez-libs.crypto
octez-libs.crypto-dal
octez-libs.distributed-plonk
octez-libs.epoxy-tx
octez-libs.error-monad
octez-libs.event-logging
octez-libs.event-logging-test-helpers
octez-libs.expect-helper
octez-libs.hacl
octez-libs.lazy-containers
octez-libs.lwt-result-stdlib
octez-libs.mec
octez-libs.micheline
octez-libs.plompiler
octez-libs.polynomial
octez-libs.requester
octez-libs.rpc
octez-libs.rpc-http
octez-libs.rpc-http-client
octez-libs.rpc-http-client-unix
octez-libs.rpc-http-server
octez-libs.srs-extraction
octez-libs.stdlib
octez-libs.stdlib-unix
octez-libs.test-helpers
octez-libs.tezos-context
octez-libs.tezos-gossipsub
octez-libs.tezos-p2p-services
octez-libs.tezos-sapling
octez-libs.tezos-workers
octez-libs.tree-encoding
octez-libs.version
plonk_test
tezos_base_p2p_identity_file
tezos_base_unix
tezos_clic_unix
tezos_context_disk
tezos_context_dump
tezos_context_encoding
tezos_context_helpers
tezos_context_memory
tezos_context_merkle_proof_encoding
tezos_context_sigs
tezos_crypto_dal_octez_dal_config
tezos_version_parser
traced_functor_outputs
traced_sigs
traced_structs
traces
module PC : Polynomial_commitment.S
module ISet : sig ... end
module IMap : sig ... end
exception Entry_not_in_table
type transcript = bytes
type prover_public_parameters = {
n : int;
domain_k : Plonk.Bls.Domain.t;
domain_2k : Plonk.Bls.Domain.t;
table : ISet.t Bls.Scalar_map.t list;
cms_lagrange : Bls.G1.t array;
cms_lagrange_0 : Bls.G1.t array;
q : Bls.G1.t array list;
pc : PC.Public_parameters.prover;
}
type verifier_public_parameters = {
k : int;
srs2_0 : Bls.G2.t;
srs2_1 : Bls.G2.t;
srs2_N_1_k_2 : Bls.G2.t;
cm_table : Bls.G2.t list;
cm_zv : Bls.G2.t;
pc : PC.Public_parameters.verifier;
type proof = {
cm_f : PC.Commitment.t;
cm_f_agg : PC.Commitment.t;
cm_a : PC.Commitment.t;
cm_b0 : PC.Commitment.t;
cm_qa : PC.Commitment.t;
cm_m : PC.Commitment.t;
cm_p : PC.Commitment.t;
cm_b0_qb_f : PC.Commitment.t;
a0 : Plonk.Bls.Scalar.t list;
b0y : Plonk.Bls.Scalar.t SMap.t;
fy : Plonk.Bls.Scalar.t SMap.t;
fy_agg : Plonk.Bls.Scalar.t SMap.t;
pc : PC.proof;
cm_a0 : Bls.G1.t;
val f_name : string
val m_name : string
val a_name : string
val qa_name : string
val b0_name : string
val qb_name : string
val p_name : string
val f_agg_name : string
val aggregate_cm : PC.Commitment.t -> Plonk.Bls.G1.Scalar.t array -> Bls.G1.t
val get_pc_query : Plonk.Bls.Scalar.t -> Plonk.Bls.Scalar.t SMap.t list
val commit1 : PC.Commitment.prover_public_parameters -> Plonk.Bls.Poly.t -> Bls.G1.t
val kzg_0 : Plonk.Bls.Poly.t -> Plonk.Bls.Poly.t
val compute_and_commit : ('a -> Plonk.Bls.G1.Scalar.t * Bls.G1.t) -> 'a list -> Plonk.Bls.G1.Scalar.t array * Bls.G1.t
val setup_prover : (int * Bls.Evaluations.domain) -> int -> (Plonk.Bls.Poly.scalar array list * Plonk.Bls.Poly.t list) -> PC.Public_parameters.prover -> prover_public_parameters
val setup_verifier : ('a * Plonk.Bls.Srs_g2.t) -> int -> int -> Plonk.Bls.Poly.t list -> PC.Public_parameters.verifier -> verifier_public_parameters
val setup : srs:Octez_bls12_381_polynomial.Srs.t -> wire_size:int -> table:Plonk.Bls.Poly.scalar array list -> prover_public_parameters * verifier_public_parameters
val compute_m_and_t_sparse : prover_public_parameters -> Bls.Scalar_map.key array SMap.t -> 'a array -> (IMap.key * Plonk.Bls.Scalar.t * 'a) list * Bls.G1.t
val compute_a : prover_public_parameters -> Plonk.Bls.Scalar.t -> (int * Plonk.Bls.Scalar.t * Plonk.Bls.Scalar.t) list -> (int * Plonk.Bls.G1.Scalar.t) list * Bls.G1.t
val compute_cm_qa : Plonk.Bls.G1.Scalar.t array -> prover_public_parameters -> (int * Plonk.Bls.G1.Scalar.t) list -> Bls.G1.t
val compute_b : Plonk.Bls.Scalar.t -> int -> Bls.Evaluations.domain -> Plonk.Bls.Scalar.t array -> Bls.Evaluations.polynomial
val compute_qb : prover_public_parameters -> Bls.Evaluations.scalar -> int -> Bls.Evaluations.polynomial -> Bls.Evaluations.polynomial -> Plonk.Bls.Poly.t
val compute_p : prover_public_parameters -> int -> Plonk.Bls.Poly.t -> Bls.G1.t
val compute_a0 : int -> ('a * Plonk.Bls.Scalar.t) list -> Plonk.Bls.Scalar.t
val compute_cm_a0 : prover_public_parameters -> Plonk.Bls.Scalar.t array -> (IMap.key * Plonk.Bls.Scalar.t) list list -> Bls.G1.t
val kzg_prove : prover_public_parameters -> bytes -> int -> ((PC.Commitment.t * PC.Commitment.prover_aux) * (PC.Commitment.t * PC.Commitment.prover_aux)) -> (Plonk.Bls.Poly.t SMap.t * Plonk.Bls.Poly.t SMap.t * Plonk.Bls.Poly.t SMap.t * Plonk.Bls.Poly.t list) -> Plonk.Bls.Poly.scalar SMap.t * Plonk.Bls.Poly.scalar SMap.t * Plonk.Bls.Poly.scalar SMap.t * PC.Commitment.t * PC.Commitment.t * PC.proof * PC.transcript
val kzg_verify : verifier_public_parameters -> bytes -> proof -> int -> Plonk.Bls.Scalar.t -> bool * PC.transcript
val verify_f_agg : Plonk.Bls.Scalar.t array -> proof -> bool
val prove : prover_public_parameters -> bytes -> Bls.Evaluations.scalar array SMap.t List.t -> proof * Bytes.t
val verify : verifier_public_parameters -> bytes -> proof -> bool * Bytes.t