|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Classes | |
| class | BBApiClientIvcTest |
| 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 | |
| TEST_F (BBApiClientIvcTest, StandaloneVerificationKeySerialization) | |
| TEST_F (BBApiClientIvcTest, ClientIvcVkSerialization) | |
| 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< ProverInstance_< Flavor > > | _compute_prover_instance (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) |
| template<typename Flavor , typename Circuit = typename Flavor::CircuitBuilder> | |
| CircuitStats::Response | _stats (std::vector< uint8_t > &&bytecode, bool include_gates_per_opcode) |
| TEST_F (BBApiUltraHonkTest, CircuitProve) | |
| TEST_F (BBApiUltraHonkTest, ParallelComputeVk) | |
| CommandResponse | bbapi (Command &&command) |
| Main API function that processes commands and returns responses. | |
Variables | |
| bool | USE_SUMCHECK_IVC = false |
| Global flag to control whether to use SumcheckClientIVC instead of ClientIVC. | |
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 111 of file bbapi_shared.hpp.
| Circuit bb::bbapi::_compute_circuit | ( | std::vector< uint8_t > && | bytecode, |
| std::vector< uint8_t > && | witness | ||
| ) |
Definition at line 54 of file bbapi_ultra_honk.cpp.
| std::shared_ptr< ProverInstance_< Flavor > > bb::bbapi::_compute_prover_instance | ( | std::vector< uint8_t > && | bytecode, |
| std::vector< uint8_t > && | witness | ||
| ) |
Definition at line 66 of file bbapi_ultra_honk.cpp.
| acir_format::ProgramMetadata bb::bbapi::_create_program_metadata | ( | ) |
Definition at line 35 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 79 of file bbapi_ultra_honk.cpp.
| CircuitStats::Response bb::bbapi::_stats | ( | std::vector< uint8_t > && | bytecode, |
| bool | include_gates_per_opcode | ||
| ) |
Definition at line 282 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 141 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 24 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 113 of file bbapi_shared.hpp.
| bb::bbapi::TEST_F | ( | BBApiClientIvcTest | , |
| ClientIvcVkSerialization | |||
| ) |
Definition at line 36 of file bbapi_client_ivc.test.cpp.
| bb::bbapi::TEST_F | ( | BBApiClientIvcTest | , |
| StandaloneVerificationKeySerialization | |||
| ) |
Definition at line 17 of file bbapi_client_ivc.test.cpp.
| bb::bbapi::TEST_F | ( | BBApiUltraHonkTest | , |
| CircuitProve | |||
| ) |
Definition at line 31 of file bbapi_ultra_honk.test.cpp.
| bb::bbapi::TEST_F | ( | BBApiUltraHonkTest | , |
| ParallelComputeVk | |||
| ) |
Definition at line 73 of file bbapi_ultra_honk.test.cpp.
|
inline |
Global flag to control whether to use SumcheckClientIVC instead of ClientIVC.
Definition at line 22 of file bbapi_shared.hpp.