5#ifndef BITCOIN_WALLET_EXTERNAL_SIGNER_SCRIPTPUBKEYMAN_H
6#define BITCOIN_WALLET_EXTERNAL_SIGNER_SCRIPTPUBKEYMAN_H
30 static std::unique_ptr<ExternalSignerScriptPubKeyMan>
CreateNew(
WalletStorage& storage,
WalletBatch& batch, int64_t keypool_size, std::unique_ptr<Descriptor> desc);
std::variant< CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, PayToAnchor, WitnessUnknown > CTxDestination
A txout script categorized into standard templates.
Enables interaction with an external signing device or service, such as a hardware wallet.
A version of CTransaction with the PSBT format.
static std::unique_ptr< ExternalSignerScriptPubKeyMan > LoadFromStorage(WalletStorage &storage, WalletDescriptor &descriptor, int64_t keypool_size, const KeyMap &keys, const CryptedKeyMap &ckeys)
static std::unique_ptr< ExternalSignerScriptPubKeyMan > CreateNew(WalletStorage &storage, WalletBatch &batch, int64_t keypool_size, std::unique_ptr< Descriptor > desc)
ExternalSignerScriptPubKeyMan(WalletStorage &storage, WalletDescriptor &descriptor, int64_t keypool_size, const KeyMap &keys, const CryptedKeyMap &ckeys)
Create an ExternalSPKM from existing wallet data.
static util::Result< ExternalSigner > GetExternalSigner()
std::optional< common::PSBTError > FillPSBT(PartiallySignedTransaction &psbt, const PrecomputedTransactionData &txdata, const common::PSBTFillOptions &options, int *n_signed=nullptr) const override
Adds script and derivation path information to a PSBT, and optionally signs it.
util::Result< void > DisplayAddress(const CTxDestination &dest, const ExternalSigner &signer) const
Display address on the device and verify that the returned value matches.
ExternalSignerScriptPubKeyMan(WalletStorage &storage, int64_t keypool_size)
Access to the wallet database.
Descriptor with some wallet metadata.
std::map< CKeyID, std::pair< CPubKey, std::vector< unsigned char > > > CryptedKeyMap
std::map< CKeyID, CKey > KeyMap
Instructions for how a PSBT should be signed or filled with information.