Merge pull request #3932

5591061 SettingsWallet: add scan transaction option (selsta)
6e0b5e2 libwallet: add scanTransactions function (selsta)
This commit is contained in:
luigi1111 2022-07-14 12:58:01 -04:00
commit 425623d6d3
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010
4 changed files with 37 additions and 0 deletions

View File

@ -54,6 +54,7 @@ Object {
property string key : "\uf084"
property string language : "\uf1ab"
property string lock : "\uf023"
property string magnifyingGlass : "\uf002"
property string minus : "\uf068"
property string minusCircle : "\uf056"
property string moonO : "\uf186"

View File

@ -127,6 +127,27 @@ Rectangle {
}
}
MoneroComponents.SettingsListItem {
enabled: leftPanel.progressBar.fillLevel == 100
iconText: FontAwesome.magnifyingGlass
description: qsTr("Use this feature if a transaction is missing in your wallet history. This will expose the transaction ID to the remote node, which can harm your privacy.") + translationManager.emptyString
title: qsTr("Scan transaction") + translationManager.emptyString
onClicked: {
inputDialog.labelText = qsTr("Enter a transaction ID:") + translationManager.emptyString;
inputDialog.onAcceptedCallback = function() {
var txid = inputDialog.inputText.trim();
if (currentWallet.scanTransactions([txid])) {
appWindow.showStatusMessage(qsTr("Transaction successfully scanned"), 3);
} else {
appWindow.showStatusMessage(qsTr("Failed to scan transaction") + ": " + currentWallet.errorString, 5);
}
}
inputDialog.onRejectedCallback = null;
inputDialog.open()
}
}
MoneroComponents.SettingsListItem {
iconText: FontAwesome.ellipsisH
description: qsTr("Change the password of your wallet.") + translationManager.emptyString

View File

@ -30,7 +30,9 @@
#include <chrono>
#include <stdexcept>
#include <string>
#include <thread>
#include <vector>
#include "PendingTransaction.h"
#include "UnsignedTransaction.h"
@ -507,6 +509,16 @@ bool Wallet::importOutputs(const QString& path) {
return m_walletImpl->importOutputs(path.toStdString());
}
bool Wallet::scanTransactions(const QVector<QString> &txids)
{
std::vector<std::string> c;
for (const auto &v : txids)
{
c.push_back(v.toStdString());
}
return m_walletImpl->scanTransactions(c);
}
bool Wallet::refresh(bool historyAndSubaddresses /* = true */)
{
refreshingSet(true);

View File

@ -212,6 +212,9 @@ public:
Q_INVOKABLE bool exportOutputs(const QString& path, bool all = false);
Q_INVOKABLE bool importOutputs(const QString& path);
//! scan transactions
Q_INVOKABLE bool scanTransactions(const QVector<QString> &txids);
//! refreshes the wallet
Q_INVOKABLE bool refresh(bool historyAndSubaddresses = true);