barretenberg
Loading...
Searching...
No Matches
c_bind.hpp
1#include <barretenberg/common/serialize.hpp>
2#include <barretenberg/common/wasm_export.hpp>
3#include <barretenberg/ecc/curves/bn254/fr.hpp>
4#include <cstddef>
5#include <cstdint>
6
7using namespace barretenberg;
8
9WASM_EXPORT void acir_get_circuit_sizes(uint8_t const* constraint_system_buf,
10 uint32_t* exact,
11 uint32_t* total,
12 uint32_t* subgroup);
13
14WASM_EXPORT void acir_new_acir_composer(uint32_t const* size_hint, out_ptr out);
15
16WASM_EXPORT void acir_delete_acir_composer(in_ptr acir_composer_ptr);
17
18WASM_EXPORT void acir_create_circuit(in_ptr acir_composer_ptr,
19 uint8_t const* constraint_system_buf,
20 uint32_t const* size_hint);
21
22WASM_EXPORT void acir_init_proving_key(in_ptr acir_composer_ptr, uint8_t const* constraint_system_buf);
23
29WASM_EXPORT void acir_create_proof(in_ptr acir_composer_ptr,
30 uint8_t const* constraint_system_buf,
31 uint8_t const* witness_buf,
32 bool const* is_recursive,
33 uint8_t** out);
34
35WASM_EXPORT void acir_create_goblin_proof(in_ptr acir_composer_ptr,
36 uint8_t const* constraint_system_buf,
37 uint8_t const* witness_buf,
38 uint8_t** out);
39
40WASM_EXPORT void acir_load_verification_key(in_ptr acir_composer_ptr, uint8_t const* vk_buf);
41
42WASM_EXPORT void acir_init_verification_key(in_ptr acir_composer_ptr);
43
44WASM_EXPORT void acir_get_verification_key(in_ptr acir_composer_ptr, uint8_t** out);
45
46WASM_EXPORT void acir_get_proving_key(in_ptr acir_composer_ptr, uint8_t const* acir_vec, uint8_t** out);
47
48WASM_EXPORT void acir_verify_proof(in_ptr acir_composer_ptr,
49 uint8_t const* proof_buf,
50 bool const* is_recursive,
51 bool* result);
52
53WASM_EXPORT void acir_verify_goblin_proof(in_ptr acir_composer_ptr, uint8_t const* proof_buf, bool* result);
54
55WASM_EXPORT void acir_get_solidity_verifier(in_ptr acir_composer_ptr, out_str_buf out);
56
57WASM_EXPORT void acir_serialize_proof_into_fields(in_ptr acir_composer_ptr,
58 uint8_t const* proof_buf,
59 uint32_t const* num_inner_public_inputs,
60 fr::vec_out_buf out);
61
62WASM_EXPORT void acir_serialize_verification_key_into_fields(in_ptr acir_composer_ptr,
63 fr::vec_out_buf out_vkey,
64 fr::out_buf out_key_hash);
constexpr_utils defines some helper methods that perform some stl-equivalent operations but in a cons...
Definition: constexpr_utils.hpp:16