![]() |
Bitcoin ABC 0.32.4
P2P Digital Currency
|
#include <scriptpubkeyman.h>
Public Member Functions | |
| util::Result< CTxDestination > | GetNewDestination (const OutputType type) override |
| isminetype | IsMine (const CScript &script) const override |
| bool | CheckDecryptionKey (const CKeyingMaterial &master_key, bool accept_no_keys=false) override |
| Check that the given decryption key is valid for this ScriptPubKeyMan, i.e. More... | |
| bool | Encrypt (const CKeyingMaterial &master_key, WalletBatch *batch) override |
| bool | GetReservedDestination (const OutputType type, bool internal, CTxDestination &address, int64_t &index, CKeyPool &keypool) override |
| void | KeepDestination (int64_t index, const OutputType &type) override |
| void | ReturnDestination (int64_t index, bool internal, const CTxDestination &) override |
| bool | TopUp (unsigned int size=0) override |
| Fills internal address pool. More... | |
| void | MarkUnusedAddresses (const CScript &script) override |
| Mark unused addresses as being used. More... | |
| void | UpgradeKeyMetadata () |
| Upgrade stored CKeyMetadata objects to store key origin info as KeyOriginInfo. More... | |
| bool | IsHDEnabled () const override |
| bool | SetupGeneration (bool force=false) override |
| Sets up the key generation stuff, i.e. More... | |
| bool | Upgrade (int prev_version, bilingual_str &error) override |
| Upgrades the wallet to the specified version. More... | |
| bool | HavePrivateKeys () const override |
| void | RewriteDB () override |
| The action to do when the DB needs rewrite. More... | |
| int64_t | GetOldestKeyPoolTime () const override |
| size_t | KeypoolCountExternalKeys () 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 |
| Returns true if the wallet can give out new addresses. More... | |
| 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... | |
| bool | SignTransaction (CMutableTransaction &tx, const std::map< COutPoint, Coin > &coins, SigHashType sighash, std::map< int, std::string > &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... | |
| TransactionError | FillPSBT (PartiallySignedTransaction &psbt, SigHashType sighash_type=SigHashType().withForkId(), bool sign=true, bool bip32derivs=false) const override |
| Adds script and derivation path information to a PSBT, and optionally signs it. More... | |
| uint256 | GetID () const override |
| void | SetInternal (bool internal) override |
| std::map< CKeyID, CKeyMetadata > mapKeyMetadata | GUARDED_BY (cs_KeyStore) |
| std::map< CScriptID, CKeyMetadata > m_script_metadata | GUARDED_BY (cs_KeyStore) |
| bool | AddKeyPubKey (const CKey &key, const CPubKey &pubkey) override |
| Adds a key to the store, and saves it to disk. More... | |
| bool | LoadKey (const CKey &key, const CPubKey &pubkey) |
| Adds a key to the store, without saving it to disk (used by LoadWallet) More... | |
| bool | AddCryptedKey (const CPubKey &vchPubKey, const std::vector< uint8_t > &vchCryptedSecret) |
| Adds an encrypted key to the store, and saves it to disk. More... | |
| bool | LoadCryptedKey (const CPubKey &vchPubKey, const std::vector< uint8_t > &vchCryptedSecret, bool checksum_valid) |
| Adds an encrypted key to the store, without saving it to disk (used by LoadWallet) More... | |
| void | UpdateTimeFirstKey (int64_t nCreateTime) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| Update wallet first key creation time. More... | |
| bool | LoadCScript (const CScript &redeemScript) |
| Adds a CScript to the store. More... | |
| void | LoadKeyMetadata (const CKeyID &keyID, const CKeyMetadata &metadata) |
| Load metadata (used by LoadWallet) More... | |
| void | LoadScriptMetadata (const CScriptID &script_id, const CKeyMetadata &metadata) |
| CPubKey | GenerateNewKey (WalletBatch &batch, CHDChain &hd_chain, bool internal=false) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| Generate a new key. More... | |
| void | AddHDChain (const CHDChain &chain) |
| Set the HD chain model (chain child index counters) and writes it to the database. More... | |
| void | LoadHDChain (const CHDChain &chain) |
| Load a HD chain model (used by LoadWallet) More... | |
| const CHDChain & | GetHDChain () const |
| void | AddInactiveHDChain (const CHDChain &chain) |
| bool | LoadWatchOnly (const CScript &dest) |
| Adds a watch-only address to the store, without saving it to disk (used by LoadWallet) More... | |
| bool | HaveWatchOnly (const CScript &dest) const |
| Returns whether the watch-only script is in the wallet. More... | |
| bool | HaveWatchOnly () const |
| Returns whether there are any watch-only things in the wallet. More... | |
| bool | RemoveWatchOnly (const CScript &dest) |
| Remove a watch only script from the keystore. More... | |
| bool | AddWatchOnly (const CScript &dest, int64_t nCreateTime) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | GetWatchPubKey (const CKeyID &address, CPubKey &pubkey_out) const |
| Fetches a pubkey from mapWatchKeys if it exists there. More... | |
| bool | HaveKey (const CKeyID &address) const override |
| bool | GetKey (const CKeyID &address, CKey &keyOut) const override |
| bool | GetPubKey (const CKeyID &address, CPubKey &vchPubKeyOut) const override |
| bool | AddCScript (const CScript &redeemScript) override |
| bool | GetKeyOrigin (const CKeyID &keyid, KeyOriginInfo &info) const override |
| void | LoadKeyPool (int64_t nIndex, const CKeyPool &keypool) |
| Load a keypool entry. More... | |
| bool | NewKeyPool () |
| Mark old keypool keys as used, and generate all new keys. More... | |
| void | MarkPreSplitKeys () EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | ImportScripts (const std::set< CScript > scripts, int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | ImportPrivKeys (const std::map< CKeyID, CKey > &privkey_map, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | ImportPubKeys (const std::vector< CKeyID > &ordered_pubkeys, const std::map< CKeyID, CPubKey > &pubkey_map, const std::map< CKeyID, std::pair< CPubKey, KeyOriginInfo > > &key_origins, const bool add_keypool, const bool internal, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | ImportScriptPubKeys (const std::set< CScript > &script_pub_keys, const bool have_solving_data, const int64_t timestamp) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | CanGenerateKeys () const |
| CPubKey | GenerateNewSeed () |
| CPubKey | DeriveNewSeed (const CKey &key) |
| void | SetHDSeed (const CPubKey &key) |
| void | LearnRelatedScripts (const CPubKey &key, OutputType) |
| Explicitly make the wallet learn the related scripts for outputs to the given key. More... | |
| void | LearnAllRelatedScripts (const CPubKey &key) |
| Same as LearnRelatedScripts, but when the OutputType is not known (and could be anything). More... | |
| void | MarkReserveKeysAsUsed (int64_t keypool_id) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| Marks all keys in the keypool up to and including reserve_key as used. More... | |
| const std::map< CKeyID, int64_t > & | GetAllReserveKeys () const |
| std::set< CKeyID > | GetKeys () const override |
| ScriptPubKeyMan (WalletStorage &storage) | |
Public Member Functions inherited from ScriptPubKeyMan | |
| ScriptPubKeyMan (WalletStorage &storage) | |
| virtual | ~ScriptPubKeyMan () |
| virtual util::Result< CTxDestination > | GetNewDestination (const OutputType type) |
| virtual isminetype | IsMine (const CScript &script) const |
| virtual bool | CheckDecryptionKey (const CKeyingMaterial &master_key, bool accept_no_keys=false) |
| Check that the given decryption key is valid for this ScriptPubKeyMan, i.e. More... | |
| virtual bool | Encrypt (const CKeyingMaterial &master_key, WalletBatch *batch) |
| virtual bool | GetReservedDestination (const OutputType type, bool internal, CTxDestination &address, int64_t &index, CKeyPool &keypool) |
| 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 void | MarkUnusedAddresses (const CScript &script) |
| Mark unused addresses as being used. More... | |
| virtual bool | SetupGeneration (bool force=false) |
| Sets up the key generation stuff, i.e. More... | |
| virtual bool | IsHDEnabled () const |
| virtual bool | CanGetAddresses (bool internal=false) const |
| Returns true if the wallet can give out new addresses. More... | |
| virtual bool | Upgrade (int prev_version, bilingual_str &error) |
| Upgrades the wallet to the specified version. More... | |
| virtual bool | HavePrivateKeys () const |
| virtual void | RewriteDB () |
| The action to do when the DB needs rewrite. More... | |
| virtual int64_t | GetOldestKeyPoolTime () const |
| virtual size_t | KeypoolCountExternalKeys () const |
| 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, SigHashType sighash, std::map< int, std::string > &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 TransactionError | FillPSBT (PartiallySignedTransaction &psbt, SigHashType sighash_type=SigHashType().withForkId(), bool sign=true, bool bip32derivs=false) const |
| Adds script and derivation path information to a PSBT, and optionally signs it. More... | |
| virtual uint256 | GetID () const |
| virtual void | SetInternal (bool internal) |
| template<typename... Params> | |
| void | WalletLogPrintf (std::string fmt, Params... parameters) const |
| Prepends the wallet name in logging output to ease debugging in multi-wallet use cases. More... | |
Public Member Functions inherited from FillableSigningProvider | |
| virtual bool | AddKeyPubKey (const CKey &key, const CPubKey &pubkey) |
| virtual bool | AddKey (const CKey &key) |
| virtual bool | GetPubKey (const CKeyID &address, CPubKey &vchPubKeyOut) const override |
| virtual bool | HaveKey (const CKeyID &address) const override |
| virtual std::set< CKeyID > | GetKeys () const |
| virtual bool | GetKey (const CKeyID &address, CKey &keyOut) const override |
| virtual bool | AddCScript (const CScript &redeemScript) |
| virtual bool | HaveCScript (const CScriptID &hash) const override |
| virtual std::set< CScriptID > | GetCScripts () const |
| virtual bool | GetCScript (const CScriptID &hash, CScript &redeemScriptOut) const override |
Public Member Functions inherited from SigningProvider | |
| virtual | ~SigningProvider () |
| virtual bool | GetCScript (const CScriptID &scriptid, CScript &script) const |
| virtual bool | HaveCScript (const CScriptID &scriptid) const |
| virtual bool | GetPubKey (const CKeyID &address, CPubKey &pubkey) const |
| virtual bool | GetKey (const CKeyID &address, CKey &key) const |
| virtual bool | HaveKey (const CKeyID &address) const |
| virtual bool | GetKeyOrigin (const CKeyID &keyid, KeyOriginInfo &info) const |
Private Types | |
| using | WatchOnlySet = std::set< CScript > |
| using | WatchKeyMap = std::map< CKeyID, CPubKey > |
| using | CryptedKeyMap = std::map< CKeyID, std::pair< CPubKey, std::vector< uint8_t > > > |
Private Member Functions | |
| WalletBatch *encrypted_batch | GUARDED_BY (cs_KeyStore) |
| CryptedKeyMap mapCryptedKeys | GUARDED_BY (cs_KeyStore) |
| WatchOnlySet setWatchOnly | GUARDED_BY (cs_KeyStore) |
| WatchKeyMap mapWatchKeys | GUARDED_BY (cs_KeyStore) |
| int64_t nTimeFirstKey | GUARDED_BY (cs_KeyStore)=0 |
| bool | AddKeyPubKeyInner (const CKey &key, const CPubKey &pubkey) |
| bool | AddCryptedKeyInner (const CPubKey &vchPubKey, const std::vector< uint8_t > &vchCryptedSecret) |
| bool | AddWatchOnly (const CScript &dest) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| Private version of AddWatchOnly method which does not accept a timestamp, and which will reset the wallet's nTimeFirstKey value to 1 if the watch key did not previously have a timestamp associated with it. More... | |
| bool | AddWatchOnlyWithDB (WalletBatch &batch, const CScript &dest) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| bool | AddWatchOnlyInMem (const CScript &dest) |
| bool | AddWatchOnlyWithDB (WalletBatch &batch, const CScript &dest, int64_t create_time) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| Adds a watch-only address to the store, and saves it to disk. More... | |
| bool | AddKeyPubKeyWithDB (WalletBatch &batch, const CKey &key, const CPubKey &pubkey) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| Adds a key to the store, and saves it to disk. More... | |
| void | AddKeypoolPubkeyWithDB (const CPubKey &pubkey, const bool internal, WalletBatch &batch) |
| bool | AddCScriptWithDB (WalletBatch &batch, const CScript &script) |
| Adds a script to the store and saves it to disk. More... | |
| bool | AddKeyOriginWithDB (WalletBatch &batch, const CPubKey &pubkey, const KeyOriginInfo &info) |
| Add a KeyOriginInfo to the wallet. More... | |
| void | DeriveNewChildKey (WalletBatch &batch, CKeyMetadata &metadata, CKey &secret, CHDChain &hd_chain, bool internal=false) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore) |
| std::set< int64_t > setInternalKeyPool | GUARDED_BY (cs_KeyStore) |
| std::set< int64_t > setExternalKeyPool | GUARDED_BY (cs_KeyStore) |
| std::set< int64_t > set_pre_split_keypool | GUARDED_BY (cs_KeyStore) |
| int64_t m_max_keypool_index | GUARDED_BY (cs_KeyStore)=0 |
| bool | GetKeyFromPool (CPubKey &key, const OutputType type, bool internal=false) |
| Fetches a key from the keypool. More... | |
| bool | ReserveKeyFromKeyPool (int64_t &nIndex, CKeyPool &keypool, bool fRequestedInternal) |
| Reserves a key from the keypool and sets nIndex to its index. More... | |
| bool | TopUpInactiveHDChain (const CKeyID seed_id, int64_t index, bool internal) |
| Like TopUp() but adds keys for inactive HD chains. More... | |
Private Attributes | |
| bool | fDecryptionThoroughlyChecked = true |
| keeps track of whether Unlock has run a thorough check before More... | |
| CHDChain | m_hd_chain |
| std::unordered_map< CKeyID, CHDChain, SaltedSipHasher > | m_inactive_hd_chains |
| std::map< CKeyID, int64_t > | m_pool_key_to_index |
| std::map< int64_t, CKeyID > | m_index_to_reserved_key |
Additional Inherited Members | |
Public Attributes inherited from ScriptPubKeyMan | |
| boost::signals2::signal< void(bool fHaveWatchOnly)> | NotifyWatchonlyChanged |
| Watch-only address added. More... | |
| boost::signals2::signal< void()> | NotifyCanGetAddressesChanged |
| Keypool has new keys. More... | |
Public Attributes inherited from FillableSigningProvider | |
| RecursiveMutex | cs_KeyStore |
Protected Types inherited from FillableSigningProvider | |
| using | KeyMap = std::map< CKeyID, CKey > |
| using | ScriptMap = std::map< CScriptID, CScript > |
Protected Member Functions inherited from FillableSigningProvider | |
| KeyMap mapKeys | GUARDED_BY (cs_KeyStore) |
| Map of key id to unencrypted private keys known by the signing provider. More... | |
| ScriptMap mapScripts | GUARDED_BY (cs_KeyStore) |
| (This comment has been elided for clarity since most of it detailed Core SegWit implementation details, see Core commit 005f8a9) More... | |
Protected Attributes inherited from ScriptPubKeyMan | |
| WalletStorage & | m_storage |
Definition at line 318 of file scriptpubkeyman.h.
|
private |
Definition at line 329 of file scriptpubkeyman.h.
|
private |
Definition at line 325 of file scriptpubkeyman.h.
|
private |
Definition at line 324 of file scriptpubkeyman.h.
| bool LegacyScriptPubKeyMan::AddCryptedKey | ( | const CPubKey & | vchPubKey, |
| const std::vector< uint8_t > & | vchCryptedSecret | ||
| ) |
Adds an encrypted key to the store, and saves it to disk.
Definition at line 783 of file scriptpubkeyman.cpp.
|
private |
Definition at line 774 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from FillableSigningProvider.
Definition at line 1485 of file scriptpubkeyman.cpp.
|
private |
Adds a script to the store and saves it to disk.
Definition at line 1490 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::AddHDChain | ( | const CHDChain & | chain | ) |
Set the HD chain model (chain child index counters) and writes it to the database.
Definition at line 886 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::AddInactiveHDChain | ( | const CHDChain & | chain | ) |
Definition at line 902 of file scriptpubkeyman.cpp.
|
private |
Add a KeyOriginInfo to the wallet.
Definition at line 1502 of file scriptpubkeyman.cpp.
|
private |
Definition at line 1274 of file scriptpubkeyman.cpp.
|
overridevirtual |
Adds a key to the store, and saves it to disk.
Reimplemented from FillableSigningProvider.
Definition at line 649 of file scriptpubkeyman.cpp.
Definition at line 736 of file scriptpubkeyman.cpp.
|
private |
Adds a key to the store, and saves it to disk.
Definition at line 656 of file scriptpubkeyman.cpp.
|
private |
Private version of AddWatchOnly method which does not accept a timestamp, and which will reset the wallet's nTimeFirstKey value to 1 if the watch key did not previously have a timestamp associated with it.
Because this is an inherited virtual method, it is accessible despite being marked private, but it is marked private anyway to encourage use of the other AddWatchOnly which accepts a timestamp and sets nTimeFirstKey more intelligently for more efficient rescans.
Definition at line 870 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::AddWatchOnly | ( | const CScript & | dest, |
| int64_t | nCreateTime | ||
| ) |
|
private |
Definition at line 837 of file scriptpubkeyman.cpp.
|
private |
Definition at line 847 of file scriptpubkeyman.cpp.
|
private |
Adds a watch-only address to the store, and saves it to disk.
Definition at line 863 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::CanGenerateKeys | ( | ) | const |
Definition at line 1127 of file scriptpubkeyman.cpp.
|
overridevirtual |
Returns true if the wallet can give out new addresses.
This means it has keys in the keypool or can generate new keys.
Reimplemented from ScriptPubKeyMan.
Definition at line 400 of file scriptpubkeyman.cpp.
|
overridevirtual |
Whether this ScriptPubKeyMan can provide a SigningProvider (via GetSolvingProvider) that, combined with sigdata, can produce solving data.
Reimplemented from ScriptPubKeyMan.
Definition at line 522 of file scriptpubkeyman.cpp.
|
overridevirtual |
Check that the given decryption key is valid for this ScriptPubKeyMan, i.e.
it decrypts all of the keys handled by it.
Reimplemented from ScriptPubKeyMan.
Definition at line 168 of file scriptpubkeyman.cpp.
|
private |
Definition at line 1030 of file scriptpubkeyman.cpp.
Definition at line 1141 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 211 of file scriptpubkeyman.cpp.
|
overridevirtual |
Adds script and derivation path information to a PSBT, and optionally signs it.
Reimplemented from ScriptPubKeyMan.
Definition at line 569 of file scriptpubkeyman.cpp.
| CPubKey LegacyScriptPubKeyMan::GenerateNewKey | ( | WalletBatch & | batch, |
| CHDChain & | hd_chain, | ||
| bool | internal = false |
||
| ) |
Generate a new key.
Definition at line 987 of file scriptpubkeyman.cpp.
| CPubKey LegacyScriptPubKeyMan::GenerateNewSeed | ( | ) |
Definition at line 1134 of file scriptpubkeyman.cpp.
|
inline |
|
inline |
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 626 of file scriptpubkeyman.cpp.
Reimplemented from FillableSigningProvider.
Definition at line 916 of file scriptpubkeyman.cpp.
|
private |
Fetches a key from the keypool.
Definition at line 1327 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from SigningProvider.
Definition at line 935 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 506 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from FillableSigningProvider.
Definition at line 1615 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 606 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 24 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 481 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from FillableSigningProvider.
Definition at line 967 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 242 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 518 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 512 of file scriptpubkeyman.cpp.
Fetches a pubkey from mapWatchKeys if it exists there.
Definition at line 956 of file scriptpubkeyman.cpp.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| std::map< CKeyID, CKeyMetadata > mapKeyMetadata LegacyScriptPubKeyMan::GUARDED_BY | ( | cs_KeyStore | ) |
| std::map< CScriptID, CKeyMetadata > m_script_metadata LegacyScriptPubKeyMan::GUARDED_BY | ( | cs_KeyStore | ) |
|
privatepure virtual |
|
privatepure virtual |
|
overridevirtual |
Reimplemented from FillableSigningProvider.
Definition at line 908 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 449 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::HaveWatchOnly | ( | ) | const |
Returns whether there are any watch-only things in the wallet.
Definition at line 805 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::HaveWatchOnly | ( | const CScript & | dest | ) | const |
Returns whether the watch-only script is in the wallet.
Definition at line 800 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::ImportScriptPubKeys | ( | const std::set< CScript > & | script_pub_keys, |
| const bool | have_solving_data, | ||
| const int64_t | timestamp | ||
| ) |
| bool LegacyScriptPubKeyMan::ImportScripts | ( | const std::set< CScript > | scripts, |
| int64_t | timestamp | ||
| ) |
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 396 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 155 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 1293 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 501 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::LearnAllRelatedScripts | ( | const CPubKey & | key | ) |
Same as LearnRelatedScripts, but when the OutputType is not known (and could be anything).
Definition at line 1413 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::LearnRelatedScripts | ( | const CPubKey & | key, |
| OutputType | type | ||
| ) |
Explicitly make the wallet learn the related scripts for outputs to the given key.
This is purely to make the wallet file compatible with older software, as FillableSigningProvider automatically does this implicitly for all keys now.
Definition at line 1408 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::LoadCryptedKey | ( | const CPubKey & | vchPubKey, |
| const std::vector< uint8_t > & | vchCryptedSecret, | ||
| bool | checksum_valid | ||
| ) |
Adds an encrypted key to the store, without saving it to disk (used by LoadWallet)
Definition at line 763 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::LoadCScript | ( | const CScript & | redeemScript | ) |
Adds a CScript to the store.
A sanity check was added in pull #3843 to avoid adding redeemScripts that never can be redeemed. However, old wallets may still contain these. Do not add them to the wallet and warn.
Definition at line 702 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::LoadHDChain | ( | const CHDChain & | chain | ) |
Load a HD chain model (used by LoadWallet)
Definition at line 881 of file scriptpubkeyman.cpp.
Adds a key to the store, without saving it to disk (used by LoadWallet)
Definition at line 645 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::LoadKeyMetadata | ( | const CKeyID & | keyID, |
| const CKeyMetadata & | metadata | ||
| ) |
Load metadata (used by LoadWallet)
Definition at line 722 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::LoadKeyPool | ( | int64_t | nIndex, |
| const CKeyPool & | keypool | ||
| ) |
Load a keypool entry.
Definition at line 1105 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::LoadScriptMetadata | ( | const CScriptID & | script_id, |
| const CKeyMetadata & | metadata | ||
| ) |
Definition at line 729 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::LoadWatchOnly | ( | const CScript & | dest | ) |
Adds a watch-only address to the store, without saving it to disk (used by LoadWallet)
Definition at line 833 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::MarkPreSplitKeys | ( | ) |
Definition at line 1465 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::MarkReserveKeysAsUsed | ( | int64_t | keypool_id | ) |
Marks all keys in the keypool up to and including reserve_key as used.
Definition at line 1417 of file scriptpubkeyman.cpp.
|
overridevirtual |
Mark unused addresses as being used.
Reimplemented from ScriptPubKeyMan.
Definition at line 304 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::NewKeyPool | ( | ) |
Mark old keypool keys as used, and generate all new keys.
Definition at line 1187 of file scriptpubkeyman.cpp.
| bool LegacyScriptPubKeyMan::RemoveWatchOnly | ( | const CScript & | dest | ) |
Remove a watch only script from the keystore.
Definition at line 816 of file scriptpubkeyman.cpp.
|
private |
Reserves a key from the keypool and sets nIndex to its index.
| [out] | nIndex | the index of the key in keypool |
| [out] | keypool | the keypool the key was drawn from, which could be the the pre-split pool if present, or the internal or external pool |
| fRequestedInternal | true if the caller would like the key drawn from the internal keypool, false if external is preferred |
| std::runtime_error | if keypool read failed, key was invalid, was not found in the wallet, or was misclassified in the internal or external keypool |
Definition at line 1353 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 1306 of file scriptpubkeyman.cpp.
|
overridevirtual |
The action to do when the DB needs rewrite.
Reimplemented from ScriptPubKeyMan.
Definition at line 454 of file scriptpubkeyman.cpp.
|
inlineexplicit |
Definition at line 177 of file scriptpubkeyman.h.
| void LegacyScriptPubKeyMan::SetHDSeed | ( | const CPubKey & | key | ) |
Definition at line 1168 of file scriptpubkeyman.cpp.
|
overridevirtual |
Reimplemented from ScriptPubKeyMan.
Definition at line 1627 of file scriptpubkeyman.cpp.
|
overridevirtual |
Sets up the key generation stuff, i.e.
generates new HD seeds and sets them as active. Returns false if already setup or setup fails, true if setup is successful Set force=true to make it re-setup if already setup, used for upgrades
Reimplemented from ScriptPubKeyMan.
Definition at line 384 of file scriptpubkeyman.cpp.
|
overridevirtual |
Sign a message with the given script.
Reimplemented from ScriptPubKeyMan.
Definition at line 554 of file scriptpubkeyman.cpp.
|
overridevirtual |
Creates new signatures and adds them to the transaction.
Returns whether all inputs were signed
Reimplemented from ScriptPubKeyMan.
Definition at line 548 of file scriptpubkeyman.cpp.
|
overridevirtual |
Fills internal address pool.
Use within ScriptPubKeyMan implementations should be used sparingly and only when something from the address pool is removed, excluding GetNewDestination and GetReservedDestination. External wallet code is primarily responsible for topping up prior to fetching new addresses
Reimplemented from ScriptPubKeyMan.
Definition at line 1219 of file scriptpubkeyman.cpp.
|
private |
Like TopUp() but adds keys for inactive HD chains.
Ensures that there are at least -keypool number of keys derived after the given index.
| seed_id | the CKeyID for the HD seed. |
| index | the index to start generating keys from |
| internal | whether the internal chain should be used. true for internal chain, false for external chain. |
Definition at line 259 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::UpdateTimeFirstKey | ( | int64_t | nCreateTime | ) |
Update wallet first key creation time.
This should be called whenever keys are added to the wallet, with the oldest key creation time.
Definition at line 634 of file scriptpubkeyman.cpp.
|
overridevirtual |
Upgrades the wallet to the specified version.
Reimplemented from ScriptPubKeyMan.
Definition at line 416 of file scriptpubkeyman.cpp.
| void LegacyScriptPubKeyMan::UpgradeKeyMetadata | ( | ) |
Upgrade stored CKeyMetadata objects to store key origin info as KeyOriginInfo.
Definition at line 345 of file scriptpubkeyman.cpp.
|
private |
keeps track of whether Unlock has run a thorough check before
Definition at line 322 of file scriptpubkeyman.h.
|
private |
Definition at line 377 of file scriptpubkeyman.h.
|
private |
Definition at line 378 of file scriptpubkeyman.h.
|
private |
Definition at line 393 of file scriptpubkeyman.h.
|
private |
Definition at line 390 of file scriptpubkeyman.h.