Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
prover.hpp
Go to the documentation of this file.
1// AUTOGENERATED FILE
2#pragma once
3
8
9namespace bb::avm2 {
10
11class AvmProver {
12 public:
14 using FF = Flavor::FF;
24
25 explicit AvmProver(std::shared_ptr<ProvingKey> input_key,
26 std::shared_ptr<VerificationKey> vk,
28 AvmProver(AvmProver&& prover) = default;
29 virtual ~AvmProver() = default;
30
31 // Note: all the following methods are virtual to allow Avm2 to tweak the behaviour.
32 // We can remove this once the transition is done.
33 virtual void execute_preamble_round();
34 virtual void execute_wire_commitments_round();
37 virtual void execute_relation_check_rounds();
38 virtual void execute_pcs_rounds();
39
40 virtual HonkProof export_proof();
41 virtual HonkProof construct_proof();
42
43 std::shared_ptr<Transcript> transcript = std::make_shared<Transcript>();
44
45 std::vector<FF> public_inputs;
46
48
49 std::shared_ptr<ProvingKey> key;
50 std::shared_ptr<VerificationKey> vk;
51
52 // Container for spans of all polynomials required by the prover (i.e. all multivariates evaluated by Sumcheck).
54
56
58
60
62};
63
64} // namespace bb::avm2
CommitmentKey object over a pairing group 𝔾₁.
A container for the prover polynomials handles.
Definition flavor.hpp:296
AvmFlavorSettings::Polynomial Polynomial
Definition flavor.hpp:35
AvmFlavorSettings::CommitmentKey CommitmentKey
Definition flavor.hpp:40
AvmFlavorSettings::FF FF
Definition flavor.hpp:34
AvmFlavorSettings::PCS PCS
Definition flavor.hpp:32
AvmFlavorSettings::Curve Curve
Definition flavor.hpp:30
virtual void execute_pcs_rounds()
Definition prover.cpp:124
std::shared_ptr< Transcript > transcript
Definition prover.hpp:43
SumcheckOutput< Flavor > sumcheck_output
Definition prover.hpp:59
PCSCommitmentKey commitment_key
Definition prover.hpp:61
std::shared_ptr< VerificationKey > vk
Definition prover.hpp:50
virtual void execute_relation_check_rounds()
Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated.
Definition prover.cpp:102
virtual void execute_preamble_round()
Add circuit size, public input size, and public inputs to transcript.
Definition prover.cpp:41
HonkProof Proof
Definition prover.hpp:23
ProverPolynomials prover_polynomials
Definition prover.hpp:53
AvmProver(AvmProver &&prover)=default
virtual void execute_log_derivative_inverse_commitments_round()
Definition prover.cpp:84
Flavor::WitnessCommitments witness_commitments
Definition prover.hpp:55
virtual void execute_log_derivative_inverse_round()
Definition prover.cpp:65
bb::RelationParameters< FF > relation_parameters
Definition prover.hpp:47
Flavor::FF FF
Definition prover.hpp:14
std::vector< FF > public_inputs
Definition prover.hpp:45
virtual HonkProof construct_proof()
Definition prover.cpp:144
virtual ~AvmProver()=default
std::shared_ptr< ProvingKey > key
Definition prover.hpp:49
Polynomial quotient_W
Definition prover.hpp:57
virtual void execute_wire_commitments_round()
Compute commitments to all of the witness wires (apart from the logderivative inverse wires)
Definition prover.cpp:53
virtual HonkProof export_proof()
Definition prover.cpp:139
std::vector< fr > HonkProof
Definition proof.hpp:15
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Container for parameters used by the grand product (permutation, lookup) Honk relations.
Contains the evaluations of multilinear polynomials at the challenge point . These are computed by S...