aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt/Wallet.cpp
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2017-01-15 14:58:47 -0500
committerRiccardo Spagni <ric@spagni.net>2017-01-15 14:58:47 -0500
commit98ca4f1a70051447c39d5f9161db2e1741fdceb9 (patch)
tree620c481c47e094d34990fe1c210f1fd0b2fa6f90 /src/libwalletqt/Wallet.cpp
parent7cbd61dae21fdf8a27081d28ebb130195d77ed69 (diff)
parentae5c21ef17b5585e1c90423a9f45b62b3b678f46 (diff)
downloadmonzero-gui-98ca4f1a70051447c39d5f9161db2e1741fdceb9.tar.gz
monzero-gui-98ca4f1a70051447c39d5f9161db2e1741fdceb9.tar.xz
monzero-gui-98ca4f1a70051447c39d5f9161db2e1741fdceb9.zip
Merge pull request #398
ae5c21e export/import key images when cold signing (Jaquee) 24ccd27 Add rescan spent button (Jaquee) 15c79df GUI cold signing (Jaquee) fd98395 view only wallets (Jaquee) 8f56e98 save wallet name in appwindow (Jaquee) 842e4df adjust button size dynamically (Jaquee)
Diffstat (limited to 'src/libwalletqt/Wallet.cpp')
-rw-r--r--src/libwalletqt/Wallet.cpp43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index 47f4a06a..6147e1cb 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -1,5 +1,6 @@
#include "Wallet.h"
#include "PendingTransaction.h"
+#include "UnsignedTransaction.h"
#include "TransactionHistory.h"
#include "AddressBook.h"
#include "model/TransactionHistoryModel.h"
@@ -158,6 +159,15 @@ void Wallet::initAsync(const QString &daemonAddress, quint64 upperTransactionLim
m_walletImpl->initAsync(daemonAddress.toStdString(), upperTransactionLimit);
}
+//! create a view only wallet
+bool Wallet::createViewOnly(const QString &path, const QString &password) const
+{
+ // Create path
+ QDir d = QFileInfo(path).absoluteDir();
+ d.mkpath(d.absolutePath());
+ return m_walletImpl->createWatchOnly(path.toStdString(),password.toStdString(),m_walletImpl->getSeedLanguage());
+}
+
bool Wallet::connectToDaemon()
{
return m_walletImpl->connectToDaemon();
@@ -168,6 +178,11 @@ void Wallet::setTrustedDaemon(bool arg)
m_walletImpl->setTrustedDaemon(arg);
}
+bool Wallet::viewOnly() const
+{
+ return m_walletImpl->watchOnly();
+}
+
quint64 Wallet::balance() const
{
return m_walletImpl->balance();
@@ -197,7 +212,6 @@ quint64 Wallet::daemonBlockChainHeight() const
quint64 Wallet::daemonBlockChainTargetHeight() const
{
-
if (m_daemonBlockChainTargetHeight == 0
|| m_daemonBlockChainTargetHeightTime.elapsed() / 1000 > m_daemonBlockChainTargetHeightTtl) {
m_daemonBlockChainTargetHeight = m_walletImpl->daemonBlockChainTargetHeight();
@@ -309,12 +323,34 @@ void Wallet::createSweepUnmixableTransactionAsync()
});
}
+UnsignedTransaction * Wallet::loadTxFile(const QString &fileName)
+{
+ qDebug() << "Trying to sign " << fileName;
+ Monero::UnsignedTransaction * ptImpl = m_walletImpl->loadUnsignedTx(fileName.toStdString());
+ UnsignedTransaction * result = new UnsignedTransaction(ptImpl, m_walletImpl, this);
+ return result;
+}
+
+bool Wallet::submitTxFile(const QString &fileName) const
+{
+ qDebug() << "Trying to submit " << fileName;
+ if (!m_walletImpl->submitTransaction(fileName.toStdString()))
+ return false;
+ // import key images
+ return m_walletImpl->importKeyImages(fileName.toStdString() + "_keyImages");
+}
+
void Wallet::disposeTransaction(PendingTransaction *t)
{
m_walletImpl->disposeTransaction(t->m_pimpl);
delete t;
}
+void Wallet::disposeTransaction(UnsignedTransaction *t)
+{
+ delete t;
+}
+
TransactionHistory *Wallet::history() const
{
return m_history;
@@ -474,6 +510,11 @@ bool Wallet::parse_uri(const QString &uri, QString &address, QString &payment_id
return res;
}
+bool Wallet::rescanSpent()
+{
+ return m_walletImpl->rescanSpent();
+}
+
Wallet::Wallet(Monero::Wallet *w, QObject *parent)
: QObject(parent)
, m_walletImpl(w)