aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.qml2
-rw-r--r--src/libwalletqt/Wallet.cpp14
-rw-r--r--src/libwalletqt/Wallet.h4
3 files changed, 12 insertions, 8 deletions
diff --git a/main.qml b/main.qml
index c5829db8..6701d7e2 100644
--- a/main.qml
+++ b/main.qml
@@ -885,7 +885,7 @@ ApplicationWindow {
return recipient.address;
});
const amountsxmr = recipients.map(function (recipient) {
- return walletManager.amountFromString(recipient.amount);
+ return recipient.amount;
});
currentWallet.createTransactionAsync(addresses, paymentId, amountsxmr, mixinCount, priority);
}
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index e9700143..2c9e26d7 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -535,7 +535,7 @@ void Wallet::pauseRefresh()
PendingTransaction *Wallet::createTransaction(
const QVector<QString> &destinationAddresses,
const QString &payment_id,
- const QVector<quint64> &amounts,
+ const QVector<QString> &destinationAmounts,
quint32 mixin_count,
PendingTransaction::Priority priority)
{
@@ -543,11 +543,15 @@ PendingTransaction *Wallet::createTransaction(
for (const auto &address : destinationAddresses) {
destinations.push_back(address.toStdString());
}
+ std::vector<uint64_t> amounts;
+ for (const auto &amount : destinationAmounts) {
+ amounts.push_back(Monero::Wallet::amountFromString(amount.toStdString()));
+ }
std::set<uint32_t> subaddr_indices;
Monero::PendingTransaction *ptImpl = m_walletImpl->createTransactionMultDest(
destinations,
payment_id.toStdString(),
- std::vector<uint64_t>(amounts.begin(), amounts.end()),
+ amounts,
mixin_count,
static_cast<Monero::PendingTransaction::Priority>(priority),
currentSubaddressAccount(),
@@ -559,12 +563,12 @@ PendingTransaction *Wallet::createTransaction(
void Wallet::createTransactionAsync(
const QVector<QString> &destinationAddresses,
const QString &payment_id,
- const QVector<quint64> &amounts,
+ const QVector<QString> &destinationAmounts,
quint32 mixin_count,
PendingTransaction::Priority priority)
{
- m_scheduler.run([this, destinationAddresses, payment_id, amounts, mixin_count, priority] {
- PendingTransaction *tx = createTransaction(destinationAddresses, payment_id, amounts, mixin_count, priority);
+ m_scheduler.run([this, destinationAddresses, payment_id, destinationAmounts, mixin_count, priority] {
+ PendingTransaction *tx = createTransaction(destinationAddresses, payment_id, destinationAmounts, mixin_count, priority);
emit transactionCreated(tx, destinationAddresses, payment_id, mixin_count);
});
}
diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h
index 237ef853..319b2a14 100644
--- a/src/libwalletqt/Wallet.h
+++ b/src/libwalletqt/Wallet.h
@@ -220,7 +220,7 @@ public:
Q_INVOKABLE void createTransactionAsync(
const QVector<QString> &destinationAddresses,
const QString &payment_id,
- const QVector<quint64> &amounts,
+ const QVector<QString> &destinationAmounts,
quint32 mixin_count,
PendingTransaction::Priority priority);
@@ -421,7 +421,7 @@ private:
PendingTransaction *createTransaction(
const QVector<QString> &destinationAddresses,
const QString &payment_id,
- const QVector<quint64> &amounts,
+ const QVector<QString> &destinationAmounts,
quint32 mixin_count,
PendingTransaction::Priority priority);