From 42e4f1324655615fdacef45d43c1be89032b4d3c Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Tue, 7 May 2019 13:15:59 +0000 Subject: [PATCH] GUI: WalletModel: Wrap checkAddressForUsage and findAddressUsage --- src/qt/walletmodel.cpp | 16 ++++++++++++++++ src/qt/walletmodel.h | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 270e9aea45..7fb29b79bf 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -151,6 +151,22 @@ bool WalletModel::validateAddress(const QString& address) const return IsValidDestinationString(address.toStdString()); } +bool WalletModel::checkAddressForUsage(const std::vector& addresses) const +{ + return m_wallet->checkAddressForUsage(addresses); +} + +bool WalletModel::findAddressUsage(const QStringList& addresses, std::function callback) const +{ + std::vector std_addresses; + for (const auto& address : addresses) { + std_addresses.push_back(address.toStdString()); + } + return m_wallet->findAddressUsage(std_addresses, [&callback](const std::string& address, const interfaces::WalletTx& wtx, uint32_t output_index){ + callback(QString::fromStdString(address), wtx, output_index); + }); +} + WalletModel::SendCoinsReturn WalletModel::prepareTransaction(WalletModelTransaction &transaction, const CCoinControl& coinControl) { CAmount total = 0; diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 503ee16823..e18862a05f 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -6,12 +6,14 @@ #define BITCOIN_QT_WALLETMODEL_H #include +#include #include #include #include +#include #include #include @@ -81,6 +83,8 @@ public: // Check address for validity bool validateAddress(const QString& address) const; + bool checkAddressForUsage(const std::vector& addresses) const; + bool findAddressUsage(const QStringList& addresses, std::function callback) const; // Return status record for SendCoins, contains error id + information struct SendCoinsReturn