2#include "barretenberg/commitment_schemes/gemini/gemini.hpp"
3#include "barretenberg/commitment_schemes/shplonk/shplonk.hpp"
4#include "barretenberg/flavor/ecc_vm.hpp"
5#include "barretenberg/goblin/translation_evaluations.hpp"
6#include "barretenberg/plonk/proof_system/types/proof.hpp"
7#include "barretenberg/relations/relation_parameters.hpp"
8#include "barretenberg/sumcheck/sumcheck_output.hpp"
9#include "barretenberg/transcript/transcript.hpp"
29 explicit ECCVMProver_(
const std::shared_ptr<ProvingKey>& input_key,
30 const std::shared_ptr<PCSCommitmentKey>& commitment_key,
31 const std::shared_ptr<Transcript>& transcript = std::make_shared<Transcript>());
48 std::shared_ptr<Transcript> transcript;
52 std::vector<FF> public_inputs;
56 std::shared_ptr<ProvingKey> key;
59 ProverPolynomials prover_polynomials;
61 CommitmentLabels commitment_labels;
64 std::vector<Polynomial> gemini_polynomials;
66 Polynomial batched_quotient_Q;
69 Polynomial quotient_W;
71 FF evaluation_challenge_x;
72 FF translation_batching_challenge_v;
77 std::shared_ptr<PCSCommitmentKey> commitment_key;
Definition: polynomial.hpp:12
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
Definition: transcript.hpp:62
Definition: eccvm_prover.hpp:15
void execute_shplonk_partial_evaluation_round()
Definition: eccvm_prover.cpp:198
void execute_final_pcs_round()
Definition: eccvm_prover.cpp:210
void execute_pcs_evaluation_round()
Definition: eccvm_prover.cpp:166
void execute_relation_check_rounds()
Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated.
Definition: eccvm_prover.cpp:109
void execute_grand_product_computation_round()
Compute permutation and lookup grand product polynomials and commitments.
Definition: eccvm_prover.cpp:97
void execute_shplonk_batched_quotient_round()
Definition: eccvm_prover.cpp:183
void execute_transcript_consistency_univariate_opening_round()
Batch open the transcript polynomials as univariates for Translator consistency check TODO(#768): Fin...
Definition: eccvm_prover.cpp:221
void execute_univariatization_round()
Definition: eccvm_prover.cpp:123
void execute_log_derivative_commitments_round()
Compute sorted witness-table accumulator.
Definition: eccvm_prover.cpp:72
void execute_wire_commitments_round()
Compute commitments to the first three wires.
Definition: eccvm_prover.cpp:59
void execute_preamble_round()
Add circuit size, public input size, and public inputs to transcript.
Definition: eccvm_prover.cpp:48
A container for commitment labels.
Definition: goblin_translator.hpp:1022
A container for the prover polynomials handles.
Definition: goblin_translator.hpp:955
The proving key is responsible for storing the polynomials used by the prover.
Definition: goblin_translator.hpp:902
CommitmentKey object over a pairing group 𝔾₁.
Definition: commitment_key.hpp:35
Definition: gemini.hpp:100
Shplonk Prover.
Definition: shplonk.hpp:46
Defines particular circuit builder types expected to be used for circuit construction in stdlib and c...
Definition: claim.hpp:6
Definition: translation_evaluations.hpp:5
Container for parameters used by the grand product (permutation, lookup) Honk relations.
Definition: relation_parameters.hpp:12
Prover output (evalutation pair, witness) that can be passed on to Shplonk batch opening.
Definition: gemini.hpp:60
Prover output (claim=([G], r, 0), witness = G(X), proof = [Q]) that can be passed on to a univariate ...
Definition: shplonk.hpp:36
Contains the multi-linear evaluations of the polynomials at the challenge point 'u'....
Definition: sumcheck_output.hpp:13