aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJaquee <jaquee.monero@gmail.com>2017-01-13 23:43:34 +0100
committerJaquee <jaquee.monero@gmail.com>2017-01-15 12:32:45 +0100
commitae5c21ef17b5585e1c90423a9f45b62b3b678f46 (patch)
tree620c481c47e094d34990fe1c210f1fd0b2fa6f90 /src
parent24ccd27d790a45576d93d39ad2839eae320ac791 (diff)
downloadmonzero-gui-ae5c21ef17b5585e1c90423a9f45b62b3b678f46.tar.gz
monzero-gui-ae5c21ef17b5585e1c90423a9f45b62b3b678f46.tar.xz
monzero-gui-ae5c21ef17b5585e1c90423a9f45b62b3b678f46.zip
export/import key images when cold signing
Diffstat (limited to 'src')
-rw-r--r--src/libwalletqt/UnsignedTransaction.cpp9
-rw-r--r--src/libwalletqt/UnsignedTransaction.h3
-rw-r--r--src/libwalletqt/Wallet.cpp7
3 files changed, 13 insertions, 6 deletions
diff --git a/src/libwalletqt/UnsignedTransaction.cpp b/src/libwalletqt/UnsignedTransaction.cpp
index a1c472f2..47dca57b 100644
--- a/src/libwalletqt/UnsignedTransaction.cpp
+++ b/src/libwalletqt/UnsignedTransaction.cpp
@@ -69,7 +69,10 @@ QStringList UnsignedTransaction::recipientAddress() const
bool UnsignedTransaction::sign(const QString &fileName) const
{
- return m_pimpl->sign(fileName.toStdString());
+ if(!m_pimpl->sign(fileName.toStdString()))
+ return false;
+ // export key images
+ return m_walletImpl->exportKeyImages(fileName.toStdString() + "_keyImages");
}
void UnsignedTransaction::setFilename(const QString &fileName)
@@ -77,8 +80,8 @@ void UnsignedTransaction::setFilename(const QString &fileName)
m_fileName = fileName;
}
-UnsignedTransaction::UnsignedTransaction(Monero::UnsignedTransaction *pt, QObject *parent)
- : QObject(parent), m_pimpl(pt)
+UnsignedTransaction::UnsignedTransaction(Monero::UnsignedTransaction *pt, Monero::Wallet *walletImpl, QObject *parent)
+ : QObject(parent), m_pimpl(pt), m_walletImpl(walletImpl)
{
}
diff --git a/src/libwalletqt/UnsignedTransaction.h b/src/libwalletqt/UnsignedTransaction.h
index 49391e45..749445a2 100644
--- a/src/libwalletqt/UnsignedTransaction.h
+++ b/src/libwalletqt/UnsignedTransaction.h
@@ -47,12 +47,13 @@ public:
Q_INVOKABLE void setFilename(const QString &fileName);
private:
- explicit UnsignedTransaction(Monero::UnsignedTransaction * pt, QObject *parent = 0);
+ explicit UnsignedTransaction(Monero::UnsignedTransaction * pt, Monero::Wallet *walletImpl, QObject *parent = 0);
~UnsignedTransaction();
private:
friend class Wallet;
Monero::UnsignedTransaction * m_pimpl;
QString m_fileName;
+ Monero::Wallet * m_walletImpl;
};
#endif // UNSIGNEDTRANSACTION_H
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index f8c6bb1d..6147e1cb 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -327,14 +327,17 @@ UnsignedTransaction * Wallet::loadTxFile(const QString &fileName)
{
qDebug() << "Trying to sign " << fileName;
Monero::UnsignedTransaction * ptImpl = m_walletImpl->loadUnsignedTx(fileName.toStdString());
- UnsignedTransaction * result = new UnsignedTransaction(ptImpl, this);
+ UnsignedTransaction * result = new UnsignedTransaction(ptImpl, m_walletImpl, this);
return result;
}
bool Wallet::submitTxFile(const QString &fileName) const
{
qDebug() << "Trying to submit " << fileName;
- return m_walletImpl->submitTransaction(fileName.toStdString());
+ if (!m_walletImpl->submitTransaction(fileName.toStdString()))
+ return false;
+ // import key images
+ return m_walletImpl->importKeyImages(fileName.toStdString() + "_keyImages");
}
void Wallet::disposeTransaction(PendingTransaction *t)