Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::bbapi Namespace Reference

Classes

struct  BBApiRequest
 
class  ChonkBatchVerifierService
 FIFO-streaming batch verification service for Chonk proofs. More...
 

Enumerations

enum class  VkPolicy { DEFAULT , CHECK , RECOMPUTE , REWRITE }
 Policy for handling verification keys during IVC accumulation. More...
 

Functions

template<typename VerificationKey >
bool has_expected_vk_size (const std::vector< uint8_t > &vk_bytes, const char *label)
 
wire::ChonkStartResponse handle_chonk_start (BBApiRequest &request, wire::ChonkStart &&cmd)
 
wire::ChonkLoadResponse handle_chonk_load (BBApiRequest &request, wire::ChonkLoad &&cmd)
 
wire::ChonkAccumulateResponse handle_chonk_accumulate (BBApiRequest &request, wire::ChonkAccumulate &&cmd)
 
wire::ChonkProveResponse handle_chonk_prove (BBApiRequest &request, wire::ChonkProve &&)
 
wire::ChonkVerifyResponse handle_chonk_verify (BBApiRequest &, wire::ChonkVerify &&cmd)
 
wire::ChonkVerifyFromFieldsResponse handle_chonk_verify_from_fields (BBApiRequest &, wire::ChonkVerifyFromFields &&cmd)
 
wire::ChonkBatchVerifyResponse handle_chonk_batch_verify (BBApiRequest &, wire::ChonkBatchVerify &&cmd)
 
wire::ChonkComputeVkResponse handle_chonk_compute_vk (BBApiRequest &, wire::ChonkComputeVk &&cmd)
 
wire::ChonkCheckPrecomputedVkResponse handle_chonk_check_precomputed_vk (BBApiRequest &, wire::ChonkCheckPrecomputedVk &&cmd)
 
wire::ChonkStatsResponse handle_chonk_stats (BBApiRequest &, wire::ChonkStats &&cmd)
 
wire::ChonkCompressProofResponse handle_chonk_compress_proof (BBApiRequest &, wire::ChonkCompressProof &&cmd)
 
wire::ChonkDecompressProofResponse handle_chonk_decompress_proof (BBApiRequest &, wire::ChonkDecompressProof &&cmd)
 
wire::ChonkBatchVerifierStartResponse handle_chonk_batch_verifier_start (BBApiRequest &, wire::ChonkBatchVerifierStart &&)
 
wire::ChonkBatchVerifierQueueResponse handle_chonk_batch_verifier_queue (BBApiRequest &, wire::ChonkBatchVerifierQueue &&)
 
wire::ChonkBatchVerifierStopResponse handle_chonk_batch_verifier_stop (BBApiRequest &, wire::ChonkBatchVerifierStop &&)
 
wire::AvmProveResponse handle_avm_prove (BBApiRequest &, wire::AvmProve &&cmd)
 
wire::AvmVerifyResponse handle_avm_verify (BBApiRequest &, wire::AvmVerify &&cmd)
 
wire::AvmCheckCircuitResponse handle_avm_check_circuit (BBApiRequest &, wire::AvmCheckCircuit &&cmd)
 
wire::Poseidon2HashResponse handle_poseidon2_hash (BBApiRequest &, wire::Poseidon2Hash &&cmd)
 
wire::Poseidon2PermutationResponse handle_poseidon2_permutation (BBApiRequest &, wire::Poseidon2Permutation &&cmd)
 
wire::PedersenCommitResponse handle_pedersen_commit (BBApiRequest &, wire::PedersenCommit &&cmd)
 
wire::PedersenHashResponse handle_pedersen_hash (BBApiRequest &, wire::PedersenHash &&cmd)
 
wire::PedersenHashBufferResponse handle_pedersen_hash_buffer (BBApiRequest &, wire::PedersenHashBuffer &&cmd)
 
wire::Blake2sResponse handle_blake2s (BBApiRequest &, wire::Blake2s &&cmd)
 
wire::Blake2sToFieldResponse handle_blake2s_to_field (BBApiRequest &, wire::Blake2sToField &&cmd)
 
wire::AesEncryptResponse handle_aes_encrypt (BBApiRequest &, wire::AesEncrypt &&cmd)
 
wire::AesDecryptResponse handle_aes_decrypt (BBApiRequest &, wire::AesDecrypt &&cmd)
 
wire::GrumpkinMulResponse handle_grumpkin_mul (BBApiRequest &request, wire::GrumpkinMul &&cmd)
 
wire::GrumpkinAddResponse handle_grumpkin_add (BBApiRequest &request, wire::GrumpkinAdd &&cmd)
 
wire::GrumpkinBatchMulResponse handle_grumpkin_batch_mul (BBApiRequest &request, wire::GrumpkinBatchMul &&cmd)
 
wire::GrumpkinGetRandomFrResponse handle_grumpkin_get_random_fr (BBApiRequest &, wire::GrumpkinGetRandomFr &&)
 
wire::GrumpkinReduce512Response handle_grumpkin_reduce512 (BBApiRequest &, wire::GrumpkinReduce512 &&cmd)
 
wire::Secp256k1MulResponse handle_secp256k1_mul (BBApiRequest &request, wire::Secp256k1Mul &&cmd)
 
wire::Secp256k1GetRandomFrResponse handle_secp256k1_get_random_fr (BBApiRequest &, wire::Secp256k1GetRandomFr &&)
 
