[#MutableTransactionSignatureCreator-CreateMuSig2Nonce] = xref:MutableTransactionSignatureCreator.adoc[MutableTransactionSignatureCreator]::CreateMuSig2Nonce :relfileprefix: ../ :mrdocs: Create a MuSig2 public nonce for the given participant. == Synopsis Declared in `<script/sign.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual std::vector<uint8_t> CreateMuSig2Nonce( xref:SigningProvider.adoc[SigningProvider] const& provider, xref:CPubKey.adoc[CPubKey] const& aggregate_pubkey, xref:CPubKey.adoc[CPubKey] const& script_pubkey, xref:CPubKey.adoc[CPubKey] const& part_pubkey, xref:uint256.adoc[uint256] const* leaf_hash, xref:uint256.adoc[uint256] const* merkle_root, xref:SigVersion.adoc[SigVersion] sigversion, xref:SignatureData.adoc[SignatureData] const& sigdata) const override; ---- == Return Value The serialized public nonce, empty on failure. == Parameters [cols="1,4"] |=== | Name| Description | *provider* | The source of keys and MuSig2 session state. | *aggregate_pubkey* | The aggregate public key of the MuSig2 group. | *script_pubkey* | The output key the aggregate key is tweaked to. | *part_pubkey* | The participant public key generating the nonce. | *leaf_hash* | The tapleaf hash for a script path spend, or null. | *merkle_root* | The Taproot merkle root, or null for a key path spend. | *sigversion* | The signature serialization version to use. | *sigdata* | Signature data providing context for the input. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#