Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.hpp File Reference
#include <barretenberg/common/serialize.hpp>
#include <barretenberg/common/wasm_export.hpp>
#include <barretenberg/ecc/curves/bn254/fr.hpp>
#include <cstddef>
#include <cstdint>

Go to the source code of this file.

Functions

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)
 
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.
 
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.
 
WASM_EXPORT void acir_prove_aztec_client (uint8_t const *ivc_inputs_buf, uint8_t **out_proof, uint8_t **out_vk)
 
WASM_EXPORT void acir_verify_aztec_client (uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
 
WASM_EXPORT void acir_load_verification_key (in_ptr acir_composer_ptr, uint8_t const *vk_buf)
 
WASM_EXPORT void acir_init_verification_key (in_ptr acir_composer_ptr)
 
WASM_EXPORT void acir_get_verification_key (in_ptr acir_composer_ptr, uint8_t **out)
 
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_proof (in_ptr acir_composer_ptr, uint8_t const *proof_buf, bool *result)
 
WASM_EXPORT void acir_get_solidity_verifier (in_ptr acir_composer_ptr, out_str_buf out)
 
WASM_EXPORT void acir_honk_solidity_verifier (uint8_t const *proof_buf, uint8_t const *vk_buf, out_str_buf out)
 
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_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_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_ultra_keccak_honk (uint8_t const *acir_vec, uint8_t const *witness_vec, uint8_t const *vk_buf, uint8_t **out)
 
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)
 
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)
 
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)
 
WASM_EXPORT void acir_verify_ultra_honk (uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
 
WASM_EXPORT void acir_verify_ultra_keccak_honk (uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
 
WASM_EXPORT void acir_verify_ultra_keccak_zk_honk (uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
 
WASM_EXPORT void acir_verify_ultra_starknet_honk (uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
 
WASM_EXPORT void acir_verify_ultra_starknet_zk_honk (uint8_t const *proof_buf, uint8_t const *vk_buf, bool *result)
 
WASM_EXPORT void acir_write_vk_ultra_honk (uint8_t const *acir_vec, uint8_t **out)
 
WASM_EXPORT void acir_write_vk_ultra_keccak_honk (uint8_t const *acir_vec, uint8_t **out)
 
WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk (uint8_t const *acir_vec, uint8_t **out)
 
WASM_EXPORT void acir_write_vk_ultra_starknet_honk (uint8_t const *acir_vec, uint8_t **out)
 
WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk (uint8_t const *acir_vec, uint8_t **out)
 
WASM_EXPORT void acir_proof_as_fields_ultra_honk (uint8_t const *proof_buf, fr::vec_out_buf out)
 
WASM_EXPORT void acir_vk_as_fields_ultra_honk (uint8_t const *vk_buf, fr::vec_out_buf out_vkey)
 
WASM_EXPORT void acir_vk_as_fields_mega_honk (uint8_t const *vk_buf, fr::vec_out_buf out_vkey)
 
WASM_EXPORT void acir_gates_aztec_client (uint8_t const *ivc_inputs_buf, uint8_t **out)
 

Function Documentation

◆ acir_gates_aztec_client()

WASM_EXPORT void acir_gates_aztec_client ( uint8_t const *  ivc_inputs_buf,
uint8_t **  out 
)

Definition at line 452 of file c_bind.cpp.

◆ acir_get_circuit_sizes()

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 at line 26 of file c_bind.cpp.

◆ acir_get_proving_key()

WASM_EXPORT void acir_get_proving_key ( in_ptr  acir_composer_ptr,
uint8_t const *  acir_vec,
bool const *  recursive,
uint8_t **  out 
)

◆ acir_get_solidity_verifier()

WASM_EXPORT void acir_get_solidity_verifier ( in_ptr  acir_composer_ptr,
out_str_buf  out 
)

◆ acir_get_verification_key()

WASM_EXPORT void acir_get_verification_key ( in_ptr  acir_composer_ptr,
uint8_t **  out 
)

◆ acir_honk_solidity_verifier()

WASM_EXPORT void acir_honk_solidity_verifier ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
out_str_buf  out 
)

Definition at line 417 of file c_bind.cpp.

◆ acir_init_verification_key()

WASM_EXPORT void acir_init_verification_key ( in_ptr  acir_composer_ptr)

◆ acir_load_verification_key()

WASM_EXPORT void acir_load_verification_key ( in_ptr  acir_composer_ptr,
uint8_t const *  vk_buf 
)

◆ acir_proof_as_fields_ultra_honk()

WASM_EXPORT void acir_proof_as_fields_ultra_honk ( uint8_t const *  proof_buf,
fr::vec_out_buf  out 
)

Definition at line 428 of file c_bind.cpp.

◆ acir_prove_and_verify_mega_honk()

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.

Deprecated:

Definition at line 61 of file c_bind.cpp.

◆ acir_prove_and_verify_ultra_honk()

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 at line 40 of file c_bind.cpp.

◆ acir_prove_aztec_client()

WASM_EXPORT void acir_prove_aztec_client ( uint8_t const *  ivc_inputs_buf,
uint8_t **  out_proof,
uint8_t **  out_vk 
)

Definition at line 82 of file c_bind.cpp.

◆ acir_prove_ultra_honk()

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 
)

◆ acir_prove_ultra_keccak_honk()

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 at line 146 of file c_bind.cpp.

◆ acir_prove_ultra_keccak_zk_honk()

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 at line 169 of file c_bind.cpp.

◆ acir_prove_ultra_starknet_honk()

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 at line 192 of file c_bind.cpp.

◆ acir_prove_ultra_starknet_zk_honk()

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 at line 216 of file c_bind.cpp.

◆ acir_serialize_proof_into_fields()

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 
)

◆ acir_serialize_verification_key_into_fields()

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 
)

