1#ifndef SECP256K1_FROST_HPP
2#define SECP256K1_FROST_HPP
90std::pair<FrostCommitment, std::vector<FrostShare>>
92 std::uint32_t threshold,
93 std::uint32_t num_participants,
94 const std::array<std::uint8_t, 32>& secret_seed);
101std::pair<FrostKeyPackage, bool>
103 const std::vector<FrostCommitment>& commitments,
104 const std::vector<FrostShare>& received_shares,
105 std::uint32_t threshold,
106 std::uint32_t num_participants);
112std::pair<FrostNonce, FrostNonceCommitment>
114 const std::array<std::uint8_t, 32>& nonce_seed);
125 const std::array<std::uint8_t, 32>& msg,
126 const std::vector<FrostNonceCommitment>& nonce_commitments);
132 const std::array<std::uint8_t, 32>& msg,
133 const std::vector<FrostNonceCommitment>& nonce_commitments,
140 const std::vector<FrostNonceCommitment>& nonce_commitments,
142 const std::array<std::uint8_t, 32>& msg);
149 const std::vector<ParticipantId>& signer_ids);
SchnorrSignature frost_aggregate(const std::vector< FrostPartialSig > &partial_sigs, const std::vector< FrostNonceCommitment > &nonce_commitments, const fast::Point &group_public_key, const std::array< std::uint8_t, 32 > &msg)
std::pair< FrostKeyPackage, bool > frost_keygen_finalize(ParticipantId participant_id, const std::vector< FrostCommitment > &commitments, const std::vector< FrostShare > &received_shares, std::uint32_t threshold, std::uint32_t num_participants)
std::uint32_t ParticipantId
bool frost_verify_partial(const FrostPartialSig &partial_sig, const FrostNonceCommitment &signer_commitment, const fast::Point &verification_share, const std::array< std::uint8_t, 32 > &msg, const std::vector< FrostNonceCommitment > &nonce_commitments, const fast::Point &group_public_key)
fast::Scalar frost_lagrange_coefficient(ParticipantId i, const std::vector< ParticipantId > &signer_ids)
std::pair< FrostCommitment, std::vector< FrostShare > > frost_keygen_begin(ParticipantId participant_id, std::uint32_t threshold, std::uint32_t num_participants, const std::array< std::uint8_t, 32 > &secret_seed)
std::pair< FrostNonce, FrostNonceCommitment > frost_sign_nonce_gen(ParticipantId participant_id, const std::array< std::uint8_t, 32 > &nonce_seed)
FrostPartialSig frost_sign(const FrostKeyPackage &key_pkg, FrostNonce &nonce, const std::array< std::uint8_t, 32 > &msg, const std::vector< FrostNonceCommitment > &nonce_commitments)
std::vector< fast::Point > coeffs
fast::Point verification_share
std::uint32_t num_participants
fast::Scalar signing_share
fast::Point group_public_key
fast::Point binding_point
fast::Scalar binding_nonce
fast::Scalar hiding_nonce