[#MultiSigningProvider] = MultiSigningProvider :mrdocs: A signing provider to be used to interface with multiple signing providers at once. == Synopsis Declared in `<script/signingprovider.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class MultiSigningProvider : public xref:SigningProvider.adoc[SigningProvider] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:SigningProvider.adoc[SigningProvider]` | An interface to be implemented by keystores that support signing. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:MultiSigningProvider/AddProvider.adoc[`AddProvider`] | Add a signing provider to delegate lookups to. | xref:SigningProvider/DeleteMuSig2Session.adoc[`DeleteMuSig2Session`] [.small]#[virtual]# | Delete the state stored for a MuSig2 signing session. | xref:SigningProvider/GetAllMuSig2ParticipantPubkeys.adoc[`GetAllMuSig2ParticipantPubkeys`] [.small]#[virtual]# | Return all known MuSig2 aggregate pubkeys and their participants. | xref:MultiSigningProvider/GetCScript.adoc[`GetCScript`] [.small]#[virtual]# | Look up a script by its script id across all providers. | xref:MultiSigningProvider/GetKey-01.adoc[`GetKey`] | `GetKey` overloads | xref:SigningProvider/GetKeyByXOnly.adoc[`GetKeyByXOnly`] | Look up a private key by any key id derived from an x‐only pubkey. | xref:MultiSigningProvider/GetKeyOrigin.adoc[`GetKeyOrigin`] [.small]#[virtual]# | Look up key origin info by key id across all providers. | xref:SigningProvider/GetKeyOriginByXOnly.adoc[`GetKeyOriginByXOnly`] | Look up key origin info by any key id derived from an x‐only pubkey. | xref:SigningProvider/GetMuSig2ParticipantPubkeys.adoc[`GetMuSig2ParticipantPubkeys`] [.small]#[virtual]# | Return the MuSig2 participant pubkeys for an aggregate pubkey. | xref:SigningProvider/GetMuSig2SecNonce.adoc[`GetMuSig2SecNonce`] [.small]#[virtual]# | Retrieve the MuSig2 secret nonce for a signing session. | xref:MultiSigningProvider/GetPubKey-09.adoc[`GetPubKey`] | `GetPubKey` overloads | xref:SigningProvider/GetPubKeyByXOnly.adoc[`GetPubKeyByXOnly`] | Look up a public key by any key id derived from an x‐only pubkey. | xref:MultiSigningProvider/GetTaprootBuilder.adoc[`GetTaprootBuilder`] [.small]#[virtual]# | Look up a Taproot builder for an output key across all providers. | xref:MultiSigningProvider/GetTaprootSpendData.adoc[`GetTaprootSpendData`] [.small]#[virtual]# | Look up Taproot spend data for an output key across all providers. | xref:SigningProvider/HaveCScript.adoc[`HaveCScript`] [.small]#[virtual]# | Report whether a script with the given id is known. | xref:SigningProvider/HaveKey.adoc[`HaveKey`] [.small]#[virtual]# | Report whether a private key with the given id is known. | xref:SigningProvider/SetMuSig2SecNonce.adoc[`SetMuSig2SecNonce`] [.small]#[virtual]# | Store a MuSig2 secret nonce for a signing session. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:GetKeyForDestination.adoc[`GetKeyForDestination`] | Return the CKeyID of the key involved in a script (if there is a unique one). | xref:IsSegWitOutput.adoc[`IsSegWitOutput`] | Check whether a scriptPubKey is known to be segwit. | xref:ProduceSignature.adoc[`ProduceSignature`] | Produce a script signature using a generic signature creator. | xref:SignPSBTInput.adoc[`SignPSBTInput`] | Signs a PSBTInput, verifying that all provided data matches what is being signed. | xref:UpdatePSBTOutput.adoc[`UpdatePSBTOutput`] | Updates a PSBTOutput with information from provider. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#