Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
10#include <cstddef>
11#include <cstdint>
12
13using namespace bb;
14
15WASM_EXPORT void acir_get_circuit_sizes(uint8_t const* constraint_system_buf,
16 bool const* recursive,
17 bool const* honk_recursion,
18 uint32_t* total,
19 uint32_t* subgroup);
20
25WASM_EXPORT void acir_prove_and_verify_ultra_honk(uint8_t const* constraint_system_buf,
26 uint8_t const* witness_buf,
27 bool* result);
28
33WASM_EXPORT void acir_prove_and_verify_mega_honk(uint8_t const* constraint_system_buf,
34 uint8_t const* witness_buf,
35 bool* result);
36
37WASM_EXPORT void acir_prove_aztec_client(uint8_t const* ivc_inputs_buf, uint8_t** out_proof, uint8_t** out_vk);
38
39WASM_EXPORT void acir_verify_aztec_client(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
40
41WASM_EXPORT void acir_load_verification_key(in_ptr acir_composer_ptr, uint8_t const* vk_buf);
42
44
45WASM_EXPORT void acir_get_verification_key(in_ptr acir_composer_ptr, uint8_t** out);
46
48 uint8_t const* acir_vec,
49 bool const* recursive,
50 uint8_t** out);
51
52WASM_EXPORT void acir_verify_proof(in_ptr acir_composer_ptr, uint8_t const* proof_buf, bool* result);
53
55WASM_EXPORT void acir_honk_solidity_verifier(uint8_t const* proof_buf, uint8_t const* vk_buf, out_str_buf out);
56
58 uint8_t const* proof_buf,
59 uint32_t const* num_inner_public_inputs,
60 fr::vec_out_buf out);
61
63 fr::vec_out_buf out_vkey,
64 fr::out_buf out_key_hash);
65
66WASM_EXPORT void acir_prove_ultra_honk(uint8_t const* acir_vec,
67 uint8_t const* witness_vec,
68 uint8_t const* vk_buf,
69 uint8_t** out);
70WASM_EXPORT void acir_prove_ultra_keccak_honk(uint8_t const* acir_vec,
71 uint8_t const* witness_vec,
72 uint8_t const* vk_buf,
73 uint8_t** out);
74WASM_EXPORT void acir_prove_ultra_keccak_zk_honk(uint8_t const* acir_vec,
75 uint8_t const* witness_vec,
76 uint8_t const* vk_buf,
77 uint8_t** out);
78WASM_EXPORT void acir_prove_ultra_starknet_honk(uint8_t const* acir_vec,
79 uint8_t const* witness_vec,
80 uint8_t const* vk_buf,
81 uint8_t** out);
82WASM_EXPORT void acir_prove_ultra_starknet_zk_honk(uint8_t const* acir_vec,
83 uint8_t const* witness_vec,
84 uint8_t const* vk_buf,
85 uint8_t** out);
86
87WASM_EXPORT void acir_verify_ultra_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
88WASM_EXPORT void acir_verify_ultra_keccak_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
89WASM_EXPORT void acir_verify_ultra_keccak_zk_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
90WASM_EXPORT void acir_verify_ultra_starknet_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
91WASM_EXPORT void acir_verify_ultra_starknet_zk_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
92
93WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const* acir_vec, uint8_t** out);
94WASM_EXPORT void acir_write_vk_ultra_keccak_honk(uint8_t const* acir_vec, uint8_t** out);
95WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk(uint8_t const* acir_vec, uint8_t** out);
96WASM_EXPORT void acir_write_vk_ultra_starknet_honk(uint8_t const* acir_vec, uint8_t** out);
97WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk(uint8_t const* acir_vec, uint8_t** out);
98
99WASM_EXPORT void acir_proof_as_fields_ultra_honk(uint8_t const* proof_buf, fr::vec_out_buf out);
100
101WASM_EXPORT void acir_vk_as_fields_ultra_honk(uint8_t const* vk_buf, fr::vec_out_buf out_vkey);
102
103WASM_EXPORT void acir_vk_as_fields_mega_honk(uint8_t const* vk_buf, fr::vec_out_buf out_vkey);
104
105WASM_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:82
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:192
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:266
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:452
WASM_EXPORT void acir_get_circuit_sizes(uint8_t const *constraint_system_buf, bool const *recursive, bool const *honk_recursion, uint32_t *total, uint32_t *subgroup)
Definition c_bind.cpp:26
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:146
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:299
WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:394
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:40
WASM_EXPORT void acir_vk_as_fields_mega_honk(uint8_t const *vk_buf, fr::vec_out_buf out_vkey)
Definition c_bind.cpp:443
WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:353
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:417
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:216
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 ClientIVC proof.
Definition c_bind.cpp:61
WASM_EXPORT void acir_get_proving_key(in_ptr acir_composer_ptr, uint8_t const *acir_vec, bool const *recursive, uint8_t **out)
WASM_EXPORT void acir_verify_ultra_starknet_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:279
WASM_EXPORT void acir_proof_as_fields_ultra_honk(uint8_t const *proof_buf, fr::vec_out_buf out)
Definition c_bind.cpp:428
WASM_EXPORT void acir_write_vk_ultra_keccak_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:335
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:169
WASM_EXPORT void acir_verify_ultra_keccak_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:253
WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:318
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:114
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:371
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:434
WASM_EXPORT void acir_get_verification_key(in_ptr acir_composer_ptr, uint8_t **out)
Entry point for Barretenberg command-line interface.
void *const * in_ptr
uint8_t ** out_str_buf
uint8_t ** vec_out_buf
#define WASM_EXPORT