wire::Secp256k1Reduce512Response handle_secp256k1_reduce512 (BBApiRequest &, wire::Secp256k1Reduce512 &&cmd)
 
wire::Bn254FrSqrtResponse handle_bn254_fr_sqrt (BBApiRequest &, wire::Bn254FrSqrt &&cmd)
 
wire::Bn254FqSqrtResponse handle_bn254_fq_sqrt (BBApiRequest &, wire::Bn254FqSqrt &&cmd)
 
wire::Bn254G1MulResponse handle_bn254_g1_mul (BBApiRequest &request, wire::Bn254G1Mul &&cmd)
 
wire::Bn254G2MulResponse handle_bn254_g2_mul (BBApiRequest &request, wire::Bn254G2Mul &&cmd)
 
wire::Bn254G1IsOnCurveResponse handle_bn254_g1_is_on_curve (BBApiRequest &, wire::Bn254G1IsOnCurve &&cmd)
 
wire::Bn254G1FromCompressedResponse handle_bn254_g1_from_compressed (BBApiRequest &request, wire::Bn254G1FromCompressed &&cmd)
 
wire::SchnorrComputePublicKeyResponse handle_schnorr_compute_public_key (BBApiRequest &, wire::SchnorrComputePublicKey &&cmd)
 
wire::SchnorrConstructSignatureResponse handle_schnorr_construct_signature (BBApiRequest &, wire::SchnorrConstructSignature &&cmd)
 
wire::SchnorrVerifySignatureResponse handle_schnorr_verify_signature (BBApiRequest &, wire::SchnorrVerifySignature &&cmd)
 
wire::EcdsaSecp256k1ComputePublicKeyResponse handle_ecdsa_secp256k1_compute_public_key (BBApiRequest &, wire::EcdsaSecp256k1ComputePublicKey &&cmd)
 
wire::EcdsaSecp256r1ComputePublicKeyResponse handle_ecdsa_secp256r1_compute_public_key (BBApiRequest &, wire::EcdsaSecp256r1ComputePublicKey &&cmd)
 
wire::EcdsaSecp256k1ConstructSignatureResponse handle_ecdsa_secp256k1_construct_signature (BBApiRequest &, wire::EcdsaSecp256k1ConstructSignature &&cmd)
 
wire::EcdsaSecp256r1ConstructSignatureResponse handle_ecdsa_secp256r1_construct_signature (BBApiRequest &, wire::EcdsaSecp256r1ConstructSignature &&cmd)
 
wire::EcdsaSecp256k1RecoverPublicKeyResponse handle_ecdsa_secp256k1_recover_public_key (BBApiRequest &, wire::EcdsaSecp256k1RecoverPublicKey &&cmd)
 
wire::EcdsaSecp256r1RecoverPublicKeyResponse handle_ecdsa_secp256r1_recover_public_key (BBApiRequest &, wire::EcdsaSecp256r1RecoverPublicKey &&cmd)
 
wire::EcdsaSecp256k1VerifySignatureResponse handle_ecdsa_secp256k1_verify_signature (BBApiRequest &, wire::EcdsaSecp256k1VerifySignature &&cmd)
 
wire::EcdsaSecp256r1VerifySignatureResponse handle_ecdsa_secp256r1_verify_signature (BBApiRequest &, wire::EcdsaSecp256r1VerifySignature &&cmd)
 
wire::SrsInitSrsResponse handle_srs_init_srs (BBApiRequest &, wire::SrsInitSrs &&cmd)
 
wire::SrsInitGrumpkinSrsResponse handle_srs_init_grumpkin_srs (BBApiRequest &, wire::SrsInitGrumpkinSrs &&cmd)
 
wire::CircuitProveResponse handle_circuit_prove (BBApiRequest &ctx, wire::CircuitProve &&cmd)
 
wire::CircuitComputeVkResponse handle_circuit_compute_vk (BBApiRequest &ctx, wire::CircuitComputeVk &&cmd)
 
wire::CircuitInfoResponse handle_circuit_stats (BBApiRequest &ctx, wire::CircuitStats &&cmd)
 
wire::CircuitVerifyResponse handle_circuit_verify (BBApiRequest &ctx, wire::CircuitVerify &&cmd)
 
wire::VkAsFieldsResponse handle_vk_as_fields (BBApiRequest &ctx, wire::VkAsFields &&cmd)
 
wire::MegaVkAsFieldsResponse handle_mega_vk_as_fields (BBApiRequest &ctx, wire::MegaVkAsFields &&cmd)
 
wire::CircuitWriteSolidityVerifierResponse handle_circuit_write_solidity_verifier (BBApiRequest &ctx, wire::CircuitWriteSolidityVerifier &&cmd)
 
std::string get_bb_schema_as_json ()
 
template<typename VK >
void validate_vk_size (const std::vector< uint8_t > &vk_bytes)
 Validate verification key size before deserialization.
 
VkPolicy parse_vk_policy (const std::string &policy)
 Convert VK policy string to enum for internal use.
 
template<typename Flavor >
Flavor::Transcript::Proof concatenate_proof (const std::vector< uint256_t > &public_inputs, const std::vector< uint256_t > &proof)
 Concatenate public inputs and proof into a complete proof for verification.
 
template<typename VK >
std::vector< uint256_tvk_to_uint256_fields (const VK &vk)
 Convert VK to uint256 field elements, handling flavor-specific return types.
 
template<typename Settings >
void validate_rollup_settings (const Settings &settings)
 Validate rollup circuit settings.
 
