SigningProvider

An interface to be implemented by keystores that support signing.

Synopsis

Declared in <script/signingprovider.h>

class SigningProvider;

Member Functions

NameDescription
~SigningProvider [destructor] [virtual]Destroy the signing provider.
DeleteMuSig2Session [virtual]Delete the state stored for a MuSig2 signing session.
GetAllMuSig2ParticipantPubkeys [virtual]Return all known MuSig2 aggregate pubkeys and their participants.
GetCScript [virtual]Look up a script by its script id.
GetKey [virtual]Look up a private key by its key id.
GetKeyByXOnly Look up a private key by any key id derived from an x-only pubkey.
GetKeyOrigin [virtual]Look up the origin information for a key.
GetKeyOriginByXOnly Look up key origin info by any key id derived from an x-only pubkey.
GetMuSig2ParticipantPubkeys [virtual]Return the MuSig2 participant pubkeys for an aggregate pubkey.
GetMuSig2SecNonce [virtual]Retrieve the MuSig2 secret nonce for a signing session.
GetPubKey [virtual]Look up a public key by its key id.
GetPubKeyByXOnly Look up a public key by any key id derived from an x-only pubkey.
GetTaprootBuilder [virtual]Look up the Taproot builder for an output key.
GetTaprootSpendData [virtual]Look up the Taproot spend data for an output key.
HaveCScript [virtual]Report whether a script with the given id is known.
HaveKey [virtual]Report whether a private key with the given id is known.
SetMuSig2SecNonce [virtual]Store a MuSig2 secret nonce for a signing session.

Non-Member Functions

NameDescription
GetKeyForDestinationReturn the CKeyID of the key involved in a script (if there is a unique one).
IsSegWitOutputCheck whether a scriptPubKey is known to be segwit.
ProduceSignatureProduce a script signature using a generic signature creator.
SignPSBTInputSigns a PSBTInput, verifying that all provided data matches what is being signed.
UpdatePSBTOutputUpdates a PSBTOutput with information from provider.

Derived Classes

NameDescription
FillableSigningProvider Fillable signing provider that keeps keys in an address->secret map
FlatSigningProvider A signing provider backed by plain in-memory maps of keys and scripts.
HidingSigningProvider Wraps a signing provider, optionally hiding secret keys and key origins.
LegacySigningProvider SigningProvider wrapper for LegacyDataSPKM that does not provide private keys.
MultiSigningProvider A signing provider to be used to interface with multiple signing providers at once.