Barretenberg
The ZK-SNARK library at the core of Aztec
|
Classes | |
struct | BBApiRequest |
class | BBApiUltraHonkTest |
struct | CircuitComputeVk |
struct | CircuitInput |
A circuit to be used in either ultrahonk or ClientIVC-honk proving. More... | |
struct | CircuitInputNoVK |
A circuit to be used in either ultrahonk or chonk (ClientIVC+honk) verification key derivation. More... | |
struct | CircuitProve |
Represents a request to generate a proof. Currently, UltraHonk is the only proving system supported by BB (after plonk was deprecated and removed). This is used for one-shot proving, not our "IVC" scheme, ClientIVC-honk. For that, use the ClientIVC* commands. More... | |
struct | CircuitStats |
Consolidated command for retrieving circuit information. Combines gate count, circuit size, and other metadata into a single command. More... | |
struct | CircuitVerify |
Verify a proof against a verification key and public inputs. More... | |
struct | CircuitWriteSolidityVerifier |
Command to generate Solidity verifier contract. More... | |
struct | ClientIvcAccumulate |
Accumulate the previously loaded circuit into the IVC proof. More... | |
struct | ClientIvcCheckPrecomputedVk |
Verify that a precomputed verification key matches the circuit. More... | |
struct | ClientIvcComputeIvcVk |
Compute IVC verification key for the complete proof. More... | |
struct | ClientIvcComputeStandaloneVk |
Compute standalone verification key for a circuit. More... | |
struct | ClientIvcLoad |
Load a circuit into the ClientIVC instance for accumulation. More... | |
struct | ClientIvcProve |
Generate a proof for all accumulated circuits. More... | |
struct | ClientIvcStart |
Initialize a new ClientIVC instance for incremental proof accumulation. More... | |
struct | ClientIvcStats |
Get gate counts for a circuit. More... | |
struct | ClientIvcVerify |
Verify a ClientIVC proof with its verification key. More... | |
struct | ProofSystemSettings |
struct | VkAsFields |
Convert a verification key to field elements representation. WORKTODO(bbapi): this should become mostly obsolete with having the verification keys always reported as field elements as well, and having a simpler serialization method. More... | |
Enumerations | |
enum class | OracleHashType { POSEIDON2 , KECCAK , STARKNET } |
Convert oracle hash type string to enum for internal use. More... | |
Functions | |
std::string | get_msgpack_schema_as_json () |
CommandResponse | execute (BBApiRequest &request, Command &&command) |
Executes a command by visiting a variant of all possible commands. | |
OracleHashType | parse_oracle_hash_type (const std::string &type) |
template<typename Flavor > | |
acir_format::ProgramMetadata | _create_program_metadata () |
template<typename Flavor , typename Circuit = typename Flavor::CircuitBuilder> | |
Circuit | _compute_circuit (std::vector< uint8_t > &&bytecode, std::vector< uint8_t > &&witness) |
template<typename Flavor > | |
std::shared_ptr< DeciderProvingKey_< Flavor > > | _compute_proving_key (std::vector< uint8_t > &&bytecode, std::vector< uint8_t > &&witness) |
template<typename Flavor > | |
CircuitProve::Response | _prove (std::vector< uint8_t > &&bytecode, std::vector< uint8_t > &&witness, std::vector< uint8_t > &&vk_bytes) |
template<typename Flavor > | |
bool | _verify (const bool ipa_accumulation, const std::vector< uint8_t > &vk_bytes, const std::vector< uint256_t > &public_inputs, const std::vector< uint256_t > &proof) |
TEST_F (BBApiUltraHonkTest, CircuitProve) | |
CommandResponse | bbapi (Command &&command) |
Main API function that processes commands and returns responses. | |
Definition at line 11 of file bbapi_execute.hpp.
Definition at line 27 of file bbapi_execute.hpp.
|
strong |
Convert oracle hash type string to enum for internal use.
Enumerator | |
---|---|
POSEIDON2 | |
KECCAK | |
STARKNET |
Definition at line 102 of file bbapi_shared.hpp.
Circuit bb::bbapi::_compute_circuit | ( | std::vector< uint8_t > && | bytecode, |
std::vector< uint8_t > && | witness | ||
) |
Definition at line 50 of file bbapi_ultra_honk.cpp.
std::shared_ptr< DeciderProvingKey_< Flavor > > bb::bbapi::_compute_proving_key | ( | std::vector< uint8_t > && | bytecode, |
std::vector< uint8_t > && | witness | ||
) |
Definition at line 62 of file bbapi_ultra_honk.cpp.
acir_format::ProgramMetadata bb::bbapi::_create_program_metadata | ( | ) |
Definition at line 31 of file bbapi_ultra_honk.cpp.
CircuitProve::Response bb::bbapi::_prove | ( | std::vector< uint8_t > && | bytecode, |
std::vector< uint8_t > && | witness, | ||
std::vector< uint8_t > && | vk_bytes | ||
) |
Definition at line 76 of file bbapi_ultra_honk.cpp.
bool bb::bbapi::_verify | ( | const bool | ipa_accumulation, |
const std::vector< uint8_t > & | vk_bytes, | ||
const std::vector< uint256_t > & | public_inputs, | ||
const std::vector< uint256_t > & | proof | ||
) |
Definition at line 138 of file bbapi_ultra_honk.cpp.
CommandResponse bb::bbapi::bbapi | ( | Command && | command | ) |
Main API function that processes commands and returns responses.
command | The command to execute |
Definition at line 28 of file c_bind.cpp.
|
inline |
Executes a command by visiting a variant of all possible commands.
command | The command to execute, consumed by this function. |
request | The circuit registry (acting as the request context). |
Definition at line 50 of file bbapi_execute.hpp.
std::string bb::bbapi::get_msgpack_schema_as_json | ( | ) |
Definition at line 11 of file bbapi_execute.cpp.
|
inline |
Definition at line 104 of file bbapi_shared.hpp.
bb::bbapi::TEST_F | ( | BBApiUltraHonkTest | , |
CircuitProve | |||
) |
Definition at line 15 of file bbapi_ultra_honk.test.cpp.