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 = 0;

Return Value

True if the aggregate signature was created.

Parameters

Name

Description

participants

The participant public keys contributing signatures.

sig

Filled with the produced aggregate signature.

aggregate_pubkey

The aggregate public key of the MuSig2 group.

script_pubkey

The output key the aggregate key is tweaked to.

leaf_hash

The tapleaf hash for a script path spend, or null.

tweaks

The tweaks applied to the aggregate key, with parity flags.

sigversion

The signature serialization version to use.

sigdata

Signature data providing context for the input.

Created with MrDocs