Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.hpp
Go to the documentation of this file.
4#include <cstddef>
5#include <cstdint>
6
7using namespace bb;
8
9WASM_EXPORT void acir_get_circuit_sizes(uint8_t const* constraint_system_buf,
10 bool const* has_ipa_claim,
11 uint32_t* total,
12 uint32_t* subgroup);
13
18WASM_EXPORT void acir_prove_and_verify_ultra_honk(uint8_t const* constraint_system_buf,
19 uint8_t const* witness_buf,
20 bool* result);
21
26WASM_EXPORT void acir_prove_and_verify_mega_honk(uint8_t const* constraint_system_buf,
27 uint8_t const* witness_buf,
28 bool* result);
29
30WASM_EXPORT void acir_prove_aztec_client(uint8_t const* ivc_inputs_buf, uint8_t** out_proof, uint8_t** out_vk);
31
32WASM_EXPORT void acir_verify_aztec_client(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
33
34WASM_EXPORT void acir_load_verification_key(in_ptr acir_composer_ptr, uint8_t const* vk_buf);
35
37
38WASM_EXPORT void acir_get_verification_key(in_ptr acir_composer_ptr, uint8_t** out);
39
41 uint8_t const* acir_vec,
42 bool const* recursive,
43 uint8_t** out);
44
45WASM_EXPORT void acir_verify_proof(in_ptr acir_composer_ptr, uint8_t const* proof_buf, bool* result);
46
48WASM_EXPORT void acir_honk_solidity_verifier(uint8_t const* proof_buf, uint8_t const* vk_buf, out_str_buf out);
49
51 uint8_t const* proof_buf,
52 uint32_t const* num_inner_public_inputs,
53 fr::vec_out_buf out);
54
56 fr::vec_out_buf out_vkey,
57 fr::out_buf out_key_hash);
58
59WASM_EXPORT void acir_prove_ultra_honk(uint8_t const* acir_vec,
60 uint8_t const* witness_vec,
61 uint8_t const* vk_buf,
62 uint8_t** out);
63WASM_EXPORT void acir_prove_ultra_keccak_honk(uint8_t const* acir_vec,
64 uint8_t const* witness_vec,
65 uint8_t const* vk_buf,
66 uint8_t** out);
67WASM_EXPORT void acir_prove_ultra_keccak_zk_honk(uint8_t const* acir_vec,
68 uint8_t const* witness_vec,
69 uint8_t const* vk_buf,
70 uint8_t** out);
71WASM_EXPORT void acir_prove_ultra_starknet_honk(uint8_t const* acir_vec,
72 uint8_t const* witness_vec,
73 uint8_t const* vk_buf,
74 uint8_t** out);
75WASM_EXPORT void acir_prove_ultra_starknet_zk_honk(uint8_t const* acir_vec,
76 uint8_t const* witness_vec,
77 uint8_t const* vk_buf,
78 uint8_t** out);
79
80WASM_EXPORT void acir_verify_ultra_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
81WASM_EXPORT void acir_verify_ultra_keccak_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
82WASM_EXPORT void acir_verify_ultra_keccak_zk_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
83WASM_EXPORT void acir_verify_ultra_starknet_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
84WASM_EXPORT void acir_verify_ultra_starknet_zk_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
85
86WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const* acir_vec, uint8_t** out);
87WASM_EXPORT void acir_write_vk_ultra_keccak_honk(uint8_t const* acir_vec, uint8_t** out);
88WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk(uint8_t const* acir_vec, uint8_t** out);
89WASM_EXPORT void acir_write_vk_ultra_starknet_honk(uint8_t const* acir_vec, uint8_t** out);
90WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk(uint8_t const* acir_vec, uint8_t** out);
91
92WASM_EXPORT void acir_proof_as_fields_ultra_honk(uint8_t const* proof_buf, fr::vec_out_buf out);
93
94WASM_EXPORT void acir_vk_as_fields_ultra_honk(uint8_t const* vk_buf, fr::vec_out_buf out_vkey);
95
96WASM_EXPORT void acir_vk_as_fields_mega_honk(uint8_t const* vk_buf, fr::vec_out_buf out_vkey);
97
98WASM_EXPORT void acir_gates_aztec_client(uint8_t const* ivc_inputs_buf, uint8_t** out);
WASM_EXPORT void acir_prove_aztec_client(uint8_t const *ivc_inputs_buf, uint8_t **out_proof, uint8_t **out_vk)
Definition c_bind.cpp:72
WASM_EXPORT void acir_prove_ultra_starknet_honk(uint8_t const *acir_vec, uint8_t const *witness_vec, uint8_t const *vk_buf, uint8_t **out)
Definition c_bind.cpp:185
WASM_EXPORT void acir_verify_ultra_keccak_zk_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:257
WASM_EXPORT void acir_init_verification_key(in_ptr acir_composer_ptr)
WASM_EXPORT void acir_gates_aztec_client(uint8_t const *ivc_inputs_buf, uint8_t **out)
Definition c_bind.cpp:436
WASM_EXPORT void acir_prove_ultra_keccak_honk(uint8_t const *acir_vec, uint8_t const *witness_vec, uint8_t const *vk_buf, uint8_t **out)
Definition c_bind.cpp:141
WASM_EXPORT void acir_verify_ultra_starknet_zk_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:289
WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:379
WASM_EXPORT void acir_prove_and_verify_ultra_honk(uint8_t const *constraint_system_buf, uint8_t const *witness_buf, bool *result)
Construct and verify an UltraHonk proof.
Definition c_bind.cpp:33
WASM_EXPORT void acir_get_prover_instance(in_ptr acir_composer_ptr, uint8_t const *acir_vec, bool const *recursive, uint8_t **out)
WASM_EXPORT void acir_vk_as_fields_mega_honk(uint8_t const *vk_buf, fr::vec_out_buf out_vkey)
Definition c_bind.cpp:427
WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:340
WASM_EXPORT void acir_serialize_proof_into_fields(in_ptr acir_composer_ptr, uint8_t const *proof_buf, uint32_t const *num_inner_public_inputs, fr::vec_out_buf out)
WASM_EXPORT void acir_honk_solidity_verifier(uint8_t const *proof_buf, uint8_t const *vk_buf, out_str_buf out)
Definition c_bind.cpp:401
WASM_EXPORT void acir_get_solidity_verifier(in_ptr acir_composer_ptr, out_str_buf out)
WASM_EXPORT void acir_prove_ultra_starknet_zk_honk(uint8_t const *acir_vec, uint8_t const *witness_vec, uint8_t const *vk_buf, uint8_t **out)
Definition c_bind.cpp:208
WASM_EXPORT void acir_prove_ultra_honk(uint8_t const *acir_vec, uint8_t const *witness_vec, uint8_t const *vk_buf, uint8_t **out)
WASM_EXPORT void acir_prove_and_verify_mega_honk(uint8_t const *constraint_system_buf, uint8_t const *witness_buf, bool *result)
Construct and verify a Chonk proof.
Definition c_bind.cpp:53
WASM_EXPORT void acir_verify_ultra_starknet_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:270
WASM_EXPORT void acir_proof_as_fields_ultra_honk(uint8_t const *proof_buf, fr::vec_out_buf out)
Definition c_bind.cpp:412
WASM_EXPORT void acir_write_vk_ultra_keccak_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:323
WASM_EXPORT void acir_prove_ultra_keccak_zk_honk(uint8_t const *acir_vec, uint8_t const *witness_vec, uint8_t const *vk_buf, uint8_t **out)
Definition c_bind.cpp:163
WASM_EXPORT void acir_get_circuit_sizes(uint8_t const *constraint_system_buf, bool const *has_ipa_claim, uint32_t *total, uint32_t *subgroup)
Definition c_bind.cpp:19
WASM_EXPORT void acir_verify_ultra_keccak_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:244
WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:307
WASM_EXPORT void acir_verify_ultra_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
WASM_EXPORT void acir_verify_aztec_client(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:105
WASM_EXPORT void acir_serialize_verification_key_into_fields(in_ptr acir_composer_ptr, fr::vec_out_buf out_vkey, fr::out_buf out_key_hash)
WASM_EXPORT void acir_load_verification_key(in_ptr acir_composer_ptr, uint8_t const *vk_buf)
WASM_EXPORT void acir_write_vk_ultra_starknet_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:357
WASM_EXPORT void acir_verify_proof(in_ptr acir_composer_ptr, uint8_t const *proof_buf, bool *result)
WASM_EXPORT void acir_vk_as_fields_ultra_honk(uint8_t const *vk_buf, fr::vec_out_buf out_vkey)
Definition c_bind.cpp:418
WASM_EXPORT void acir_get_verification_key(in_ptr acir_composer_ptr, uint8_t **out)
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
void *const * in_ptr
uint8_t ** out_str_buf
uint8_t ** vec_out_buf
#define WASM_EXPORT