template<typename Settings , typename Operation >
auto dispatch_by_settings (const Settings &settings, Operation &&operation)
 Dispatch to the correct Flavor and IO type based on proof system settings.
 
const std::array< uint8_t, 32 > & wire_bytes (const std::array< uint8_t, 32 > &w)
 
template<typename Wire >
const std::array< uint8_t, 32 > & wire_bytes (const Wire &w)
 
template<typename Field >
std::array< uint8_t, 32 > field_to_bytes (const Field &d)
 
template<typename Field >
std::array< uint8_t, 32 > field_to_wire (const Field &d)
 
template<typename Wire , typename Field >
Wire field_to_wire_as (const Field &d)
 
template<typename Field , typename Wire >
Field field_from_wire (const Wire &w)
 
Fr fr_to_wire (const bb::fr &d)
 
bb::fr fr_from_wire (const Fr &w)
 
std::vector< Frfr_vec_to_wire (const std::vector< bb::fr > &d)
 
std::vector< bb::frfr_vec_from_wire (const std::vector< Fr > &w)
 
template<std::size_t N>
std::array< Fr, N > fr_array_to_wire (const std::array< bb::fr, N > &d)
 
template<std::size_t N>
std::array< bb::fr, N > fr_array_from_wire (const std::array< Fr, N > &w)
 
wire::GrumpkinPoint grumpkin_point_to_wire (const grumpkin::g1::affine_element &d)
 
grumpkin::g1::affine_element grumpkin_point_from_wire (const wire::GrumpkinPoint &w)
 
std::vector< wire::GrumpkinPoint > grumpkin_point_vec_to_wire (const std::vector< grumpkin::g1::affine_element > &d)
 
std::vector< grumpkin::g1::affine_elementgrumpkin_point_vec_from_wire (const std::vector< wire::GrumpkinPoint > &w)
 
wire::Bn254G1Point bn254_g1_point_to_wire (const bb::g1::affine_element &d)
 
bb::g1::affine_element bn254_g1_point_from_wire (const wire::Bn254G1Point &w)
 
std::array< Fq, 2 > fq2_to_wire (const bb::fq2 &d)
 
bb::fq2 fq2_from_wire (const std::array< Fq, 2 > &w)
 
wire::Bn254G2Point bn254_g2_point_to_wire (const bb::g2::affine_element &d)
 
bb::g2::affine_element bn254_g2_point_from_wire (const wire::Bn254G2Point &w)
 
wire::Secp256k1Point secp256k1_point_to_wire (const secp256k1::g1::affine_element &d)
 
secp256k1::g1::affine_element secp256k1_point_from_wire (const wire::Secp256k1Point &w)
 
wire::Secp256r1Point secp256r1_point_to_wire (const secp256r1::g1::affine_element &d)
 
secp256r1::g1::affine_element secp256r1_point_from_wire (const wire::Secp256r1Point &w)
 
Uint256 uint256_to_wire (const bb::numeric::uint256_t &d)
 
bb::numeric::uint256_t uint256_from_wire (const Uint256 &w)
 
std::vector< Uint256 > uint256_vec_to_wire (const std::vector< bb::numeric::uint256_t > &d)
 
std::vector< bb::numeric::uint256_tuint256_vec_from_wire (const std::vector< Uint256 > &w)
 
ChonkProof chonk_proof_from_wire (wire::ChonkProof &&w)
 
wire::ChonkProof chonk_proof_to_wire (const ChonkProof &d)
 
std::vector< ChonkProofchonk_proof_vec_from_wire (std::vector< wire::ChonkProof > &&w)
 

Enumeration Type Documentation

◆ VkPolicy

enum class bb::bbapi::VkPolicy
strong

Policy for handling verification keys during IVC accumulation.

Enumerator
DEFAULT 
CHECK 
RECOMPUTE 
REWRITE 

Definition at line 50 of file bbapi_shared.hpp.

Function Documentation

◆ bn254_g1_point_from_wire()

bb::g1::affine_element bb::bbapi::bn254_g1_point_from_wire ( const wire::Bn254G1Point &  w)
inline

Definition at line 162 of file bbapi_wire_convert.hpp.

◆ bn254_g1_point_to_wire()

wire::Bn254G1Point bb::bbapi::bn254_g1_point_to_wire ( const bb::g1::affine_element d)
inline

Definition at line 157 of file bbapi_wire_convert.hpp.

◆ bn254_g2_point_from_wire()

bb::g2::affine_element bb::bbapi::bn254_g2_point_from_wire ( const wire::Bn254G2Point &  w)
inline

Definition at line 183 of file bbapi_wire_convert.hpp.

◆ bn254_g2_point_to_wire()

wire::Bn254G2Point bb::bbapi::bn254_g2_point_to_wire ( const bb::g2::affine_element d)
inline

Definition at line 178 of file bbapi_wire_convert.hpp.

◆ chonk_proof_from_wire()

ChonkProof bb::bbapi::chonk_proof_from_wire ( wire::ChonkProof &&  w)
inline

Definition at line 258 of file bbapi_wire_convert.hpp.

◆ chonk_proof_to_wire()

wire::ChonkProof bb::bbapi::chonk_proof_to_wire ( const ChonkProof d)
inline

Definition at line 267 of file bbapi_wire_convert.hpp.

◆ chonk_proof_vec_from_wire()

