Module Msg.MP

module PP : sig ... end
type proof = {
  1. perm_and_plook : PP.PC.Commitment.t;
  2. wires_cm : PP.PC.Commitment.t;
  3. pp_proof : PP.proof;
}
exception Rest_not_null of string
exception Entry_not_in_table of string
module Input_commitment : sig ... end
type scalar = Kzg.Bls.Scalar.t
val scalar_t : scalar Repr.t
val scalar_encoding : scalar Data_encoding.t
type circuit_map = (Plonk.Circuit.t * int) Kzg.SMap.t
type prover_public_parameters
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters
val verifier_public_parameters_t : verifier_public_parameters Repr.t
val verifier_public_parameters_encoding : verifier_public_parameters Data_encoding.t
val proof_t : proof Repr.t
val proof_encoding : proof Data_encoding.t
type circuit_prover_input = {
  1. witness : scalar array;
  2. input_commitments : Input_commitment.t list;
}
val circuit_prover_input_t : circuit_prover_input Repr.t
type prover_inputs = circuit_prover_input list Kzg.SMap.t
val prover_inputs_t : prover_inputs Repr.t
type public_inputs
val public_inputs_t : public_inputs Repr.t
type circuit_verifier_input = {
  1. nb_proofs : int;
  2. public : public_inputs;
  3. commitments : Input_commitment.public list list;
}
val circuit_verifier_input_t : circuit_verifier_input Repr.t
type verifier_inputs = circuit_verifier_input Kzg.SMap.t
val verifier_inputs_t : verifier_inputs Repr.t
val input_commit : ?size:int -> ?shift:int -> prover_public_parameters -> scalar array -> Input_commitment.t
val update_prover_public_parameters : 'a Repr.ty -> 'a -> prover_public_parameters -> prover_public_parameters
val update_verifier_public_parameters : 'a Repr.ty -> 'a -> verifier_public_parameters -> verifier_public_parameters
val verify : verifier_public_parameters -> inputs:verifier_inputs -> proof -> bool
module Internal_for_tests : sig ... end
type gate_randomness = {
  1. beta : Kzg.Bls.Scalar.t;
  2. gamma : Kzg.Bls.Scalar.t;
  3. delta : Kzg.Bls.Scalar.t;
}
val filter_prv_pp_circuits : prover_public_parameters -> 'a Kzg.SMap.t -> prover_public_parameters
module Prover : sig ... end
type worker_inputs
val worker_inputs_t : worker_inputs Repr.t
val split_inputs_map : nb_workers:int -> circuit_prover_input list Kzg.SMap.t -> worker_inputs Kzg.SMap.t list
type commit_to_wires_reply = PP.PC.Commitment.t
val commit_to_wires_reply_t : commit_to_wires_reply Repr.t
type commit_to_wires_remember = {
  1. all_f_wires : Kzg.Bls.Poly.t Kzg.SMap.t;
  2. wires_list_map : Plonk.Identities.Evaluations.t Kzg.SMap.t list Kzg.SMap.t;
  3. inputs_map : circuit_prover_input list Kzg.SMap.t;
  4. shifts_map : (int * int) Kzg.SMap.t;
  5. f_wires : Kzg.Bls.Poly.t Kzg.SMap.t list Kzg.SMap.t;
  6. cm_aux_wires : PP.PC.Commitment.prover_aux;
}
type commit_to_plook_rc_reply = {
  1. batched_wires_map : Plonk.Identities.Evaluations.t Kzg.SMap.t Kzg.SMap.t;
  2. cmt : PP.PC.Commitment.t;
  3. f_map : Kzg.Bls.Poly.t Kzg.SMap.t;
  4. prover_aux : PP.PC.Commitment.prover_aux;
}
val commit_to_plook_rc_reply_t : commit_to_plook_rc_reply Repr.t
type commit_to_plook_rc_remember = {
  1. beta : scalar;
  2. gamma : scalar;
}
val batch_evaluated_ids : alpha:scalar -> Plonk.Identities.Evaluations.t Kzg.SMap.t -> string list -> Plonk.Identities.Evaluations.t
val get_gen_n_nbt : prover_public_parameters -> scalar * int * int
val check_no_zk : prover_public_parameters -> unit