aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt
diff options
context:
space:
mode:
Diffstat (limited to 'src/libwalletqt')
-rw-r--r--src/libwalletqt/Wallet.cpp13
-rw-r--r--src/libwalletqt/Wallet.h5
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index 69035a90..c3f7cb97 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -600,6 +600,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<Monero::PendingTransaction::Priority>(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 2fb91191..5a408049 100644
--- a/src/libwalletqt/Wallet.h
+++ b/src/libwalletqt/Wallet.h
@@ -250,6 +250,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;