std::vector< ChonkProof > bb::bbapi::chonk_proof_vec_from_wire ( std::vector< wire::ChonkProof > &&  w)
inline

Definition at line 276 of file bbapi_wire_convert.hpp.

◆ concatenate_proof()

template<typename Flavor >
Flavor::Transcript::Proof bb::bbapi::concatenate_proof ( const std::vector< uint256_t > &  public_inputs,
const std::vector< uint256_t > &  proof 
)
inline

Concatenate public inputs and proof into a complete proof for verification.

Joins the separated public_inputs and proof portions back together. Handles implicit conversion from uint256_t to the flavor's DataType.

The proof structure after concatenation is: [public_inputs | honk_proof (| ipa_proof)] For rollup circuits (RollupIO), the proof portion includes the IPA proof appended at the end. This must match the split done in _prove() and the verification in _verify().

Parameters
public_inputsThe ACIR public inputs (user inputs, not including IO-specific data)
proofThe proof data (Honk proof, plus IPA proof for rollup circuits)

Definition at line 121 of file bbapi_shared.hpp.

◆ dispatch_by_settings()

template<typename Settings , typename Operation >
auto bb::bbapi::dispatch_by_settings ( const Settings &  settings,
Operation &&  operation 
)

Dispatch to the correct Flavor and IO type based on proof system settings.

Maps settings (ipa_accumulation, oracle_hash_type, disable_zk) to the appropriate Flavor and IO template parameters.

Rollup Path:

  • When ipa_accumulation=true, uses UltraFlavor with RollupIO (includes IPA claim for ECCVM)
  • Validates that rollup settings are compatible (poseidon2, disable_zk=true)

Non-Rollup Paths:

  • Routes to appropriate Flavor based on oracle_hash_type and disable_zk
  • Uses DefaultIO (includes only pairing points, no IPA)
Parameters
settingsThe proof system settings determining which flavor/IO to use
operationA callable object that will be invoked with <Flavor, IO> template parameters
Returns
The result of calling operation.template operator()<Flavor, IO>()

Definition at line 196 of file bbapi_shared.hpp.

◆ field_from_wire()

template<typename Field , typename Wire >
Field bb::bbapi::field_from_wire ( const Wire &  w)
inline

Definition at line 68 of file bbapi_wire_convert.hpp.

◆ field_to_bytes()

template<typename Field >
std::array< uint8_t, 32 > bb::bbapi::field_to_bytes ( const Field &  d)
inline

Definition at line 51 of file bbapi_wire_convert.hpp.

◆ field_to_wire()

template<typename Field >
std::array< uint8_t, 32 > bb::bbapi::field_to_wire ( const Field &  d)
inline

Definition at line 58 of file bbapi_wire_convert.hpp.

◆ field_to_wire_as()

template<typename Wire , typename Field >
Wire bb::bbapi::field_to_wire_as ( const Field &  d)
inline

Definition at line 63 of file bbapi_wire_convert.hpp.

◆ fq2_from_wire()

bb::fq2 bb::bbapi::fq2_from_wire ( const std::array< Fq, 2 > &  w)
inline

Definition at line 173 of file bbapi_wire_convert.hpp.

◆ fq2_to_wire()

std::array< Fq, 2 > bb::bbapi::fq2_to_wire ( const bb::fq2 d)
inline

Definition at line 168 of file bbapi_wire_convert.hpp.

◆ fr_array_from_wire()

template<std::size_t N>
std::array< bb::fr, N > bb::bbapi::fr_array_from_wire ( const std::array< Fr, N > &  w)
inline

Definition at line 111 of file bbapi_wire_convert.hpp.

◆ fr_array_to_wire()

template<std::size_t N>
std::array< Fr, N > bb::bbapi::fr_array_to_wire ( const std::array< bb::fr, N > &  d)
inline

Definition at line 102 of file bbapi_wire_convert.hpp.

◆ fr_from_wire()

bb::fr bb::bbapi::fr_from_wire ( const Fr w)
inline

Definition at line 77 of file bbapi_wire_convert.hpp.

◆ fr_to_wire()

Fr bb::bbapi::fr_to_wire ( const bb::fr d)
inline

Definition at line 73 of file bbapi_wire_convert.hpp.

◆ fr_vec_from_wire()

std::vector< bb::fr > bb::bbapi::fr_vec_from_wire ( const std::vector< Fr > &  w)
inline

Definition at line 92 of file bbapi_wire_convert.hpp.

◆ fr_vec_to_wire()

std::vector< Fr > bb::bbapi::fr_vec_to_wire ( const std::vector< bb::fr > &  d)
inline

Definition at line 82 of file bbapi_wire_convert.hpp.

◆ get_bb_schema_as_json()

std::string bb::bbapi::get_bb_schema_as_json ( )

Definition at line 144 of file bbapi_schema.cpp.

◆ grumpkin_point_from_wire()

grumpkin::g1::affine_element bb::bbapi::grumpkin_point_from_wire ( const wire::GrumpkinPoint &  w)
inline

Definition at line 132 of file bbapi_wire_convert.hpp.

◆ grumpkin_point_to_wire()

wire::GrumpkinPoint bb::bbapi::grumpkin_point_to_wire ( const grumpkin::g1::affine_element d)
inline

Definition at line 127 of file bbapi_wire_convert.hpp.

◆ grumpkin_point_vec_from_wire()

std::vector< grumpkin::g1::affine_element > bb::bbapi::grumpkin_point_vec_from_wire ( const std::vector< wire::GrumpkinPoint > &  w)
inline

