Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bbapi_avm.hpp
Go to the documentation of this file.
1#pragma once
14#include <cstdint>
15#include <string>
16#include <vector>
17
18namespace bb::bbapi {
19
25struct AvmStat {
26 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmStat";
27
28 std::string name;
29 uint64_t value_ms;
31 bool operator==(const AvmStat&) const = default;
32};
33
40struct AvmProve {
41 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmProve";
42
43 struct Response {
44 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmProveResponse";
45
46 std::vector<bb::fr> proof;
49 bool operator==(const Response&) const = default;
50 };
51
52 std::vector<uint8_t> inputs;
54 Response execute(const BBApiRequest& request = {}) &&;
55 bool operator==(const AvmProve&) const = default;
56};
57
62struct AvmVerify {
63 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmVerify";
64
65 struct Response {
66 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmVerifyResponse";
67
70 bool operator==(const Response&) const = default;
71 };
72
73 std::vector<bb::fr> proof;
74 std::vector<uint8_t> public_inputs;
76 Response execute(const BBApiRequest& request = {}) &&;
77 bool operator==(const AvmVerify&) const = default;
78};
79
85 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmCheckCircuit";
86
87 struct Response {
88 static constexpr const char MSGPACK_SCHEMA_NAME[] = "AvmCheckCircuitResponse";
89
90 bool passed;
93 bool operator==(const Response&) const = default;
94 };
95
96 std::vector<uint8_t> inputs;
98 Response execute(const BBApiRequest& request = {}) &&;
99 bool operator==(const AvmCheckCircuit&) const = default;
100};
101
102} // namespace bb::bbapi
Shared type definitions for the Barretenberg RPC API.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:88
bool operator==(const Response &) const =default
Check the AVM circuit from serialized inputs.
Definition bbapi_avm.hpp:84
bool operator==(const AvmCheckCircuit &) const =default
std::vector< uint8_t > inputs
Definition bbapi_avm.hpp:96
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:85
Response execute(const BBApiRequest &request={}) &&
Definition bbapi_avm.cpp:45
bool operator==(const Response &) const =default
SERIALIZATION_FIELDS(proof, stats)
std::vector< AvmStat > stats
Definition bbapi_avm.hpp:47
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:44
std::vector< bb::fr > proof
Definition bbapi_avm.hpp:46
Prove an AVM transaction from serialized inputs. The inputs are opaque msgpack bytes of AvmProvingInp...
Definition bbapi_avm.hpp:40
SERIALIZATION_FIELDS(inputs)
std::vector< uint8_t > inputs
Definition bbapi_avm.hpp:52
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:41
bool operator==(const AvmProve &) const =default
Response execute(const BBApiRequest &request={}) &&
Definition bbapi_avm.cpp:29
A single AVM per-stage timing entry. value_ms is wall-clock milliseconds captured by bb::avm2::Stats ...
Definition bbapi_avm.hpp:25
std::string name
Definition bbapi_avm.hpp:28
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:26
bool operator==(const AvmStat &) const =default
SERIALIZATION_FIELDS(name, value_ms)
bool operator==(const Response &) const =default
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:66
Verify an AVM proof against serialized public inputs.
Definition bbapi_avm.hpp:62
SERIALIZATION_FIELDS(proof, public_inputs)
std::vector< bb::fr > proof
Definition bbapi_avm.hpp:73
bool operator==(const AvmVerify &) const =default
static constexpr const char MSGPACK_SCHEMA_NAME[]
Definition bbapi_avm.hpp:63
Response execute(const BBApiRequest &request={}) &&
Definition bbapi_avm.cpp:39
std::vector< uint8_t > public_inputs
Definition bbapi_avm.hpp:74