Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.hpp
Go to the documentation of this file.
4#include "multisig.hpp"
5
6extern "C" {
7
8using namespace bb;
11
14
15WASM_EXPORT void schnorr_construct_signature(uint8_t const* message, fr::in_buf private_key, out_buf32 s, out_buf32 e);
16
18 uint8_t const* message, affine_element::in_buf pub_key, in_buf32 sig_s, in_buf32 sig_e, bool* result);
19
21 multisig::MultiSigPublicKey::out_buf multisig_pubkey_buf);
22
24 multisig::MultiSigPublicKey::vec_in_buf signer_pubkey_buf, affine_element::out_buf combined_key_buf, bool* success);
25
27 multisig::RoundOnePublicOutput::out_buf round_one_public_output_buf,
28 multisig::RoundOnePrivateOutput::out_buf round_one_private_output_buf);
29
31 uint8_t const* message,
32 fq::in_buf private_key,
33 multisig::RoundOnePrivateOutput::in_buf signer_round_one_private_buf,
34 multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf,
35 multisig::RoundOnePublicOutput::vec_in_buf round_one_public_buf,
36 fq::out_buf round_two_buf,
37 bool* success);
38
40 multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf,
41 multisig::RoundOnePublicOutput::vec_in_buf round_one_buf,
42 fq::vec_in_buf round_two_buf,
43 out_buf32 s,
44 out_buf32 e,
45 bool* success);
46}
Implements the SpeedyMuSig protocol; a secure 2-round interactive multisignature scheme whose signatu...
Definition multisig.hpp:28
group_elements::affine_element< Fq, Fr, Params > affine_element
Definition group.hpp:42
WASM_EXPORT void schnorr_multisig_construct_signature_round_2(uint8_t const *message, fq::in_buf private_key, multisig::RoundOnePrivateOutput::in_buf signer_round_one_private_buf, multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf, multisig::RoundOnePublicOutput::vec_in_buf round_one_public_buf, fq::out_buf round_two_buf, bool *success)
WASM_EXPORT void schnorr_multisig_create_multisig_public_key(fq::in_buf private_key, multisig::MultiSigPublicKey::out_buf multisig_pubkey_buf)
WASM_EXPORT void schnorr_negate_public_key(affine_element::in_buf public_key_buffer, affine_element::out_buf output)
Definition c_bind.cpp:19
WASM_EXPORT void schnorr_multisig_combine_signatures(uint8_t const *message, multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf, multisig::RoundOnePublicOutput::vec_in_buf round_one_buf, fq::vec_in_buf round_two_buf, out_buf32 s, out_buf32 e, bool *success)
WASM_EXPORT void schnorr_construct_signature(uint8_t const *message, fr::in_buf private_key, out_buf32 s, out_buf32 e)
Definition c_bind.cpp:27
WASM_EXPORT void schnorr_multisig_validate_and_combine_signer_pubkeys(multisig::MultiSigPublicKey::vec_in_buf signer_pubkey_buf, affine_element::out_buf combined_key_buf, bool *success)
WASM_EXPORT void schnorr_multisig_construct_signature_round_1(multisig::RoundOnePublicOutput::out_buf round_one_public_output_buf, multisig::RoundOnePrivateOutput::out_buf round_one_private_output_buf)
WASM_EXPORT void schnorr_compute_public_key(fr::in_buf private_key, affine_element::out_buf public_key_buf)
Definition c_bind.cpp:12
WASM_EXPORT void schnorr_verify_signature(uint8_t const *message, affine_element::in_buf pub_key, in_buf32 sig_s, in_buf32 sig_e, bool *result)
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
uint8_t * out_buf32
uint8_t const * in_buf32
const uint8_t * in_buf
#define WASM_EXPORT