From b5fafb55c9ba3e3e1c8122b066202784f1339691 Mon Sep 17 00:00:00 2001 From: xiphon Date: Wed, 22 Jan 2020 16:32:19 +0000 Subject: Transfer: display estimated transaction fee, requires #6302 --- src/libwalletqt/Wallet.cpp | 13 +++++++++++++ src/libwalletqt/Wallet.h | 5 +++++ 2 files changed, 18 insertions(+) (limited to 'src') diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index c32026f8..5f632725 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -575,6 +575,19 @@ void Wallet::disposeTransaction(UnsignedTransaction *t) delete t; } +void Wallet::estimateTransactionFeeAsync(const QString &destination, + quint64 amount, + PendingTransaction::Priority priority, + const QJSValue &callback) +{ + m_scheduler.run([this, destination, amount, priority] { + const uint64_t fee = m_walletImpl->estimateTransactionFee( + {std::make_pair(destination.toStdString(), amount)}, + static_cast(priority)); + return QJSValueList({QString::fromStdString(Monero::Wallet::displayAmount(fee))}); + }, callback); +} + TransactionHistory *Wallet::history() const { return m_history; diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h index a6add1da..e43bd59d 100644 --- a/src/libwalletqt/Wallet.h +++ b/src/libwalletqt/Wallet.h @@ -248,6 +248,11 @@ public: //! deletes unsigned transaction and frees memory Q_INVOKABLE void disposeTransaction(UnsignedTransaction * t); + Q_INVOKABLE void estimateTransactionFeeAsync(const QString &destination, + quint64 amount, + PendingTransaction::Priority priority, + const QJSValue &callback); + //! returns transaction history TransactionHistory * history() const; -- cgit v1.2.3