Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ultra_verifier.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 {
18template <typename Flavor> class UltraVerifier_ {
19 using FF = typename Flavor::FF;
24 using PublicInputs = std::vector<FF>;
25 using Proof = typename Transcript::Proof;
26
27 public:
29 public:
30 bool result;
32 std::array<Commitment, Flavor::NUM_WIRES> ecc_op_tables;
33
35
36 explicit operator bool() const { return result; }
37 };
38
47
48 template <class IO> UltraVerifierOutput verify_proof(const Proof& proof, const Proof& ipa_proof = {});
49
50 std::shared_ptr<Transcript> ipa_transcript = std::make_shared<Transcript>();
53 std::shared_ptr<Transcript> transcript;
54};
55
59#ifdef STARKNET_GARAGA_FLAVORS
60using UltraStarknetVerifier = UltraVerifier_<UltraStarknetFlavor>;
61#endif
64
65} // namespace bb
std::vector< DataType > Proof
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
typename Curve::ScalarField FF
typename G1::affine_element Commitment
NativeTranscript Transcript
std::shared_ptr< Transcript > transcript
typename Transcript::Proof Proof
UltraVerifier_(const std::shared_ptr< VerificationKey > &vk, VerifierCommitmentKey< curve::Grumpkin > ipa_verification_key=VerifierCommitmentKey< curve::Grumpkin >(), const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
VerifierCommitmentKey< curve::Grumpkin > ipa_verification_key
typename Flavor::VerificationKey VerificationKey
std::vector< FF > PublicInputs
typename Flavor::FF FF
std::shared_ptr< VerifierInstance > verifier_instance
typename Flavor::Transcript Transcript
UltraVerifierOutput verify_proof(const Proof &proof, const Proof &ipa_proof={})
typename Flavor::Commitment Commitment
std::shared_ptr< Transcript > ipa_transcript
Representation of the Grumpkin Verifier Commitment Key inside a bn254 circuit.
The VerifierInstance encapsulates all the necessary information for a Mega Honk Verifier to verify a ...
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
VerifierCommitmentKey< Curve > vk
STL namespace.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
std::array< Commitment, Flavor::NUM_WIRES > ecc_op_tables