◆ acir_verify_aztec_client()

WASM_EXPORT void acir_verify_aztec_client ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
bool *  result 
)

Definition at line 114 of file c_bind.cpp.

◆ acir_verify_proof()

WASM_EXPORT void acir_verify_proof ( in_ptr  acir_composer_ptr,
uint8_t const *  proof_buf,
bool *  result 
)

◆ acir_verify_ultra_honk()

WASM_EXPORT void acir_verify_ultra_honk ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
bool *  result 
)

◆ acir_verify_ultra_keccak_honk()

WASM_EXPORT void acir_verify_ultra_keccak_honk ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
bool *  result 
)

Definition at line 253 of file c_bind.cpp.

◆ acir_verify_ultra_keccak_zk_honk()

WASM_EXPORT void acir_verify_ultra_keccak_zk_honk ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
bool *  result 
)

Definition at line 266 of file c_bind.cpp.

◆ acir_verify_ultra_starknet_honk()

WASM_EXPORT void acir_verify_ultra_starknet_honk ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
bool *  result 
)

Definition at line 279 of file c_bind.cpp.

◆ acir_verify_ultra_starknet_zk_honk()

WASM_EXPORT void acir_verify_ultra_starknet_zk_honk ( uint8_t const *  proof_buf,
uint8_t const *  vk_buf,
bool *  result 
)

Definition at line 299 of file c_bind.cpp.

◆ acir_vk_as_fields_mega_honk()

WASM_EXPORT void acir_vk_as_fields_mega_honk ( uint8_t const *  vk_buf,
fr::vec_out_buf  out_vkey 
)

Definition at line 443 of file c_bind.cpp.

◆ acir_vk_as_fields_ultra_honk()

WASM_EXPORT void acir_vk_as_fields_ultra_honk ( uint8_t const *  vk_buf,
fr::vec_out_buf  out_vkey 
)

Definition at line 434 of file c_bind.cpp.

◆ acir_write_vk_ultra_honk()

WASM_EXPORT void acir_write_vk_ultra_honk ( uint8_t const *  acir_vec,
uint8_t **  out 
)

Definition at line 318 of file c_bind.cpp.

◆ acir_write_vk_ultra_keccak_honk()

WASM_EXPORT void acir_write_vk_ultra_keccak_honk ( uint8_t const *  acir_vec,
uint8_t **  out 
)

Definition at line 335 of file c_bind.cpp.

◆ acir_write_vk_ultra_keccak_zk_honk()

WASM_EXPORT void acir_write_vk_ultra_keccak_zk_honk ( uint8_t const *  acir_vec,
uint8_t **  out 
)

Definition at line 353 of file c_bind.cpp.

◆ acir_write_vk_ultra_starknet_honk()

WASM_EXPORT void acir_write_vk_ultra_starknet_honk ( uint8_t const *  acir_vec,
uint8_t **  out 
)

Definition at line 371 of file c_bind.cpp.

◆ acir_write_vk_ultra_starknet_zk_honk()

WASM_EXPORT void acir_write_vk_ultra_starknet_zk_honk ( uint8_t const *  acir_vec,
uint8_t **  out 
)

Definition at line 394 of file c_bind.cpp.