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.
Synopsis
Declared in <musig.h>
std::optional<CPubKey>
MuSig2AggregatePubkeys(
std::vector<CPubKey> const& pubkeys,
secp256k1_musig_keyagg_cache& keyagg_cache,
std::optional<CPubKey> const& expected_aggregate);
Return Value
The aggregate public key, or std::nullopt if aggregation fails or does not match expected_aggregate.
Parameters
Name |
Description |
pubkeys |
The participant public keys, in the order they should be aggregated. |
keyagg_cache |
Output cache populated with the aggregation state for later MuSig2 operations. |
expected_aggregate |
Optional aggregate pubkey to validate the computed result against. |
Created with MrDocs