Definition at line 147 of file bbapi_wire_convert.hpp.

◆ grumpkin_point_vec_to_wire()

std::vector< wire::GrumpkinPoint > bb::bbapi::grumpkin_point_vec_to_wire ( const std::vector< grumpkin::g1::affine_element > &  d)
inline

Definition at line 137 of file bbapi_wire_convert.hpp.

◆ handle_aes_decrypt()

wire::AesDecryptResponse bb::bbapi::handle_aes_decrypt ( BBApiRequest ,
wire::AesDecrypt &&  cmd 
)

Definition at line 150 of file bbapi_handlers.cpp.

◆ handle_aes_encrypt()

wire::AesEncryptResponse bb::bbapi::handle_aes_encrypt ( BBApiRequest ,
wire::AesEncrypt &&  cmd 
)

Definition at line 140 of file bbapi_handlers.cpp.

◆ handle_avm_check_circuit()

wire::AvmCheckCircuitResponse bb::bbapi::handle_avm_check_circuit ( BBApiRequest ,
wire::AvmCheckCircuit &&  cmd 
)

Definition at line 77 of file bbapi_handlers.cpp.

◆ handle_avm_prove()

wire::AvmProveResponse bb::bbapi::handle_avm_prove ( BBApiRequest ,
wire::AvmProve &&  cmd 
)

Definition at line 66 of file bbapi_handlers.cpp.

◆ handle_avm_verify()

wire::AvmVerifyResponse bb::bbapi::handle_avm_verify ( BBApiRequest ,
wire::AvmVerify &&  cmd 
)

Definition at line 72 of file bbapi_handlers.cpp.

◆ handle_blake2s()

wire::Blake2sResponse bb::bbapi::handle_blake2s ( BBApiRequest ,
wire::Blake2s &&  cmd 
)

Definition at line 131 of file bbapi_handlers.cpp.

◆ handle_blake2s_to_field()

wire::Blake2sToFieldResponse bb::bbapi::handle_blake2s_to_field ( BBApiRequest ,
wire::Blake2sToField &&  cmd 
)

Definition at line 135 of file bbapi_handlers.cpp.

◆ handle_bn254_fq_sqrt()

wire::Bn254FqSqrtResponse bb::bbapi::handle_bn254_fq_sqrt ( BBApiRequest ,
wire::Bn254FqSqrt &&  cmd 
)

Definition at line 246 of file bbapi_handlers.cpp.

◆ handle_bn254_fr_sqrt()

wire::Bn254FrSqrtResponse bb::bbapi::handle_bn254_fr_sqrt ( BBApiRequest ,
wire::Bn254FrSqrt &&  cmd 
)

Definition at line 241 of file bbapi_handlers.cpp.

◆ handle_bn254_g1_from_compressed()

wire::Bn254G1FromCompressedResponse bb::bbapi::handle_bn254_g1_from_compressed ( BBApiRequest request,
wire::Bn254G1FromCompressed &&  cmd 
)

Definition at line 287 of file bbapi_handlers.cpp.

◆ handle_bn254_g1_is_on_curve()

wire::Bn254G1IsOnCurveResponse bb::bbapi::handle_bn254_g1_is_on_curve ( BBApiRequest ,
wire::Bn254G1IsOnCurve &&  cmd 
)

Definition at line 283 of file bbapi_handlers.cpp.

◆ handle_bn254_g1_mul()

wire::Bn254G1MulResponse bb::bbapi::handle_bn254_g1_mul ( BBApiRequest request,
wire::Bn254G1Mul &&  cmd 
)

Definition at line 251 of file bbapi_handlers.cpp.

◆ handle_bn254_g2_mul()

wire::Bn254G2MulResponse bb::bbapi::handle_bn254_g2_mul ( BBApiRequest request,
wire::Bn254G2Mul &&  cmd 
)

Definition at line 264 of file bbapi_handlers.cpp.

◆ handle_chonk_accumulate()

wire::ChonkAccumulateResponse bb::bbapi::handle_chonk_accumulate ( BBApiRequest request,
wire::ChonkAccumulate &&  cmd 
)

Definition at line 94 of file bbapi_chonk.cpp.

◆ handle_chonk_batch_verifier_queue()

wire::ChonkBatchVerifierQueueResponse bb::bbapi::handle_chonk_batch_verifier_queue ( BBApiRequest ,
wire::ChonkBatchVerifierQueue &&   
)

Definition at line 710 of file bbapi_chonk.cpp.

◆ handle_chonk_batch_verifier_start()

wire::ChonkBatchVerifierStartResponse bb::bbapi::handle_chonk_batch_verifier_start ( BBApiRequest ,
wire::ChonkBatchVerifierStart &&   
)

Definition at line 704 of file bbapi_chonk.cpp.

◆ handle_chonk_batch_verifier_stop()

wire::ChonkBatchVerifierStopResponse bb::bbapi::handle_chonk_batch_verifier_stop ( BBApiRequest ,
wire::ChonkBatchVerifierStop &&   
)

Definition at line 716 of file bbapi_chonk.cpp.

◆ handle_chonk_batch_verify()

wire::ChonkBatchVerifyResponse bb::bbapi::handle_chonk_batch_verify ( BBApiRequest ,
wire::ChonkBatchVerify &&  cmd 
)

Definition at line 261 of file bbapi_chonk.cpp.

