Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
api_ultra_honk.hpp
Go to the documentation of this file.
1#pragma once
2
7#include <filesystem>
8#include <string>
9
10namespace bb {
11
12class UltraHonkAPI : public API {
13 public:
14 bool check(const Flags& flags,
15 const std::filesystem::path& bytecode_path,
16 const std::filesystem::path& witness_path) override;
17
18 void prove(const Flags& flags,
19 const std::filesystem::path& bytecode_path,
20 const std::filesystem::path& witness_path,
21 const std::filesystem::path& vk_path,
22 const std::filesystem::path& output_dir);
23
24 bool verify(const Flags& flags,
25 const std::filesystem::path& public_inputs_path,
26 const std::filesystem::path& proof_path,
27 const std::filesystem::path& vk_path) override;
28
29 bool prove_and_verify(const Flags& flags,
30 const std::filesystem::path& bytecode_path,
31 const std::filesystem::path& witness_path);
32
33 void write_vk(const Flags& flags,
34 const std::filesystem::path& bytecode_path,
35 const std::filesystem::path& output_path) override;
36
37 void gates(const Flags& flags, const std::filesystem::path& bytecode_path) override;
38
39 void write_solidity_verifier(const Flags& flags,
40 const std::filesystem::path& output_path,
41 const std::filesystem::path& vk_path) override;
42};
43
44template <typename Flavor>
45void write_recursion_inputs_ultra_honk(const std::string& bytecode_path,
46 const std::string& witness_path,
47 const std::string& output_path);
48
49extern template void write_recursion_inputs_ultra_honk<UltraFlavor>(const std::string& bytecode_path,
50 const std::string& witness_path,
51 const std::string& output_path);
52
53extern template void write_recursion_inputs_ultra_honk<UltraRollupFlavor>(const std::string& bytecode_path,
54 const std::string& witness_path,
55 const std::string& output_path);
56
57} // namespace bb
Definition api.hpp:7
void prove(const Flags &flags, const std::filesystem::path &bytecode_path, const std::filesystem::path &witness_path, const std::filesystem::path &vk_path, const std::filesystem::path &output_dir)
void write_vk(const Flags &flags, const std::filesystem::path &bytecode_path, const std::filesystem::path &output_path) override
bool verify(const Flags &flags, const std::filesystem::path &public_inputs_path, const std::filesystem::path &proof_path, const std::filesystem::path &vk_path) override
bool check(const Flags &flags, const std::filesystem::path &bytecode_path, const std::filesystem::path &witness_path) override
bool prove_and_verify(const Flags &flags, const std::filesystem::path &bytecode_path, const std::filesystem::path &witness_path)
void gates(const Flags &flags, const std::filesystem::path &bytecode_path) override
void write_solidity_verifier(const Flags &flags, const std::filesystem::path &output_path, const std::filesystem::path &vk_path) override
Entry point for Barretenberg command-line interface.
template void write_recursion_inputs_ultra_honk< UltraRollupFlavor >(const std::string &bytecode_path, const std::string &witness_path, const std::string &output_path)
void write_recursion_inputs_ultra_honk(const std::string &bytecode_path, const std::string &witness_path, const std::string &output_path)
template void write_recursion_inputs_ultra_honk< UltraFlavor >(const std::string &bytecode_path, const std::string &witness_path, const std::string &output_path)