diff options
| author | Andrew Chow <[email protected]> | 2019-06-18 15:19:13 -0400 |
|---|---|---|
| committer | Andrew Chow <[email protected]> | 2019-07-09 16:43:10 -0400 |
| commit | 172213be5b174243dc501c1103ad5fe2fee67a16 (patch) | |
| tree | 2f890eb657ffa7b95ff6fb7e04b58a58c4ba081f /src/interfaces | |
| parent | Merge #16112: util: Log early messages (diff) | |
| download | discoin-172213be5b174243dc501c1103ad5fe2fee67a16.tar.xz discoin-172213be5b174243dc501c1103ad5fe2fee67a16.zip | |
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.
Diffstat (limited to 'src/interfaces')
| -rw-r--r-- | src/interfaces/wallet.cpp | 6 | ||||
| -rw-r--r-- | src/interfaces/wallet.h | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/interfaces/wallet.cpp b/src/interfaces/wallet.cpp index 240670cbe..93374ea82 100644 --- a/src/interfaces/wallet.cpp +++ b/src/interfaces/wallet.cpp @@ -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); } diff --git a/src/interfaces/wallet.h b/src/interfaces/wallet.h index 7096f5404..25815d853 100644 --- a/src/interfaces/wallet.h +++ b/src/interfaces/wallet.h @@ -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; |