5 #ifndef BITCOIN_MUSIG_H 6 #define BITCOIN_MUSIG_H 42 std::unique_ptr<MuSig2SecNonceImpl>
m_impl;
63 #endif // BITCOIN_MUSIG_H This module implements BIP 327 "MuSig2 for BIP340-compatible Multi-Signatures" (https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki) v1.0.0.
CExtPubKey CreateMuSig2SyntheticXpub(const CPubKey &pubkey)
Construct the BIP 328 synthetic xpub for a pubkey.
MuSig2SecNonce encapsulates a secret nonce in use in a MuSig2 signing session.
constexpr size_t MUSIG2_PUBNONCE_SIZE
secp256k1_musig_secnonce * Get() const
An encapsulated public key.
Opaque data structure that holds a signer's secret nonce.
uint256 MuSig2SessionID(const CPubKey &script_pubkey, const CPubKey &part_pubkey, const uint256 &sighash)
std::optional< std::vector< uint8_t > > CreateMuSig2AggregateSig(const std::vector< CPubKey > &participants, const CPubKey &aggregate_pubkey, const std::vector< std::pair< uint256, bool >> &tweaks, const uint256 &sighash, const std::map< CPubKey, std::vector< uint8_t >> &pubnonces, const std::map< CPubKey, uint256 > &partial_sigs)
std::unique_ptr< MuSig2SecNonceImpl > m_impl
std::optional< CPubKey > MuSig2AggregatePubkeys(const std::vector< CPubKey > &pubkeys, secp256k1_musig_keyagg_cache &keyagg_cache, const std::optional< CPubKey > &expected_aggregate)
Compute the full aggregate pubkey from the given participant pubkeys in their current order...