Produce this participant's MuSig2 partial signature for the session.

Synopsis

Declared in <musig.h>

std::optional<uint256>
CreateMuSig2PartialSig(
    uint256 const& hash,
    CKey const& our_seckey,
    CPubKey const& aggregate_pubkey,
    std::vector<CPubKey> const& pubkeys,
    std::map<CPubKey, std::vector<uint8_t>> const& pubnonces,
    MuSig2SecNonce& secnonce,
    std::vector<std::pair<uint256, bool>> const& tweaks);

Return Value

This participant's partial signature, or std::nullopt on failure.

Parameters

Name

Description

hash

The signature hash being signed.

our_seckey

This participant's secret key.

aggregate_pubkey

The aggregate public key of all participants.

pubkeys

The participant public keys, in aggregation order.

pubnonces

The public nonces from all participants, keyed by public key.

secnonce

This participant's secret nonce for the session.

tweaks

The tweaks to apply to the aggregate key, each with a flag selecting x‐only or ordinary tweaking.

Created with MrDocs