21 []()
consteval {
return uint256{
"868087ca02a6f974c4598924c36b57762d32cb45717167e300622c7167e38965"_hex_u8}; }(),
51 std::unique_ptr<MuSig2SecNonceImpl>
m_impl;
An encapsulated public key.
MuSig2SecNonce encapsulates a secret nonce in use in a MuSig2 signing session.
secp256k1_musig_secnonce * Get() const
std::unique_ptr< MuSig2SecNonceImpl > m_impl
MuSig2SecNonce(MuSig2SecNonce &&) noexcept
CExtPubKey CreateMuSig2SyntheticXpub(const CPubKey &pubkey)
Construct the BIP 328 synthetic xpub for a pubkey.
constexpr size_t MUSIG2_PUBNONCE_SIZE
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)
constexpr uint256 MUSIG_CHAINCODE
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.
""_hex is a compile-time user-defined literal returning a std::array<std::byte>, equivalent to ParseH...
This module implements BIP 327 "MuSig2 for BIP340-compatible Multi-Signatures" (https://github....
Opaque data structure that holds a signer's secret nonce.