aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-04-13 15:35:44 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-04-13 15:35:44 -0500
commit6a889bdaa19bd6ef66165d18d10f82c2c5ed6fa0 (patch)
tree4c89a95703d33dce1081856efca18d0741f52f62 /src/libwalletqt
parent042400b83fdea6c18ea8a7970cb0a8af2070c03a (diff)
parentb5fafb55c9ba3e3e1c8122b066202784f1339691 (diff)
downloadmonzero-gui-6a889bdaa19bd6ef66165d18d10f82c2c5ed6fa0.tar.gz
monzero-gui-6a889bdaa19bd6ef66165d18d10f82c2c5ed6fa0.tar.xz
monzero-gui-6a889bdaa19bd6ef66165d18d10f82c2c5ed6fa0.zip
Merge pull request #2739
b5fafb5 Transfer: display estimated transaction fee, requires #6302 (xiphon)
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;