|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Classes | |
| struct | AesDecrypt |
| AES-128 CBC decryption. More... | |
| struct | AesEncrypt |
| AES-128 CBC encryption. More... | |
| class | BBApiChonkTest |
| struct | BBApiRequest |
| class | BBApiUltraHonkTest |
| struct | Blake2s |
| Compute Blake2s hash. More... | |
| struct | Blake2sToField |
| Compute Blake2s hash and convert to field element. More... | |
| struct | Bn254FqSqrt |
| Compute square root of a BN254 Fq (base field) element. More... | |
| struct | Bn254FrSqrt |
| Compute square root of a BN254 Fr (scalar field) element. More... | |
| struct | Bn254G1FromCompressed |
| Decompress a BN254 G1 point from compressed form. More... | |
| struct | Bn254G1IsOnCurve |
| Check if a BN254 G1 point is on the curve. More... | |
| struct | Bn254G1Mul |
| Multiply a BN254 G1 point by a scalar. More... | |
| struct | Bn254G2Mul |
| Multiply a BN254 G2 point by a scalar. More... | |
| struct | ChonkAccumulate |
| Accumulate the previously loaded circuit into the IVC proof. More... | |
| struct | ChonkCheckPrecomputedVk |
| Verify that a precomputed verification key matches the circuit. More... | |
| struct | ChonkComputeIvcVk |
| Compute IVC verification key for the complete proof. More... | |
| struct | ChonkComputeStandaloneVk |
| Compute standalone verification key for a circuit. More... | |
| struct | ChonkLoad |
| Load a circuit into the Chonk instance for accumulation. More... | |
| struct | ChonkProve |
| Generate a proof for all accumulated circuits. More... | |
| struct | ChonkStart |
| Initialize a new Chonk instance for incremental proof accumulation. More... | |
| struct | ChonkStats |
| Get gate counts for a circuit. More... | |
| struct | ChonkVerify |
| Verify a Chonk proof with its verification key. More... | |
| struct | CircuitComputeVk |
| struct | CircuitInput |
| A circuit to be used in either ultrahonk or Chonk proving. More... | |
| struct | CircuitInputNoVK |
| A circuit to be used in either ultrahonk or chonk 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, Chonk. For that, use the Chonk* 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 | EcdsaSecp256k1ComputePublicKey |
| Compute ECDSA public key from private key for secp256k1. More... | |
| struct | EcdsaSecp256k1ConstructSignature |
| Construct an ECDSA signature for secp256k1. More... | |
| struct | EcdsaSecp256k1RecoverPublicKey |
| Recover public key from ECDSA signature for secp256k1. More... | |
| struct | EcdsaSecp256k1VerifySignature |
| Verify an ECDSA signature for secp256k1. More... | |
| struct | EcdsaSecp256r1ComputePublicKey |
| Compute ECDSA public key from private key for secp256r1. More... | |
| struct | EcdsaSecp256r1ConstructSignature |
| Construct an ECDSA signature for secp256r1. More... | |
| struct | EcdsaSecp256r1RecoverPublicKey |
| Recover public key from ECDSA signature for secp256r1. More... | |
| struct | EcdsaSecp256r1VerifySignature |
| Verify an ECDSA signature for secp256r1. More... | |
| struct | ErrorResponse |
| Error response returned when a command fails. More... | |
| struct | GrumpkinAdd |
| Add two Grumpkin points. More... | |
| struct | GrumpkinBatchMul |
| Multiply multiple Grumpkin points by a single scalar. More... | |
| struct | GrumpkinGetRandomFr |
| Get a random Grumpkin field element (BN254 Fr) More... | |
| struct | GrumpkinMul |
| Multiply a Grumpkin point by a scalar. More... | |
| struct | GrumpkinReduce512 |
| Reduce a 512-bit value modulo Grumpkin scalar field (BN254 Fr) More... | |
| struct | MegaVkAsFields |
| Convert a MegaFlavor verification key to field elements representation. Used for private function verification keys which use MegaFlavor (127 fields). More... | |
| struct | PedersenCommit |
| Compute Pedersen commitment to field elements. More... | |
| struct | PedersenHash |
| Compute Pedersen hash of field elements. More... | |
| struct | PedersenHashBuffer |
| Compute Pedersen hash of raw buffer. More... | |
| struct | Poseidon2Hash |
| Compute Poseidon2 hash of input field elements. More... | |
| struct | Poseidon2HashAccumulate |
| Compute accumulated Poseidon2 hash. More... | |
| struct | Poseidon2Permutation |
| Compute Poseidon2 permutation on state (4 field elements) More... | |
| struct | ProofSystemSettings |
| struct | SchnorrComputePublicKey |
| Compute Schnorr public key from private key. More... | |
| struct | SchnorrConstructSignature |
| Construct a Schnorr signature. More... | |
| struct | SchnorrVerifySignature |
| Verify a Schnorr signature. More... | |
| struct | Secp256k1GetRandomFr |
| Get a random Secp256k1 field element. More... | |
| struct | Secp256k1Mul |
| Multiply a Secp256k1 point by a scalar. More... | |
| struct | Secp256k1Reduce512 |
| Reduce a 512-bit value modulo Secp256k1 scalar field. More... | |
| struct | Shutdown |
| struct | SrsInitGrumpkinSrs |
| Initialize Grumpkin SRS with Grumpkin points. More... | |
| struct | SrsInitSrs |
| Initialize BN254 SRS with G1 and G2 points. More... | |
| 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 | VkPolicy { DEFAULT , CHECK , RECOMPUTE , REWRITE } |
| Policy for handling verification keys during IVC accumulation. More... | |
| enum class | OracleHashType { POSEIDON2 , KECCAK , STARKNET } |
| Convert oracle hash type string to enum for internal use. More... | |
Functions | |
| TEST_F (BBApiChonkTest, StandaloneVerificationKeySerialization) | |
| TEST_F (BBApiChonkTest, ChonkVkSerialization) | |
| 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) |
| VkPolicy | parse_vk_policy (const std::string &policy) |
| Convert VK policy string to enum for internal use. | |
| 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. | |
Definition at line 16 of file bbapi_execute.hpp.
Definition at line 71 of file bbapi_execute.hpp.
|
strong |
Convert oracle hash type string to enum for internal use.
| Enumerator | |
|---|---|
| POSEIDON2 | |
| KECCAK | |
| STARKNET | |
Definition at line 117 of file bbapi_shared.hpp.
|
strong |
Policy for handling verification keys during IVC accumulation.
| Enumerator | |
|---|---|
| DEFAULT | |
| CHECK | |
| RECOMPUTE | |
| REWRITE | |
Definition at line 23 of file bbapi_shared.hpp.
| Circuit bb::bbapi::_compute_circuit | ( | std::vector< uint8_t > && | bytecode, |
| std::vector< uint8_t > && | witness | ||
| ) |
Definition at line 43 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 55 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 68 of file bbapi_ultra_honk.cpp.
| CircuitStats::Response bb::bbapi::_stats | ( | std::vector< uint8_t > && | bytecode, |
| bool | include_gates_per_opcode | ||
| ) |
Definition at line 271 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 130 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 134 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 119 of file bbapi_shared.hpp.
|
inline |
Convert VK policy string to enum for internal use.
Definition at line 133 of file bbapi_shared.hpp.
| bb::bbapi::TEST_F | ( | BBApiChonkTest | , |
| ChonkVkSerialization | |||
| ) |
Definition at line 36 of file bbapi_chonk.test.cpp.
| bb::bbapi::TEST_F | ( | BBApiChonkTest | , |
| StandaloneVerificationKeySerialization | |||
| ) |
Definition at line 17 of file bbapi_chonk.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.