From 3ec2ebcd9b4beb4277f1f4791c6acbc538784f70 Mon Sep 17 00:00:00 2001 From: Russell Yanofsky Date: Tue, 18 Apr 2017 13:01:23 -0400 Subject: Remove direct bitcoin calls from qt/addresstablemodel.cpp --- src/interface/wallet.cpp | 18 ++++++++++++++ src/interface/wallet.h | 29 ++++++++++++++++++++++ src/qt/addresstablemodel.cpp | 59 +++++++++++++++++++------------------------- src/qt/addresstablemodel.h | 7 +++--- src/qt/walletmodel.cpp | 2 +- 5 files changed, 78 insertions(+), 37 deletions(-) (limited to 'src') diff --git a/src/interface/wallet.cpp b/src/interface/wallet.cpp index cbf30f49bc..efc9946fb6 100644 --- a/src/interface/wallet.cpp +++ b/src/interface/wallet.cpp @@ -85,6 +85,10 @@ public: } 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 + { + return m_wallet.GetKeyFromPool(pub_key, internal); + } 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); } bool isSpendable(const CTxDestination& dest) override { return IsMine(m_wallet, dest) & ISMINE_SPENDABLE; } @@ -93,6 +97,10 @@ public: { return m_wallet.SetAddressBook(dest, name, purpose); } + bool delAddressBook(const CTxDestination& dest) override + { + return m_wallet.DelAddressBook(dest); + } bool getAddress(const CTxDestination& dest, std::string* name, isminetype* is_mine) override { LOCK(m_wallet.cs_wallet); @@ -108,6 +116,16 @@ public: } return true; } + std::vector getAddresses() override + { + LOCK(m_wallet.cs_wallet); + std::vector result; + for (const auto& item : m_wallet.mapAddressBook) { + result.emplace_back(item.first, IsMine(m_wallet, item.first), item.second.name, item.second.purpose); + } + return result; + } + void learnRelatedScripts(const CPubKey& key, OutputType type) override { m_wallet.LearnRelatedScripts(key, type); } bool addDestData(const CTxDestination& dest, const std::string& key, const std::string& value) override { LOCK(m_wallet.cs_wallet); diff --git a/src/interface/wallet.h b/src/interface/wallet.h index 6cc196fd94..4510276446 100644 --- a/src/interface/wallet.h +++ b/src/interface/wallet.h @@ -6,6 +6,7 @@ #define BITCOIN_INTERFACE_WALLET_H #include // For CAmount +#include // For CTxDestination (CKeyID and CScriptID) #include