◆ handle_chonk_check_precomputed_vk()

wire::ChonkCheckPrecomputedVkResponse bb::bbapi::handle_chonk_check_precomputed_vk ( BBApiRequest ,
wire::ChonkCheckPrecomputedVk &&  cmd 
)

Definition at line 352 of file bbapi_chonk.cpp.

◆ handle_chonk_compress_proof()

wire::ChonkCompressProofResponse bb::bbapi::handle_chonk_compress_proof ( BBApiRequest ,
wire::ChonkCompressProof &&  cmd 
)

Definition at line 411 of file bbapi_chonk.cpp.

◆ handle_chonk_compute_vk()

wire::ChonkComputeVkResponse bb::bbapi::handle_chonk_compute_vk ( BBApiRequest ,
wire::ChonkComputeVk &&  cmd 
)

Definition at line 335 of file bbapi_chonk.cpp.

◆ handle_chonk_decompress_proof()

wire::ChonkDecompressProofResponse bb::bbapi::handle_chonk_decompress_proof ( BBApiRequest ,
wire::ChonkDecompressProof &&  cmd 
)

Definition at line 418 of file bbapi_chonk.cpp.

◆ handle_chonk_load()

wire::ChonkLoadResponse bb::bbapi::handle_chonk_load ( BBApiRequest request,
wire::ChonkLoad &&  cmd 
)

Definition at line 79 of file bbapi_chonk.cpp.

◆ handle_chonk_prove()

wire::ChonkProveResponse bb::bbapi::handle_chonk_prove ( BBApiRequest request,
wire::ChonkProve &&   
)

Definition at line 157 of file bbapi_chonk.cpp.

◆ handle_chonk_start()

wire::ChonkStartResponse bb::bbapi::handle_chonk_start ( BBApiRequest request,
wire::ChonkStart &&  cmd 
)

Definition at line 63 of file bbapi_chonk.cpp.

◆ handle_chonk_stats()

wire::ChonkStatsResponse bb::bbapi::handle_chonk_stats ( BBApiRequest ,
wire::ChonkStats &&  cmd 
)

Definition at line 377 of file bbapi_chonk.cpp.

◆ handle_chonk_verify()

wire::ChonkVerifyResponse bb::bbapi::handle_chonk_verify ( BBApiRequest ,
wire::ChonkVerify &&  cmd 
)

Definition at line 188 of file bbapi_chonk.cpp.

◆ handle_chonk_verify_from_fields()

wire::ChonkVerifyFromFieldsResponse bb::bbapi::handle_chonk_verify_from_fields ( BBApiRequest ,
wire::ChonkVerifyFromFields &&  cmd 
)

Definition at line 221 of file bbapi_chonk.cpp.

◆ handle_circuit_compute_vk()

wire::CircuitComputeVkResponse bb::bbapi::handle_circuit_compute_vk ( BBApiRequest ctx,
wire::CircuitComputeVk &&  cmd 
)

Definition at line 173 of file bbapi_ultra_honk.cpp.

◆ handle_circuit_prove()

wire::CircuitProveResponse bb::bbapi::handle_circuit_prove ( BBApiRequest ctx,
wire::CircuitProve &&  cmd 
)

Definition at line 164 of file bbapi_ultra_honk.cpp.

◆ handle_circuit_stats()

wire::CircuitInfoResponse bb::bbapi::handle_circuit_stats ( BBApiRequest ctx,
wire::CircuitStats &&  cmd 
)

Definition at line 185 of file bbapi_ultra_honk.cpp.

◆ handle_circuit_verify()

wire::CircuitVerifyResponse bb::bbapi::handle_circuit_verify ( BBApiRequest ctx,
wire::CircuitVerify &&  cmd 
)

Definition at line 193 of file bbapi_ultra_honk.cpp.

◆ handle_circuit_write_solidity_verifier()

wire::CircuitWriteSolidityVerifierResponse bb::bbapi::handle_circuit_write_solidity_verifier ( BBApiRequest ctx,
wire::CircuitWriteSolidityVerifier &&  cmd 
)

Definition at line 222 of file bbapi_ultra_honk.cpp.

◆ handle_ecdsa_secp256k1_compute_public_key()

wire::EcdsaSecp256k1ComputePublicKeyResponse bb::bbapi::handle_ecdsa_secp256k1_compute_public_key ( BBApiRequest ,
wire::EcdsaSecp256k1ComputePublicKey &&  cmd 
)

Definition at line 342 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256k1_construct_signature()

wire::EcdsaSecp256k1ConstructSignatureResponse bb::bbapi::handle_ecdsa_secp256k1_construct_signature ( BBApiRequest ,
wire::EcdsaSecp256k1ConstructSignature &&  cmd 
)

Definition at line 354 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256k1_recover_public_key()

wire::EcdsaSecp256k1RecoverPublicKeyResponse bb::bbapi::handle_ecdsa_secp256k1_recover_public_key ( BBApiRequest ,
wire::EcdsaSecp256k1RecoverPublicKey &&  cmd 
)

Definition at line 376 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256k1_verify_signature()

wire::EcdsaSecp256k1VerifySignatureResponse bb::bbapi::handle_ecdsa_secp256k1_verify_signature ( BBApiRequest ,
wire::EcdsaSecp256k1VerifySignature &&  cmd 
)

Definition at line 394 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256r1_compute_public_key()

