Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ultra_prover.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
16
17namespace bb {
18
19template <IsUltraOrMegaHonk Flavor_> class UltraProver_ {
20 public:
21 using Flavor = Flavor_;
22 using FF = typename Flavor::FF;
29 using PCS = typename Flavor::PCS;
33 using Proof = typename Transcript::Proof;
34
35 std::shared_ptr<DeciderPK> proving_key;
36 std::shared_ptr<HonkVK> honk_vk;
37
38 std::shared_ptr<Transcript> transcript;
39
41
43
45
47
48 UltraProver_(const std::shared_ptr<DeciderPK>&, const std::shared_ptr<HonkVK>&, const CommitmentKey&);
49
50 explicit UltraProver_(const std::shared_ptr<DeciderPK>&,
51 const std::shared_ptr<HonkVK>&,
52 const std::shared_ptr<Transcript>& transcript = std::make_shared<Transcript>());
53
54 explicit UltraProver_(Builder&,
55 const std::shared_ptr<HonkVK>&,
56 const std::shared_ptr<Transcript>& transcript = std::make_shared<Transcript>());
57
58 explicit UltraProver_(Builder&&, const std::shared_ptr<HonkVK>&);
59
61
64 Proof prove() { return construct_proof(); };
65};
66
70#ifdef STARKNET_GARAGA_FLAVORS
71using UltraStarknetProver = UltraProver_<UltraStarknetFlavor>;
72using UltraStarknetZKProver = UltraProver_<UltraStarknetZKFlavor>;
73#endif
77
78} // namespace bb
typename TranscriptParams::Proof Proof
A DeciderProvingKey is normally constructed from a finalized circuit and it contains all the informat...
A container for commitment labels.
A container for the prover polynomials handles.
The verification key is responsible for storing the commitments to the precomputed (non-witness) poly...
Curve::ScalarField FF
bb::CommitmentKey< Curve > CommitmentKey
NativeTranscript Transcript
MegaCircuitBuilder CircuitBuilder
bb::Polynomial< FF > Polynomial
Curve::AffineElement Commitment
KZG< Curve > PCS
Polynomial quotient_W
bb::RelationParameters< FF > relation_parameters
CommitmentKey commitment_key
std::shared_ptr< HonkVK > honk_vk
typename Flavor::Polynomial Polynomial
BB_PROFILE void generate_gate_challenges()
SumcheckOutput< Flavor > sumcheck_output
typename Flavor::PCS PCS
std::shared_ptr< Transcript > transcript
typename Transcript::Proof Proof
std::shared_ptr< DeciderPK > proving_key
typename Flavor::Commitment Commitment
typename Flavor::CommitmentLabels CommitmentLabels
typename Flavor::CommitmentKey CommitmentKey
typename Flavor::FF FF
typename Flavor::Transcript Transcript
typename Flavor::ProverPolynomials ProverPolynomials
typename Flavor::CircuitBuilder Builder
typename Flavor::VerificationKey HonkVK
#define BB_PROFILE
Entry point for Barretenberg command-line interface.
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...