Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.cpp File Reference
#include "c_bind.hpp"
#include "multisig.hpp"
#include "schnorr.hpp"

Go to the source code of this file.

Typedefs

using affine_element = grumpkin::g1::affine_element
 
using multisig = crypto::schnorr_multisig< grumpkin::g1, KeccakHasher, Blake2sHasher >
 
using multisig_public_key = typename multisig::MultiSigPublicKey
 

Functions

WASM_EXPORT void schnorr_compute_public_key (uint8_t const *private_key, uint8_t *public_key_buf)
 
WASM_EXPORT void schnorr_negate_public_key (uint8_t const *public_key_buffer, uint8_t *output)
 
WASM_EXPORT void schnorr_construct_signature (uint8_t const *message_buf, uint8_t const *private_key, uint8_t *s, uint8_t *e)
 
WASM_EXPORT void schnorr_verify_signature (uint8_t const *message_buf, uint8_t const *pub_key, uint8_t const *sig_s, uint8_t const *sig_e, bool *result)
 
WASM_EXPORT void schnorr_multisig_create_multisig_public_key (uint8_t const *private_key, uint8_t *multisig_pubkey_buf)
 
WASM_EXPORT void schnorr_multisig_validate_and_combine_signer_pubkeys (uint8_t const *signer_pubkey_buf, affine_element::out_buf combined_key_buf, bool *success)
 
WASM_EXPORT void schnorr_multisig_construct_signature_round_1 (uint8_t *round_one_public_output_buf, uint8_t *round_one_private_output_buf)
 
WASM_EXPORT void schnorr_multisig_construct_signature_round_2 (uint8_t const *message_buf, uint8_t const *private_key, uint8_t const *signer_round_one_private_buf, uint8_t const *signer_pubkeys_buf, uint8_t const *round_one_public_buf, uint8_t *round_two_buf, bool *success)
 
WASM_EXPORT void schnorr_multisig_combine_signatures (uint8_t const *message_buf, uint8_t const *signer_pubkeys_buf, uint8_t const *round_one_buf, uint8_t const *round_two_buf, uint8_t *s, uint8_t *e, bool *success)
 

Typedef Documentation

◆ affine_element

Definition at line 14 of file c_bind.cpp.

◆ multisig

◆ multisig_public_key

Definition at line 16 of file c_bind.cpp.

Function Documentation

◆ schnorr_compute_public_key()

WASM_EXPORT void schnorr_compute_public_key ( uint8_t const *  private_key,
uint8_t *  public_key_buf 
)

Definition at line 18 of file c_bind.cpp.

◆ schnorr_construct_signature()

WASM_EXPORT void schnorr_construct_signature ( uint8_t const *  message_buf,
uint8_t const *  private_key,
uint8_t *  s,
uint8_t *  e 
)

Definition at line 33 of file c_bind.cpp.

◆ schnorr_multisig_combine_signatures()

WASM_EXPORT void schnorr_multisig_combine_signatures ( uint8_t const *  message_buf,
uint8_t const *  signer_pubkeys_buf,
uint8_t const *  round_one_buf,
uint8_t const *  round_two_buf,
uint8_t *  s,
uint8_t *  e,
bool *  success 
)

Definition at line 131 of file c_bind.cpp.

◆ schnorr_multisig_construct_signature_round_1()

WASM_EXPORT void schnorr_multisig_construct_signature_round_1 ( uint8_t *  round_one_public_output_buf,
uint8_t *  round_one_private_output_buf 
)

Definition at line 92 of file c_bind.cpp.

◆ schnorr_multisig_construct_signature_round_2()

WASM_EXPORT void schnorr_multisig_construct_signature_round_2 ( uint8_t const *  message_buf,
uint8_t const *  private_key,
uint8_t const *  signer_round_one_private_buf,
uint8_t const *  signer_pubkeys_buf,
uint8_t const *  round_one_public_buf,
uint8_t *  round_two_buf,
bool *  success 
)

Definition at line 102 of file c_bind.cpp.

◆ schnorr_multisig_create_multisig_public_key()

WASM_EXPORT void schnorr_multisig_create_multisig_public_key ( uint8_t const *  private_key,
uint8_t *  multisig_pubkey_buf 
)

Definition at line 61 of file c_bind.cpp.

◆ schnorr_multisig_validate_and_combine_signer_pubkeys()

WASM_EXPORT void schnorr_multisig_validate_and_combine_signer_pubkeys ( uint8_t const *  signer_pubkey_buf,
affine_element::out_buf  combined_key_buf,
bool *  success 
)

Definition at line 74 of file c_bind.cpp.

◆ schnorr_negate_public_key()

WASM_EXPORT void schnorr_negate_public_key ( uint8_t const *  public_key_buffer,
uint8_t *  output 
)

Definition at line 25 of file c_bind.cpp.

◆ schnorr_verify_signature()

WASM_EXPORT void schnorr_verify_signature ( uint8_t const *  message_buf,
uint8_t const *  pub_key,
uint8_t const *  sig_s,
uint8_t const *  sig_e,
bool *  result 
)

Definition at line 47 of file c_bind.cpp.