wire::EcdsaSecp256r1ComputePublicKeyResponse bb::bbapi::handle_ecdsa_secp256r1_compute_public_key ( BBApiRequest ,
wire::EcdsaSecp256r1ComputePublicKey &&  cmd 
)

Definition at line 348 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256r1_construct_signature()

wire::EcdsaSecp256r1ConstructSignatureResponse bb::bbapi::handle_ecdsa_secp256r1_construct_signature ( BBApiRequest ,
wire::EcdsaSecp256r1ConstructSignature &&  cmd 
)

Definition at line 365 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256r1_recover_public_key()

wire::EcdsaSecp256r1RecoverPublicKeyResponse bb::bbapi::handle_ecdsa_secp256r1_recover_public_key ( BBApiRequest ,
wire::EcdsaSecp256r1RecoverPublicKey &&  cmd 
)

Definition at line 385 of file bbapi_handlers.cpp.

◆ handle_ecdsa_secp256r1_verify_signature()

wire::EcdsaSecp256r1VerifySignatureResponse bb::bbapi::handle_ecdsa_secp256r1_verify_signature ( BBApiRequest ,
wire::EcdsaSecp256r1VerifySignature &&  cmd 
)

Definition at line 404 of file bbapi_handlers.cpp.

◆ handle_grumpkin_add()

wire::GrumpkinAddResponse bb::bbapi::handle_grumpkin_add ( BBApiRequest request,
wire::GrumpkinAdd &&  cmd 
)

Definition at line 174 of file bbapi_handlers.cpp.

◆ handle_grumpkin_batch_mul()

wire::GrumpkinBatchMulResponse bb::bbapi::handle_grumpkin_batch_mul ( BBApiRequest request,
wire::GrumpkinBatchMul &&  cmd 
)

Definition at line 186 of file bbapi_handlers.cpp.

◆ handle_grumpkin_get_random_fr()

wire::GrumpkinGetRandomFrResponse bb::bbapi::handle_grumpkin_get_random_fr ( BBApiRequest ,
wire::GrumpkinGetRandomFr &&   
)

Definition at line 198 of file bbapi_handlers.cpp.

◆ handle_grumpkin_mul()

wire::GrumpkinMulResponse bb::bbapi::handle_grumpkin_mul ( BBApiRequest request,
wire::GrumpkinMul &&  cmd 
)

Definition at line 165 of file bbapi_handlers.cpp.

◆ handle_grumpkin_reduce512()

wire::GrumpkinReduce512Response bb::bbapi::handle_grumpkin_reduce512 ( BBApiRequest ,
wire::GrumpkinReduce512 &&  cmd 
)

Definition at line 203 of file bbapi_handlers.cpp.

◆ handle_mega_vk_as_fields()

wire::MegaVkAsFieldsResponse bb::bbapi::handle_mega_vk_as_fields ( BBApiRequest ctx,
wire::MegaVkAsFields &&  cmd 
)

Definition at line 213 of file bbapi_ultra_honk.cpp.

◆ handle_pedersen_commit()

wire::PedersenCommitResponse bb::bbapi::handle_pedersen_commit ( BBApiRequest ,
wire::PedersenCommit &&  cmd 
)

Definition at line 108 of file bbapi_handlers.cpp.

◆ handle_pedersen_hash()

wire::PedersenHashResponse bb::bbapi::handle_pedersen_hash ( BBApiRequest ,
wire::PedersenHash &&  cmd 
)

Definition at line 116 of file bbapi_handlers.cpp.

◆ handle_pedersen_hash_buffer()

wire::PedersenHashBufferResponse bb::bbapi::handle_pedersen_hash_buffer ( BBApiRequest ,
wire::PedersenHashBuffer &&  cmd 
)

Definition at line 124 of file bbapi_handlers.cpp.

◆ handle_poseidon2_hash()

wire::Poseidon2HashResponse bb::bbapi::handle_poseidon2_hash ( BBApiRequest ,
wire::Poseidon2Hash &&  cmd 
)

Definition at line 95 of file bbapi_handlers.cpp.

◆ handle_poseidon2_permutation()

wire::Poseidon2PermutationResponse bb::bbapi::handle_poseidon2_permutation ( BBApiRequest ,
wire::Poseidon2Permutation &&  cmd 
)

Definition at line 101 of file bbapi_handlers.cpp.

◆ handle_schnorr_compute_public_key()

wire::SchnorrComputePublicKeyResponse bb::bbapi::handle_schnorr_compute_public_key ( BBApiRequest ,
wire::SchnorrComputePublicKey &&  cmd 
)

Definition at line 302 of file bbapi_handlers.cpp.

◆ handle_schnorr_construct_signature()

wire::SchnorrConstructSignatureResponse bb::bbapi::handle_schnorr_construct_signature ( BBApiRequest ,
wire::SchnorrConstructSignature &&  cmd 
)

Definition at line 311 of file bbapi_handlers.cpp.

◆ handle_schnorr_verify_signature()

wire::SchnorrVerifySignatureResponse bb::bbapi::handle_schnorr_verify_signature ( BBApiRequest ,
wire::SchnorrVerifySignature &&  cmd 
)

Definition at line 326 of file bbapi_handlers.cpp.

◆ handle_secp256k1_get_random_fr()

wire::Secp256k1GetRandomFrResponse bb::bbapi::handle_secp256k1_get_random_fr ( BBApiRequest ,
wire::Secp256k1GetRandomFr &&   
)

Definition at line 224 of file bbapi_handlers.cpp.

