aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt
diff options
context:
space:
mode:
authorstoffu <stoffu@protonmail.ch>2017-09-12 17:42:00 +0900
committerstoffu <stoffu@protonmail.ch>2017-11-20 14:34:48 +0900
commitd79fe0f457abb80fb8ece4d4256624ab774ea48a (patch)
tree3d8a9d5836a5bae8ea621d6feb9ff1b4e9f1c140 /src/libwalletqt
parentda020fd0be91fcc32dad8d06d805d701752b34ae (diff)
downloadmonzero-gui-d79fe0f457abb80fb8ece4d4256624ab774ea48a.tar.gz
monzero-gui-d79fe0f457abb80fb8ece4d4256624ab774ea48a.tar.xz
monzero-gui-d79fe0f457abb80fb8ece4d4256624ab774ea48a.zip
Tx proof
Diffstat (limited to 'src/libwalletqt')
-rw-r--r--src/libwalletqt/Wallet.cpp30
-rw-r--r--src/libwalletqt/Wallet.h3
-rw-r--r--src/libwalletqt/WalletManager.cpp10
-rw-r--r--src/libwalletqt/WalletManager.h2
4 files changed, 33 insertions, 12 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index e5ffef82..38702e23 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -494,6 +494,36 @@ QString Wallet::getTxKey(const QString &txid) const
return QString::fromStdString(m_walletImpl->getTxKey(txid.toStdString()));
}
+QString Wallet::checkTxKey(const QString &txid, const QString &tx_key, const QString &address)
+{
+ uint64_t received;
+ bool in_pool;
+ uint64_t confirmations;
+ bool success = m_walletImpl->checkTxKey(txid.toStdString(), tx_key.toStdString(), address.toStdString(), received, in_pool, confirmations);
+ std::string result = std::string(success ? "true" : "false") + "|" + QString::number(received).toStdString() + "|" + std::string(in_pool ? "true" : "false") + "|" + QString::number(confirmations).toStdString();
+ return QString::fromStdString(result);
+}
+
+QString Wallet::getTxProof(const QString &txid, const QString &address, const QString &message) const
+{
+ std::string error_str;
+ QString result = QString::fromStdString(m_walletImpl->getTxProof(txid.toStdString(), address.toStdString(), message.toStdString(), error_str));
+ if (!error_str.empty())
+ result = QString::fromStdString("error|" + error_str);
+ return result;
+}
+
+QString Wallet::checkTxProof(const QString &txid, const QString &address, const QString &message, const QString &signature)
+{
+ bool good;
+ uint64_t received;
+ bool in_pool;
+ uint64_t confirmations;
+ bool success = m_walletImpl->checkTxProof(txid.toStdString(), address.toStdString(), message.toStdString(), signature.toStdString(), good, received, in_pool, confirmations);
+ std::string result = std::string(success ? "true" : "false") + "|" + std::string(good ? "true" : "false") + "|" + QString::number(received).toStdString() + "|" + std::string(in_pool ? "true" : "false") + "|" + QString::number(confirmations).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 adc7d338..c653b8df 100644
--- a/src/libwalletqt/Wallet.h
+++ b/src/libwalletqt/Wallet.h
@@ -232,6 +232,9 @@ public:
Q_INVOKABLE bool setUserNote(const QString &txid, const QString &note);
Q_INVOKABLE QString getUserNote(const QString &txid) const;
Q_INVOKABLE QString getTxKey(const QString &txid) const;
+ Q_INVOKABLE QString checkTxKey(const QString &txid, const QString &tx_key, const QString &address);
+ Q_INVOKABLE QString getTxProof(const QString &txid, const QString &address, const QString &message) const;
+ Q_INVOKABLE QString checkTxProof(const QString &txid, const QString &address, const QString &message, const QString &signature);
// Rescan spent outputs
Q_INVOKABLE bool rescanSpent();
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index a8346478..3d9501ce 100644
--- a/src/libwalletqt/WalletManager.cpp
+++ b/src/libwalletqt/WalletManager.cpp
@@ -216,16 +216,6 @@ QString WalletManager::paymentIdFromAddress(const QString &address, bool testnet
return QString::fromStdString(Monero::Wallet::paymentIdFromAddress(address.toStdString(), testnet));
}
-QString WalletManager::checkPayment(const QString &address, const QString &txid, const QString &txkey, const QString &daemon_address) const
-{
- uint64_t received = 0, height = 0;
- std::string error = "";
- bool ret = m_pimpl->checkPayment(address.toStdString(), txid.toStdString(), txkey.toStdString(), daemon_address.toStdString(), received, height, error);
- // bypass qml being unable to pass structures without preposterous complexity
- std::string result = std::string(ret ? "true" : "false") + "|" + QString::number(received).toStdString() + "|" + QString::number(height).toStdString() + "|" + error;
- return QString::fromStdString(result);
-}
-
void WalletManager::setDaemonAddress(const QString &address)
{
m_pimpl->setDaemonAddress(address.toStdString());
diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h
index 69c63b05..4598e07a 100644
--- a/src/libwalletqt/WalletManager.h
+++ b/src/libwalletqt/WalletManager.h
@@ -104,8 +104,6 @@ public:
Q_INVOKABLE QString paymentIdFromAddress(const QString &address, bool testnet) const;
- Q_INVOKABLE QString checkPayment(const QString &address, const QString &txid, const QString &txkey, const QString &daemon_address) const;
-
Q_INVOKABLE void setDaemonAddress(const QString &address);
Q_INVOKABLE bool connected() const;
Q_INVOKABLE quint64 networkDifficulty() const;