From b3232dc26f98e2a6991d40bf5311dfd49abdf9de Mon Sep 17 00:00:00 2001 From: Jaquee Date: Thu, 26 Jan 2017 21:49:32 +0100 Subject: WalletManager: restore from keys --- src/libwalletqt/WalletManager.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/libwalletqt/WalletManager.cpp') diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 45aff22e..1db216cf 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -86,6 +86,22 @@ Wallet *WalletManager::recoveryWallet(const QString &path, const QString &memo, return m_currentWallet; } +Wallet *WalletManager::createWalletFromKeys(const QString &path, const QString &language, bool testnet, + const QString &address, const QString &viewkey, const QString &spendkey, + quint64 restoreHeight) +{ + QMutexLocker locker(&m_mutex); + if (m_currentWallet) { + qDebug() << "Closing open m_currentWallet" << m_currentWallet; + delete m_currentWallet; + m_currentWallet = NULL; + } + Monero::Wallet * w = m_pimpl->createWalletFromKeys(path.toStdString(), language.toStdString(), testnet, restoreHeight, + address.toStdString(), viewkey.toStdString(), spendkey.toStdString()); + m_currentWallet = new Wallet(w); + return m_currentWallet; +} + QString WalletManager::closeWallet() { @@ -183,6 +199,16 @@ bool WalletManager::addressValid(const QString &address, bool testnet) const return Monero::Wallet::addressValid(address.toStdString(), testnet); } +bool WalletManager::keyValid(const QString &key, const QString &address, bool isViewKey, bool testnet) const +{ + std::string error; + if(!Monero::Wallet::keyValid(key.toStdString(), address.toStdString(), isViewKey, testnet, error)){ + qDebug() << QString::fromStdString(error); + return false; + } + return true; +} + QString WalletManager::paymentIdFromAddress(const QString &address, bool testnet) const { return QString::fromStdString(Monero::Wallet::paymentIdFromAddress(address.toStdString(), testnet)); -- cgit v1.2.3