MutableTransactionSignatureCreator::CreateMuSig2AggregateSig

Aggregate MuSig2 partial signatures into a final signature.

Synopsis

Declared in <script/sign.h>

virtual
bool
CreateMuSig2AggregateSig(
    std::vector<CPubKey> const& participants,
    std::vector<uint8_t>& sig,
    CPubKey const& aggregate_pubkey,
    CPubKey const& script_pubkey,
    uint256 const* leaf_hash,
    std::vector<std::pair<uint256, bool>> const& tweaks,
    SigVersion sigversion,
    SignatureData const& sigdata) const override;

Return Value

True if the aggregate signature was created.

Parameters

NameDescription
participantsThe participant public keys contributing signatures.
sigFilled with the produced aggregate signature.
aggregate_pubkeyThe aggregate public key of the MuSig2 group.
script_pubkeyThe output key the aggregate key is tweaked to.
leaf_hashThe tapleaf hash for a script path spend, or null.
tweaksThe tweaks applied to the aggregate key, with parity flags.
sigversionThe signature serialization version to use.
sigdataSignature data providing context for the input.