2016-02-23 17:59:26 +02:00
|
|
|
#include "Wallet.h"
|
2016-06-08 13:53:24 +03:00
|
|
|
#include "PendingTransaction.h"
|
|
|
|
#include "TransactionHistory.h"
|
2016-06-07 16:26:25 +03:00
|
|
|
#include "wallet/wallet2_api.h"
|
|
|
|
|
2016-02-29 16:39:39 +02:00
|
|
|
#include <QFile>
|
|
|
|
#include <QDir>
|
|
|
|
#include <QDebug>
|
|
|
|
#include <QUrl>
|
|
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
QString Wallet::getSeed() const
|
2016-02-29 16:39:39 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
return QString::fromStdString(m_walletImpl->seed());
|
2016-02-29 16:39:39 +02:00
|
|
|
}
|
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
QString Wallet::getSeedLanguage() const
|
2016-02-29 16:39:39 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
return QString::fromStdString(m_walletImpl->getSeedLanguage());
|
2016-02-29 16:39:39 +02:00
|
|
|
}
|
|
|
|
|
2016-06-08 13:53:24 +03:00
|
|
|
void Wallet::setSeedLanguage(const QString &lang)
|
2016-02-24 12:25:20 +02:00
|
|
|
{
|
2016-06-08 13:53:24 +03:00
|
|
|
m_walletImpl->setSeedLanguage(lang.toStdString());
|
|
|
|
}
|
|
|
|
|
|
|
|
Wallet::Status Wallet::status() const
|
|
|
|
{
|
|
|
|
return static_cast<Status>(m_walletImpl->status());
|
2016-02-24 12:25:20 +02:00
|
|
|
}
|
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
QString Wallet::errorString() const
|
2016-02-24 12:25:20 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
return QString::fromStdString(m_walletImpl->errorString());
|
2016-02-24 12:25:20 +02:00
|
|
|
}
|
|
|
|
|
2016-02-29 16:39:39 +02:00
|
|
|
bool Wallet::setPassword(const QString &password)
|
2016-02-24 12:25:20 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
return m_walletImpl->setPassword(password.toStdString());
|
2016-02-23 17:59:26 +02:00
|
|
|
}
|
2016-02-29 16:39:39 +02:00
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
QString Wallet::address() const
|
2016-02-29 16:39:39 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
return QString::fromStdString(m_walletImpl->address());
|
2016-02-29 16:39:39 +02:00
|
|
|
}
|
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
bool Wallet::store(const QString &path)
|
2016-02-29 16:39:39 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
return m_walletImpl->store(path.toStdString());
|
2016-02-29 16:39:39 +02:00
|
|
|
}
|
|
|
|
|
2016-06-08 13:53:24 +03:00
|
|
|
bool Wallet::init(const QString &daemonAddress, quint64 upperTransactionLimit)
|
|
|
|
{
|
|
|
|
return m_walletImpl->init(daemonAddress.toStdString(), upperTransactionLimit);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Wallet::connectToDaemon()
|
|
|
|
{
|
|
|
|
return m_walletImpl->connectToDaemon();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Wallet::setTrustedDaemon(bool arg)
|
|
|
|
{
|
|
|
|
m_walletImpl->setTrustedDaemon(arg);
|
|
|
|
}
|
|
|
|
|
|
|
|
quint64 Wallet::balance() const
|
|
|
|
{
|
|
|
|
return m_walletImpl->balance();
|
|
|
|
}
|
|
|
|
|
|
|
|
quint64 Wallet::unlockedBalance() const
|
|
|
|
{
|
|
|
|
return m_walletImpl->unlockedBalance();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Wallet::refresh()
|
|
|
|
{
|
|
|
|
return m_walletImpl->refresh();
|
|
|
|
}
|
|
|
|
|
|
|
|
PendingTransaction *Wallet::createTransaction(const QString &dst_addr, quint64 amount)
|
|
|
|
{
|
|
|
|
Bitmonero::PendingTransaction * ptImpl = m_walletImpl->createTransaction(
|
|
|
|
dst_addr.toStdString(), amount);
|
|
|
|
PendingTransaction * result = new PendingTransaction(ptImpl, this);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Wallet::disposeTransaction(PendingTransaction *t)
|
|
|
|
{
|
|
|
|
m_walletImpl->disposeTransaction(t->m_pimpl);
|
|
|
|
delete t;
|
|
|
|
}
|
|
|
|
|
|
|
|
TransactionHistory *Wallet::history()
|
|
|
|
{
|
|
|
|
if (!m_history) {
|
|
|
|
Bitmonero::TransactionHistory * impl = m_walletImpl->history();
|
|
|
|
m_history = new TransactionHistory(impl, this);
|
|
|
|
}
|
|
|
|
return m_history;
|
|
|
|
}
|
|
|
|
|
2016-02-29 16:39:39 +02:00
|
|
|
|
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
Wallet::Wallet(Bitmonero::Wallet *w, QObject *parent)
|
2016-06-08 13:53:24 +03:00
|
|
|
: QObject(parent), m_walletImpl(w), m_history(nullptr)
|
2016-02-29 16:39:39 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
|
2016-02-29 16:39:39 +02:00
|
|
|
}
|
|
|
|
|
2016-06-07 16:26:25 +03:00
|
|
|
Wallet::~Wallet()
|
2016-02-29 16:39:39 +02:00
|
|
|
{
|
2016-06-07 16:26:25 +03:00
|
|
|
Bitmonero::WalletManagerFactory::getWalletManager()->closeWallet(m_walletImpl);
|
2016-02-29 16:39:39 +02:00
|
|
|
}
|