aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2022-03-02 19:03:14 -0500
committerluigi1111 <luigi1111w@gmail.com>2022-03-02 19:03:14 -0500
commit1610b93975c26cdc7cf686abdb3f4e12cf5579f8 (patch)
tree348f8636b459d98a874134800bcb8f781beb68ae /src
parent8ece450f18446f22f595bd789513d6d4123ceaf4 (diff)
parent2bf0dd840f907b406271863540c8efe002b2cdc3 (diff)
downloadmonzero-gui-1610b93975c26cdc7cf686abdb3f4e12cf5579f8.tar.gz
monzero-gui-1610b93975c26cdc7cf686abdb3f4e12cf5579f8.tar.xz
monzero-gui-1610b93975c26cdc7cf686abdb3f4e12cf5579f8.zip
Merge pull request #3828
2bf0dd8 Advanced: ReserveProof: Resolve review by selsta (reemuru) 0f67580 Advanced: ReserveProof: Add support for reserve proof (reemuru)
Diffstat (limited to 'src')
-rw-r--r--src/libwalletqt/Wallet.cpp19
-rw-r--r--src/libwalletqt/Wallet.h2
2 files changed, 21 insertions, 0 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index e19a810c..6c22c91a 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -844,6 +844,25 @@ Q_INVOKABLE QString Wallet::checkSpendProof(const QString &txid, const QString &
return QString::fromStdString(result);
}
+Q_INVOKABLE QString Wallet::getReserveProof(bool all, quint32 account_index, quint64 amount, const QString &message) const
+{
+ qDebug("Generating reserve proof");
+ std::string result = m_walletImpl->getReserveProof(all, account_index, amount, message.toStdString());
+ if (result.empty())
+ result = "error|" + m_walletImpl->errorString();
+ return QString::fromStdString(result);
+}
+
+Q_INVOKABLE QString Wallet::checkReserveProof(const QString &address, const QString &message, const QString &signature) const
+{
+ bool good;
+ u_int64_t total;
+ u_int64_t spent;
+ bool success = m_walletImpl->checkReserveProof(address.toStdString(), message.toStdString(), signature.toStdString(), good, total, spent);
+ std::string result = std::string(success ? "true" : "false") + "|" + std::string(good ? "true" : "false") + "|" + QString::number(total).toStdString() + "|" + QString::number(spent).toStdString();
+ return QString::fromStdString(result);
+}
+
QString Wallet::signMessage(const QString &message, bool filename) const
{
if (filename) {
diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h
index 9b5bdd46..a81b4555 100644
--- a/src/libwalletqt/Wallet.h
+++ b/src/libwalletqt/Wallet.h
@@ -318,6 +318,8 @@ public:
Q_INVOKABLE QString getSpendProof(const QString &txid, const QString &message) const;
Q_INVOKABLE void getSpendProofAsync(const QString &txid, const QString &message, const QJSValue &callback);
Q_INVOKABLE QString checkSpendProof(const QString &txid, const QString &message, const QString &signature) const;
+ Q_INVOKABLE QString getReserveProof(bool all, quint32 account_index, quint64 amount, const QString &message) const;
+ Q_INVOKABLE QString checkReserveProof(const QString &address, const QString &message, const QString &signature) const;
// Rescan spent outputs
Q_INVOKABLE bool rescanSpent();