FlatSigningProvider

A signing provider backed by plain in-memory maps of keys and scripts.

Synopsis

Declared in <script/signingprovider.h>

struct FlatSigningProvider final
    : SigningProvider

Base Classes

NameDescription
SigningProviderAn interface to be implemented by keystores that support signing.

Member Functions

NameDescription
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 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 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 Report whether a private key with the given id is known.
Merge Merge the contents of another provider into this one.
SetMuSig2SecNonce [virtual]Store a MuSig2 secret nonce for a signing session.

Data Members

NameDescription
aggregate_pubkeys MuSig2 aggregate pubkeys and their participants.
keys Known private keys keyed by key id.
musig2_secnonces Optional store of MuSig2 secret nonces.
origins Key origin info keyed by key id.
pubkeys Known public keys keyed by key id.
scripts Known scripts keyed by script id.
tr_trees Map from output key to Taproot tree (which can then make the TaprootSpendData).

Non-Member Functions

NameDescription
AddAndGetDestinationForScriptGet a destination of the requested type (if possible) to the specified script. This function will automatically add the script (and any other necessary scripts) to the keystore.
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.