barretenberg
Loading...
Searching...
No Matches
verifier.hpp
1#pragma once
2#include "../types/program_settings.hpp"
3#include "../types/proof.hpp"
4#include "../widgets/random_widgets/random_widget.hpp"
5#include "barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.hpp"
6#include "barretenberg/plonk/transcript/manifest.hpp"
7
8namespace proof_system::plonk {
9template <typename program_settings> class VerifierBase {
10
11 public:
12 VerifierBase(std::shared_ptr<verification_key> verifier_key = nullptr,
13 const transcript::Manifest& manifest = transcript::Manifest());
15 VerifierBase(const VerifierBase& other) = delete;
16 VerifierBase& operator=(const VerifierBase& other) = delete;
17 VerifierBase& operator=(VerifierBase&& other);
18
19 bool validate_commitments();
20 bool validate_scalars();
21
22 bool verify_proof(const plonk::proof& proof);
23 transcript::Manifest manifest;
24
25 std::shared_ptr<verification_key> key;
26 std::map<std::string, barretenberg::g1::affine_element> kate_g1_elements;
27 std::map<std::string, barretenberg::fr> kate_fr_elements;
28 std::unique_ptr<CommitmentScheme> commitment_scheme;
29};
30
32extern template class VerifierBase<ultra_verifier_settings>;
35
40} // namespace proof_system::plonk
Definition: verifier.hpp:9
bool verify_proof(const plonk::proof &proof)
Definition: verifier.cpp:39
Definition: manifest.hpp:11
Definition: widget.bench.cpp:13
Definition: proof.hpp:11