[#SigningProvider] = SigningProvider :mrdocs: An interface to be implemented by keystores that support signing. == Synopsis Declared in `<script/signingprovider.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class SigningProvider; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:SigningProvider/2destructor.adoc[`~SigningProvider`] [.small]#[destructor]# [.small]#[virtual]# | Destroy the signing provider. | 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:SigningProvider/GetCScript.adoc[`GetCScript`] [.small]#[virtual]# | Look up a script by its script id. | xref:SigningProvider/GetKey.adoc[`GetKey`] [.small]#[virtual]# | Look up a private key by its key id. | xref:SigningProvider/GetKeyByXOnly.adoc[`GetKeyByXOnly`] | Look up a private key by any key id derived from an x‐only pubkey. | xref:SigningProvider/GetKeyOrigin.adoc[`GetKeyOrigin`] [.small]#[virtual]# | Look up the origin information for a key. | 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:SigningProvider/GetPubKey.adoc[`GetPubKey`] [.small]#[virtual]# | Look up a public key by its key id. | xref:SigningProvider/GetPubKeyByXOnly.adoc[`GetPubKeyByXOnly`] | Look up a public key by any key id derived from an x‐only pubkey. | xref:SigningProvider/GetTaprootBuilder.adoc[`GetTaprootBuilder`] [.small]#[virtual]# | Look up the Taproot builder for an output key. | xref:SigningProvider/GetTaprootSpendData.adoc[`GetTaprootSpendData`] [.small]#[virtual]# | Look up the Taproot spend data for an output key. | 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. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:FillableSigningProvider.adoc[`FillableSigningProvider`] | Fillable signing provider that keeps keys in an address‐>secret map | xref:FlatSigningProvider.adoc[`FlatSigningProvider`] | A signing provider backed by plain in‐memory maps of keys and scripts. | xref:HidingSigningProvider.adoc[`HidingSigningProvider`] | Wraps a signing provider, optionally hiding secret keys and key origins. | xref:wallet/LegacySigningProvider.adoc[`LegacySigningProvider`] | SigningProvider wrapper for LegacyDataSPKM that does not provide private keys. | xref:MultiSigningProvider.adoc[`MultiSigningProvider`] | A signing provider to be used to interface with multiple signing providers at once. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#