diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 19 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.h | 2 |
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(); |
