#include <pubkey.h>
#include <optional>
#include <vector>
Go to the source code of this file.
|
| 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. More...
|
| |
| std::optional< CPubKey > | MuSig2AggregatePubkeys (const std::vector< CPubKey > &pubkeys) |
| |
| CExtPubKey | CreateMuSig2SyntheticXpub (const CPubKey &pubkey) |
| | Construct the BIP 328 synthetic xpub for a pubkey. More...
|
| |
| uint256 | MuSig2SessionID (const CPubKey &script_pubkey, const CPubKey &part_pubkey, const uint256 &sighash, const std::vector< uint8_t > &pubnonce) |
| | Computes an arbitrary unique session ID to identify ongoing signing sessions. More...
|
| |
| std::vector< uint8_t > | CreateMuSig2Nonce (MuSig2SecNonce &secnonce, const uint256 &sighash, const CKey &our_seckey, const CPubKey &aggregate_pubkey, const std::vector< CPubKey > &pubkeys) |
| |
| std::optional< uint256 > | CreateMuSig2PartialSig (const uint256 &hash, const CKey &our_seckey, const CPubKey &aggregate_pubkey, const std::vector< CPubKey > &pubkeys, const std::map< CPubKey, std::vector< uint8_t > > &pubnonces, MuSig2SecNonce &secnonce, const std::vector< std::pair< uint256, bool > > &tweaks) |
| |
| 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) |
| |
◆ CreateMuSig2AggregateSig()
| 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 |
|
) |
| |
◆ CreateMuSig2Nonce()
◆ CreateMuSig2PartialSig()
| std::optional< uint256 > CreateMuSig2PartialSig |
( |
const uint256 & |
hash, |
|
|
const CKey & |
our_seckey, |
|
|
const CPubKey & |
aggregate_pubkey, |
|
|
const std::vector< CPubKey > & |
pubkeys, |
|
|
const std::map< CPubKey, std::vector< uint8_t > > & |
pubnonces, |
|
|
MuSig2SecNonce & |
secnonce, |
|
|
const std::vector< std::pair< uint256, bool > > & |
tweaks |
|
) |
| |
◆ CreateMuSig2SyntheticXpub()
Construct the BIP 328 synthetic xpub for a pubkey.
Definition at line 77 of file musig.cpp.
◆ MuSig2AggregatePubkeys() [1/2]
| std::optional< CPubKey > MuSig2AggregatePubkeys |
( |
const std::vector< CPubKey > & |
pubkeys | ) |
|
◆ MuSig2AggregatePubkeys() [2/2]
Compute the full aggregate pubkey from the given participant pubkeys in their current order.
Outputs the secp256k1_musig_keyagg_cache and validates that the computed aggregate pubkey matches an expected aggregate pubkey. This is necessary for most MuSig2 operations.
Definition at line 60 of file musig.cpp.
◆ MuSig2SessionID()
| uint256 MuSig2SessionID |
( |
const CPubKey & |
script_pubkey, |
|
|
const CPubKey & |
part_pubkey, |
|
|
const uint256 & |
sighash, |
|
|
const std::vector< uint8_t > & |
pubnonce |
|
) |
| |
Computes an arbitrary unique session ID to identify ongoing signing sessions.
It is the SHA256 of the aggregate xonly key, the participant pubkey, the sighash, and the pubnonce
Definition at line 128 of file musig.cpp.
◆ MUSIG2_PUBNONCE_SIZE
| constexpr size_t MUSIG2_PUBNONCE_SIZE {66} |
|
constexpr |