Combine the participants' partial signatures into a final MuSig2 aggregate signature.
Synopsis
Declared in <musig.h>
std::optional<std::vector<uint8_t>>
CreateMuSig2AggregateSig(
std::vector<CPubKey> const& participants,
CPubKey const& aggregate_pubkey,
std::vector<std::pair<uint256, bool>> const& tweaks,
uint256 const& sighash,
std::map<CPubKey, std::vector<uint8_t>> const& pubnonces,
std::map<CPubKey, uint256> const& partial_sigs);
Return Value
The final aggregate signature, or std::nullopt if combining fails.
Parameters
Name |
Description |
participants |
The participant public keys, in aggregation order. |
aggregate_pubkey |
The aggregate public key of all participants. |
tweaks |
The tweaks to apply to the aggregate key, each with a flag selecting x‐only or ordinary tweaking. |
sighash |
The signature hash being signed. |
pubnonces |
The public nonces from all participants, keyed by public key. |
partial_sigs |
The partial signatures from all participants, keyed by public key. |
Created with MrDocs