Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
verifier.hpp
Go to the documentation of this file.
1#pragma once
2
5
6namespace bb::avm2 {
7
9 public:
11 using FF = Flavor::FF;
16
17 explicit AvmVerifier(std::shared_ptr<VerificationKey> verifier_key);
18 AvmVerifier(AvmVerifier&& other) noexcept;
19 AvmVerifier(const AvmVerifier& other) = delete;
20 virtual ~AvmVerifier() = default;
21
22 AvmVerifier& operator=(const AvmVerifier& other) = delete;
23 AvmVerifier& operator=(AvmVerifier&& other) noexcept;
24
25 // Note: all the following methods are virtual to allow Avm2 to tweak the behaviour.
26 // We can remove this once the transition is done.
27 virtual bool verify_proof(const HonkProof& proof, const std::vector<std::vector<FF>>& public_inputs);
28
29 std::shared_ptr<VerificationKey> key;
30 std::map<std::string, Commitment> commitments;
31 std::shared_ptr<Transcript> transcript = std::make_shared<Transcript>();
32
33 private:
34 FF evaluate_public_input_column(const std::vector<FF>& points, std::vector<FF> challenges);
35};
36
37} // namespace bb::avm2
AvmFlavorSettings::FF FF
Definition flavor.hpp:34
AvmFlavorSettings::VerifierCommitmentKey VerifierCommitmentKey
Definition flavor.hpp:41
AvmFlavorSettings::Commitment Commitment
Definition flavor.hpp:38
std::shared_ptr< Transcript > transcript
Definition verifier.hpp:31
AvmVerifier & operator=(const AvmVerifier &other)=delete
AvmVerifier(const AvmVerifier &other)=delete
FF evaluate_public_input_column(const std::vector< FF > &points, std::vector< FF > challenges)
Definition verifier.cpp:31
std::shared_ptr< VerificationKey > key
Definition verifier.hpp:29
virtual bool verify_proof(const HonkProof &proof, const std::vector< std::vector< FF > > &public_inputs)
This function verifies an Avm Honk proof for given program settings.
Definition verifier.cpp:41
std::map< std::string, Commitment > commitments
Definition verifier.hpp:30
Flavor::Commitment Commitment
Definition verifier.hpp:12
virtual ~AvmVerifier()=default
std::vector< fr > HonkProof
Definition proof.hpp:15
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13