![]() |
Bitcoin Core 30.99.0
P2P Digital Currency
|
#include <external_signer_scriptpubkeyman.h>
Public Member Functions | |
| ExternalSignerScriptPubKeyMan (WalletStorage &storage, WalletDescriptor &descriptor, int64_t keypool_size) | |
| ExternalSignerScriptPubKeyMan (WalletStorage &storage, int64_t keypool_size) | |
| bool | SetupDescriptor (WalletBatch &batch, std::unique_ptr< Descriptor >desc) |
| Provide a descriptor at setup time Returns false if already setup or setup fails, true if setup is successful. More... | |
| util::Result< void > | DisplayAddress (const CTxDestination &dest, const ExternalSigner &signer) const |
| Display address on the device and verify that the returned value matches. More... | |
| std::optional< common::PSBTError > | FillPSBT (PartiallySignedTransaction &psbt, const PrecomputedTransactionData &txdata, std::optional< int > sighash_type=std::nullopt, bool sign=true, bool bip32derivs=false, int *n_signed=nullptr, bool finalize=true) const override |
| Adds script and derivation path information to a PSBT, and optionally signs it. More... | |
Public Member Functions inherited from wallet::DescriptorScriptPubKeyMan | |
| DescriptorScriptPubKeyMan (WalletStorage &storage, WalletDescriptor &descriptor, int64_t keypool_size) | |
| DescriptorScriptPubKeyMan (WalletStorage &storage, int64_t keypool_size) | |
| util::Result< CTxDestination > | GetNewDestination (const OutputType type) override |
| bool | IsMine (const CScript &script) const override |
| bool | CheckDecryptionKey (const CKeyingMaterial &master_key) override |
| Check that the given decryption key is valid for this ScriptPubKeyMan, i.e. it decrypts all of the keys handled by it. More... | |
| bool | Encrypt (const CKeyingMaterial &master_key, WalletBatch *batch) override |
| util::Result< CTxDestination > | GetReservedDestination (const OutputType type, bool internal, int64_t &index) override |
| void | ReturnDestination (int64_t index, bool internal, const CTxDestination &addr) override |
| bool | TopUp (unsigned int size=0) override |
| Fills internal address pool. More... | |
| std::vector< WalletDestination > | MarkUnusedAddresses (const CScript &script) override |
| Mark unused addresses as being used Affects all keys up to and including the one determined by provided script. More... | |
| bool | IsHDEnabled () const override |
| bool | SetupDescriptorGeneration (WalletBatch &batch, const CExtKey &master_key, OutputType addr_type, bool internal) |
| Setup descriptors based on the given CExtkey. More... | |
| bool | HavePrivateKeys () const override |
| bool | HasPrivKey (const CKeyID &keyid) const EXCLUSIVE_LOCKS_REQUIRED(cs_desc_man) |
| std::optional< CKey > | GetKey (const CKeyID &keyid) const EXCLUSIVE_LOCKS_REQUIRED(cs_desc_man) |
| Retrieve the particular key if it is available. Returns nullopt if the key is not in the wallet, or if the wallet is locked. More... | |
| bool | HaveCryptedKeys () const override |
| unsigned int | GetKeyPoolSize () const override |
| int64_t | GetTimeFirstKey () const override |
| std::unique_ptr< CKeyMetadata > | GetMetadata (const CTxDestination &dest) const override |
| bool | CanGetAddresses (bool internal=false) const override |
| std::unique_ptr< SigningProvider > | GetSolvingProvider (const CScript &script) const override |
| bool | CanProvide (const CScript &script, SignatureData &sigdata) override |
| Whether this ScriptPubKeyMan can provide a SigningProvider (via GetSolvingProvider) that, combined with sigdata, can produce solving data. More... | |
| std::unique_ptr< FlatSigningProvider > | GetSigningProvider (const CPubKey &pubkey) const |
| bool | SignTransaction (CMutableTransaction &tx, const std::map< COutPoint, Coin > &coins, int sighash, std::map< int, bilingual_str > &input_errors) const override |
| Creates new signatures and adds them to the transaction. More... | |
| SigningResult | SignMessage (const std::string &message, const PKHash &pkhash, std::string &str_sig) const override |
| Sign a message with the given script. More... | |
| std::optional< common::PSBTError > | FillPSBT (PartiallySignedTransaction &psbt, const PrecomputedTransactionData &txdata, std::optional< int > sighash_type=std::nullopt, bool sign=true, bool bip32derivs=false, int *n_signed=nullptr, bool finalize=true) const override |
| Adds script and derivation path information to a PSBT, and optionally signs it. More... | |
| uint256 | GetID () const override |
| void | SetCache (const DescriptorCache &cache) |
| bool | AddKey (const CKeyID &key_id, const CKey &key) |
| bool | AddCryptedKey (const CKeyID &key_id, const CPubKey &pubkey, const std::vector< unsigned char > &crypted_key) |
| bool | HasWalletDescriptor (const WalletDescriptor &desc) const |
| util::Result< void > | UpdateWalletDescriptor (WalletDescriptor &descriptor) |
| bool | CanUpdateToWalletDescriptor (const WalletDescriptor &descriptor, std::string &error) |
| void | AddDescriptorKey (const CKey &key, const CPubKey &pubkey) |
| void | WriteDescriptor () |
| WalletDescriptor | GetWalletDescriptor () const EXCLUSIVE_LOCKS_REQUIRED(cs_desc_man) |
| std::unordered_set< CScript, SaltedSipHasher > | GetScriptPubKeys () const override |
| Returns a set of all the scriptPubKeys that this ScriptPubKeyMan watches. More... | |
| std::unordered_set< CScript, SaltedSipHasher > | GetScriptPubKeys (int32_t minimum_index) const |
| int32_t | GetEndRange () const |
| bool | GetDescriptorString (std::string &out, const bool priv) const |
| void | UpgradeDescriptorCache () |
Public Member Functions inherited from wallet::ScriptPubKeyMan | |
| ScriptPubKeyMan (WalletStorage &storage) | |
| virtual | ~ScriptPubKeyMan ()=default |
| virtual util::Result< CTxDestination > | GetNewDestination (const OutputType type) |
| virtual bool | IsMine (const CScript &script) const |
| virtual bool | CheckDecryptionKey (const CKeyingMaterial &master_key) |
| Check that the given decryption key is valid for this ScriptPubKeyMan, i.e. it decrypts all of the keys handled by it. More... | |
| virtual bool | Encrypt (const CKeyingMaterial &master_key, WalletBatch *batch) |
| virtual util::Result< CTxDestination > | GetReservedDestination (const OutputType type, bool internal, int64_t &index) |
| virtual void | KeepDestination (int64_t index, const OutputType &type) |
| virtual void | ReturnDestination (int64_t index, bool internal, const CTxDestination &addr) |
| virtual bool | TopUp (unsigned int size=0) |
| Fills internal address pool. More... | |
| virtual std::vector< WalletDestination > | MarkUnusedAddresses (const CScript &script) |
| Mark unused addresses as being used Affects all keys up to and including the one determined by provided script. More... | |
| virtual bool | IsHDEnabled () const |
| virtual bool | CanGetAddresses (bool internal=false) const |
| virtual bool | HavePrivateKeys () const |
| virtual bool | HaveCryptedKeys () const |
| virtual void | RewriteDB () |
| The action to do when the DB needs rewrite. More... | |
| virtual unsigned int | GetKeyPoolSize () const |
| virtual int64_t | GetTimeFirstKey () const |
| virtual std::unique_ptr< CKeyMetadata > | GetMetadata (const CTxDestination &dest) const |
| virtual std::unique_ptr< SigningProvider > | GetSolvingProvider (const CScript &script) const |
| virtual bool | CanProvide (const CScript &script, SignatureData &sigdata) |
| Whether this ScriptPubKeyMan can provide a SigningProvider (via GetSolvingProvider) that, combined with sigdata, can produce solving data. More... | |
| virtual bool | SignTransaction (CMutableTransaction &tx, const std::map< COutPoint, Coin > &coins, int sighash, std::map< int, bilingual_str > &input_errors) const |
| Creates new signatures and adds them to the transaction. More... | |
| virtual SigningResult | SignMessage (const std::string &message, const PKHash &pkhash, std::string &str_sig) const |
| Sign a message with the given script. More... | |
| virtual std::optional< common::PSBTError > | FillPSBT (PartiallySignedTransaction &psbt, const PrecomputedTransactionData &txdata, std::optional< int > sighash_type=std::nullopt, bool sign=true, bool bip32derivs=false, int *n_signed=nullptr, bool finalize=true) const |
| Adds script and derivation path information to a PSBT, and optionally signs it. More... | |
| virtual uint256 | GetID () const |
| virtual std::unordered_set< CScript, SaltedSipHasher > | GetScriptPubKeys () const |
| Returns a set of all the scriptPubKeys that this ScriptPubKeyMan watches. More... | |
| template<typename... Params> | |
| void | WalletLogPrintf (util::ConstevalFormatString< sizeof...(Params)> wallet_fmt, const Params &... params) const |
| Prepends the wallet name in logging output to ease debugging in multi-wallet use cases. More... | |
Static Public Member Functions | |
| static util::Result< ExternalSigner > | GetExternalSigner () |
Additional Inherited Members | |
Public Attributes inherited from wallet::DescriptorScriptPubKeyMan | |
| RecursiveMutex | cs_desc_man |
Public Attributes inherited from wallet::ScriptPubKeyMan | |
| boost::signals2::signal< void()> | NotifyCanGetAddressesChanged |
| Keypool has new keys. More... | |
| boost::signals2::signal< void(const ScriptPubKeyMan *spkm, int64_t new_birth_time)> | NotifyFirstKeyTimeChanged |
| Birth time changed. More... | |
Protected Member Functions inherited from wallet::DescriptorScriptPubKeyMan | |
| WalletDescriptor m_wallet_descriptor | GUARDED_BY (cs_desc_man) |
| bool | TopUpWithDB (WalletBatch &batch, unsigned int size=0) |
| Same as 'TopUp' but designed for use within a batch transaction context. More... | |
Protected Attributes inherited from wallet::ScriptPubKeyMan | |
| WalletStorage & | m_storage |
Definition at line 16 of file external_signer_scriptpubkeyman.h.
|
inline |
Definition at line 19 of file external_signer_scriptpubkeyman.h.
|
inline |
Definition at line 22 of file external_signer_scriptpubkeyman.h.
| util::Result< void > wallet::ExternalSignerScriptPubKeyMan::DisplayAddress | ( | const CTxDestination & | dest, |
| const ExternalSigner & | signer | ||
| ) | const |
Display address on the device and verify that the returned value matches.
Definition at line 59 of file external_signer_scriptpubkeyman.cpp.
|
overridevirtual |
Adds script and derivation path information to a PSBT, and optionally signs it.
Reimplemented from wallet::ScriptPubKeyMan.
Definition at line 82 of file external_signer_scriptpubkeyman.cpp.
|
static |
Definition at line 48 of file external_signer_scriptpubkeyman.cpp.
| bool wallet::ExternalSignerScriptPubKeyMan::SetupDescriptor | ( | WalletBatch & | batch, |
| std::unique_ptr< Descriptor > | desc | ||
| ) |
Provide a descriptor at setup time Returns false if already setup or setup fails, true if setup is successful.
Definition at line 24 of file external_signer_scriptpubkeyman.cpp.