mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
Add GetNewDestination to CWallet to fetch new destinations
Instead of having the same multiple lines of code everywhere that new destinations are fetched, introduce GetNewDestination as a member function of CWallet which does the key fetching, label setting, script generation, and destination generation.
This commit is contained in:
@@ -140,9 +140,11 @@ public:
|
||||
void abortRescan() override { m_wallet->AbortRescan(); }
|
||||
bool backupWallet(const std::string& filename) override { return m_wallet->BackupWallet(filename); }
|
||||
std::string getWalletName() override { return m_wallet->GetName(); }
|
||||
bool getKeyFromPool(bool internal, CPubKey& pub_key) override
|
||||
bool getNewDestination(const OutputType type, const std::string label, CTxDestination& dest) override
|
||||
{
|
||||
return m_wallet->GetKeyFromPool(pub_key, internal);
|
||||
LOCK(m_wallet->cs_wallet);
|
||||
std::string error;
|
||||
return m_wallet->GetNewDestination(type, label, dest, error);
|
||||
}
|
||||
bool getPubKey(const CKeyID& address, CPubKey& pub_key) override { return m_wallet->GetPubKey(address, pub_key); }
|
||||
bool getPrivKey(const CKeyID& address, CKey& key) override { return m_wallet->GetKey(address, key); }
|
||||
|
||||
@@ -76,8 +76,8 @@ public:
|
||||
//! Get wallet name.
|
||||
virtual std::string getWalletName() = 0;
|
||||
|
||||
// Get key from pool.
|
||||
virtual bool getKeyFromPool(bool internal, CPubKey& pub_key) = 0;
|
||||
// Get a new address.
|
||||
virtual bool getNewDestination(const OutputType type, const std::string label, CTxDestination& dest) = 0;
|
||||
|
||||
//! Get public key.
|
||||
virtual bool getPubKey(const CKeyID& address, CPubKey& pub_key) = 0;
|
||||
|
||||
Reference in New Issue
Block a user