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* has_ipa_claim,
17 uint32_t* total,
18 uint32_t* subgroup);
19
24WASM_EXPORT void acir_prove_and_verify_ultra_honk(uint8_t const* constraint_system_buf,
25 uint8_t const* witness_buf,
26 bool* result);
27
32WASM_EXPORT void acir_prove_and_verify_mega_honk(uint8_t const* constraint_system_buf,
33 uint8_t const* witness_buf,
34 bool* result);
35
36WASM_EXPORT void acir_prove_aztec_client(uint8_t const* ivc_inputs_buf, uint8_t** out_proof, uint8_t** out_vk);
37
38WASM_EXPORT void acir_verify_aztec_client(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
39
40WASM_EXPORT void acir_load_verification_key(in_ptr acir_composer_ptr, uint8_t const* vk_buf);
41
43
44WASM_EXPORT void acir_get_verification_key(in_ptr acir_composer_ptr, uint8_t** out);
45
47 uint8_t const* acir_vec,
48 bool const* recursive,
49 uint8_t** out);
50
51WASM_EXPORT void acir_verify_proof(in_ptr acir_composer_ptr, uint8_t const* proof_buf, bool* result);
52
54WASM_EXPORT void acir_honk_solidity_verifier(uint8_t const* proof_buf, uint8_t const* vk_buf, out_str_buf out);
55
57 uint8_t const* proof_buf,
58 uint32_t const* num_inner_public_inputs,
59 fr::vec_out_buf out);
60
62 fr::vec_out_buf out_vkey,
63 fr::out_buf out_key_hash);
64
65WASM_EXPORT void acir_prove_ultra_honk(uint8_t const* acir_vec,
66 uint8_t const* witness_vec,
67 uint8_t const* vk_buf,
68 uint8_t** out);
69WASM_EXPORT void acir_prove_ultra_keccak_honk(uint8_t const* acir_vec,
70 uint8_t const* witness_vec,
71 uint8_t const* vk_buf,
72 uint8_t** out);
73WASM_EXPORT void acir_prove_ultra_keccak_zk_honk(uint8_t const* acir_vec,
74 uint8_t const* witness_vec,
75 uint8_t const* vk_buf,
76 uint8_t** out);
77WASM_EXPORT void acir_prove_ultra_starknet_honk(uint8_t const* acir_vec,
78 uint8_t const* witness_vec,
79 uint8_t const* vk_buf,
80 uint8_t** out);
81WASM_EXPORT void acir_prove_ultra_starknet_zk_honk(uint8_t const* acir_vec,
82 uint8_t const* witness_vec,
83 uint8_t const* vk_buf,
84 uint8_t** out);
85
86WASM_EXPORT void acir_verify_ultra_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
87WASM_EXPORT void acir_verify_ultra_keccak_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
88WASM_EXPORT void acir_verify_ultra_keccak_zk_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
89WASM_EXPORT void acir_verify_ultra_starknet_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
90WASM_EXPORT void acir_verify_ultra_starknet_zk_honk(uint8_t const* proof_buf, uint8_t const* vk_buf, bool* result);
91
92WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const* acir_vec, uint8_t** out);
93WASM_EXPORT void acir_write_vk_ultra_keccak_honk(uint8_t const* acir_vec, uint8_t** out);
94WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk(uint8_t const* acir_vec, uint8_t** out);
95WASM_EXPORT void acir_write_vk_ultra_starknet_honk(uint8_t const* acir_vec, uint8_t** out);
96WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk(uint8_t const* acir_vec, uint8_t** out);
97
98WASM_EXPORT void acir_proof_as_fields_ultra_honk(uint8_t const* proof_buf, fr::vec_out_buf out);
99
100WASM_EXPORT void acir_vk_as_fields_ultra_honk(uint8_t const* vk_buf, fr::vec_out_buf out_vkey);
101
102WASM_EXPORT void acir_vk_as_fields_mega_honk(uint8_t const* vk_buf, fr::vec_out_buf out_vkey);
103
104WASM_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:77
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:184
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:256
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:437
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:140
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:380
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:38
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:428
WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:341
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:402
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:207
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:58
WASM_EXPORT void acir_verify_ultra_starknet_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:269
WASM_EXPORT void acir_proof_as_fields_ultra_honk(uint8_t const *proof_buf, fr::vec_out_buf out)
Definition c_bind.cpp:413
WASM_EXPORT void acir_write_vk_ultra_keccak_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:324
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:162
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:24
WASM_EXPORT void acir_verify_ultra_keccak_honk(uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
Definition c_bind.cpp:243
WASM_EXPORT void acir_write_vk_ultra_honk(uint8_t const *acir_vec, uint8_t **out)
Definition c_bind.cpp:308
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:109
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:358
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:419
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