◆ handle_secp256k1_mul()

wire::Secp256k1MulResponse bb::bbapi::handle_secp256k1_mul ( BBApiRequest request,
wire::Secp256k1Mul &&  cmd 
)

Definition at line 215 of file bbapi_handlers.cpp.

◆ handle_secp256k1_reduce512()

wire::Secp256k1Reduce512Response bb::bbapi::handle_secp256k1_reduce512 ( BBApiRequest ,
wire::Secp256k1Reduce512 &&  cmd 
)

Definition at line 229 of file bbapi_handlers.cpp.

◆ handle_srs_init_grumpkin_srs()

wire::SrsInitGrumpkinSrsResponse bb::bbapi::handle_srs_init_grumpkin_srs ( BBApiRequest ,
wire::SrsInitGrumpkinSrs &&  cmd 
)

Definition at line 488 of file bbapi_handlers.cpp.

◆ handle_srs_init_srs()

wire::SrsInitSrsResponse bb::bbapi::handle_srs_init_srs ( BBApiRequest ,
wire::SrsInitSrs &&  cmd 
)

Definition at line 419 of file bbapi_handlers.cpp.

◆ handle_vk_as_fields()

wire::VkAsFieldsResponse bb::bbapi::handle_vk_as_fields ( BBApiRequest ctx,
wire::VkAsFields &&  cmd 
)

Definition at line 204 of file bbapi_ultra_honk.cpp.

◆ has_expected_vk_size()

template<typename VerificationKey >
bool bb::bbapi::has_expected_vk_size ( const std::vector< uint8_t > &  vk_bytes,
const char *  label 
)

Definition at line 52 of file bbapi_chonk.cpp.

◆ parse_vk_policy()

VkPolicy bb::bbapi::parse_vk_policy ( const std::string &  policy)
inline

Convert VK policy string to enum for internal use.

Definition at line 60 of file bbapi_shared.hpp.

◆ secp256k1_point_from_wire()

secp256k1::g1::affine_element bb::bbapi::secp256k1_point_from_wire ( const wire::Secp256k1Point &  w)
inline

Definition at line 193 of file bbapi_wire_convert.hpp.

◆ secp256k1_point_to_wire()

wire::Secp256k1Point bb::bbapi::secp256k1_point_to_wire ( const secp256k1::g1::affine_element d)
inline

Definition at line 188 of file bbapi_wire_convert.hpp.

◆ secp256r1_point_from_wire()

secp256r1::g1::affine_element bb::bbapi::secp256r1_point_from_wire ( const wire::Secp256r1Point &  w)
inline

Definition at line 203 of file bbapi_wire_convert.hpp.

◆ secp256r1_point_to_wire()

wire::Secp256r1Point bb::bbapi::secp256r1_point_to_wire ( const secp256r1::g1::affine_element d)
inline

Definition at line 198 of file bbapi_wire_convert.hpp.

◆ uint256_from_wire()

bb::numeric::uint256_t bb::bbapi::uint256_from_wire ( const Uint256 &  w)
inline

Definition at line 225 of file bbapi_wire_convert.hpp.

◆ uint256_to_wire()

Uint256 bb::bbapi::uint256_to_wire ( const bb::numeric::uint256_t d)
inline

Definition at line 213 of file bbapi_wire_convert.hpp.

◆ uint256_vec_from_wire()

std::vector< bb::numeric::uint256_t > bb::bbapi::uint256_vec_from_wire ( const std::vector< Uint256 > &  w)
inline

Definition at line 248 of file bbapi_wire_convert.hpp.

◆ uint256_vec_to_wire()

std::vector< Uint256 > bb::bbapi::uint256_vec_to_wire ( const std::vector< bb::numeric::uint256_t > &  d)
inline

Definition at line 238 of file bbapi_wire_convert.hpp.

◆ validate_rollup_settings()

template<typename Settings >
void bb::bbapi::validate_rollup_settings ( const Settings &  settings)
inline

Validate rollup circuit settings.

Rollup circuits require poseidon2 oracle hash for efficient recursion. The disable_zk flag is ignored - rollup always uses UltraFlavor (non-ZK).

Exceptions
Iforacle_hash_type is not poseidon2

Definition at line 164 of file bbapi_shared.hpp.

◆ validate_vk_size()

template<typename VK >
void bb::bbapi::validate_vk_size ( const std::vector< uint8_t > &  vk_bytes)
inline

Validate verification key size before deserialization.

Template Parameters
VKThe verification key type
Parameters
vk_bytesThe serialized verification key bytes
Exceptions
Ifthe size doesn't match the expected size for the VK type

Definition at line 37 of file bbapi_shared.hpp.

◆ vk_to_uint256_fields()

template<typename VK >
std::vector< uint256_t > bb::bbapi::vk_to_uint256_fields ( const VK &  vk)

Convert VK to uint256 field elements, handling flavor-specific return types.

Definition at line 147 of file bbapi_shared.hpp.

◆ wire_bytes() [1/2]

const std::array< uint8_t, 32 > & bb::bbapi::wire_bytes ( const std::array< uint8_t, 32 > &  w)
inline

Definition at line 41 of file bbapi_wire_convert.hpp.

◆ wire_bytes() [2/2]

template<typename Wire >
const std::array< uint8_t, 32 > & bb::bbapi::wire_bytes ( const Wire &  w)
inline

Definition at line 46 of file bbapi_wire_convert.hpp.