package octez-plonk
module RangeCheck : sig ... end
module Perm : sig ... end
module Plook : sig ... end
module Gates = Plonk.Custom_gates
module Commitment : sig ... end
type scalar = Plonk.Bls.Scalar.t
val scalar_t : Plonk.Bls.Scalar.t Repr.t
type circuit_map = (Plonk.Circuit.t * int) Plonk.SMap.t
type circuit_prover_input = {
witness : scalar array;
input_commitments : Plonk__Input_commitment.Make(PP.PC.Commitment).t list;
}
val circuit_prover_input_t : circuit_prover_input Repr.t
type prover_inputs = circuit_prover_input list Plonk.SMap.t
val prover_inputs_t : circuit_prover_input list Plonk.SMap.t Repr.ty
type public_inputs = scalar array list
val public_inputs_t : Plonk.Bls.Scalar.t array list Repr.t
type verifier_inputs =
(public_inputs * PP.PC.Commitment.t list list) Plonk.SMap.t
val verifier_inputs_t :
(Plonk.Bls.Scalar.t array list * PP.PC.Commitment.t list list) Plonk.SMap.t
Repr.ty
val check_circuit_name : 'a Plonk.SMap.t -> unit
val check_circuits : 'a Plonk.SMap.t -> 'b Plonk.SMap.t -> unit
val name_wires :
'a array list Plonk.SMap.t ->
'a Plonk.SMap.t list Plonk.SMap.t
val hash_verifier_inputs :
(Plonk.Bls.Scalar.t array list * PP.PC.Commitment.t list list) Plonk.SMap.t ->
bytes
val build_gates_randomness : Stdlib.Bytes.t -> gate_randomness * Stdlib.Bytes.t
module Prover : sig ... end
module Verifier : sig ... end
type prover_public_parameters = Prover.public_parameters = {
common_pp : Prover.common_prover_pp;
circuits_map : Prover.circuit_prover_pp Plonk.SMap.t;
transcript : Stdlib.Bytes.t;
}
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters = {
common_pp : Verifier.common_verifier_pp;
circuits_map : Verifier.circuit_verifier_pp Plonk.SMap.t;
transcript : Stdlib.Bytes.t;
}
val verifier_public_parameters_t : verifier_public_parameters Repr.t
module Preprocess : sig ... end
val to_verifier_inputs :
prover_public_parameters ->
circuit_prover_input list Plonk.SMap.t ->
(public_inputs * PP.PC.Commitment.t list list) Plonk.SMap.t
val expand_transcript_with_verifier_inputs :
bytes ->
(Plonk.Bls.Scalar.t array list * PP.PC.Commitment.t list list) Plonk.SMap.t ->
bytes
val input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
Plonk.Bls.Scalar.t array ->
Plonk__Input_commitment.Make(PP.PC.Commitment).t
val update_prover_public_parameters :
bytes ->
prover_public_parameters ->
prover_public_parameters
val update_verifier_public_parameters :
bytes ->
verifier_public_parameters ->
verifier_public_parameters
val filter_prv_pp_circuits :
prover_public_parameters ->
'a Plonk.SMap.t ->
prover_public_parameters
val filter_vrf_pp_circuits :
verifier_public_parameters ->
'a Plonk.SMap.t ->
verifier_public_parameters
val setup :
zero_knowledge:bool ->
(Plonk.Circuit.t * int) Plonk.SMap.t ->
srs:
(Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t
* Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t) ->
prover_public_parameters * verifier_public_parameters
val prove :
prover_public_parameters ->
inputs:circuit_prover_input Plonk.List.t Plonk.SMap.t ->
proof
val verify :
verifier_public_parameters ->
inputs:(public_inputs * PP.PC.Commitment.t list list) Plonk.SMap.t ->
proof ->
bool
val scalar_encoding : Plonk.Bls.Scalar.t Data_encoding.encoding
val data_encoding_of_repr : 'a Repr.t -> 'a Data_encoding.encoding
val proof_encoding : proof Data_encoding.encoding
val verifier_public_parameters_encoding :
verifier_public_parameters Data_encoding.encoding
module Internal_for_tests : sig ... end
module Input_commitment : sig ... end
module PP : sig ... end
type prover_aux = {
answers : scalar Plonk.SMap.t Plonk.SMap.t list;
batch : scalar Plonk.SMap.t list;
alpha : scalar;
beta : scalar;
gamma : scalar;
delta : scalar;
x : scalar;
r : scalar;
cms_answers : PP.Answers_commitment.t Plonk.SMap.t;
cms_pi : PP.Answers_commitment.t Plonk.SMap.t;
ids_batch : (scalar * int) Plonk.SMap.t;
t_answers : scalar list;
}
type input_commit_info = {
nb_max_answers : int;
nb_max_pi : int;
func : ?size:int -> ?shift:int -> scalar array -> PP.Answers_commitment.t;
}
val hash_pi :
prover_public_parameters ->
input_commit_info Plonk.SMap.t ->
circuit_prover_input list Plonk.SMap.t ->
scalar array list Plonk.SMap.t * PP.Answers_commitment.t Plonk.SMap.t
val compute_ids_batch :
prover_public_parameters ->
gate_randomness ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t array Plonk.List.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
'a Plonk.SMap.t ->
(Plonk.Bls.Scalar.t * int) Plonk.SMap.t
val update_transcript_with_pi :
bytes ->
PP.Answers_commitment.public Plonk.SMap.t ->
bytes
val update_prv_pp_transcript_with_pi :
prover_public_parameters ->
PP.Answers_commitment.t Plonk.SMap.t ->
prover_public_parameters
val commit_to_answers_map :
input_commit_info Plonk.SMap.t ->
(scalar array -> PP.Answers_commitment.t) Plonk.SMap.t
val prove_list :
prover_public_parameters ->
input_commit_infos:input_commit_info Plonk.SMap.t ->
inputs:circuit_prover_input Plonk.List.t Plonk.SMap.t ->
proof * prover_aux
val verify_list :
verifier_public_parameters ->
(proof
* Plonk.Bls.Scalar.t Plonk.SMap.t list
* PP.Answers_commitment.public Plonk.SMap.t
* PP.Answers_commitment.public Plonk.SMap.t
* Plonk.Bls.Scalar.t list
* (Plonk.Bls.Scalar.t * int) Plonk.SMap.t) ->
bool * verifier_aux
val get_gen_n_prover :
prover_public_parameters ->
Plonk.Bls.Domain.scalar * int
val get_gen_n_verifier : verifier_public_parameters -> Plonk.Bls.Scalar.t * int
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>