From c840e2b664dc03e4f06e401082891807a8fed4b3 Mon Sep 17 00:00:00 2001 From: stoffu Date: Fri, 6 Jul 2018 18:39:58 +0900 Subject: Allow adjusting number of rounds for the key derivation function --- src/libwalletqt/WalletManager.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/libwalletqt/WalletManager.cpp') diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 355527ad..eddc70ae 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -25,7 +25,7 @@ WalletManager *WalletManager::instance() } Wallet *WalletManager::createWallet(const QString &path, const QString &password, - const QString &language, NetworkType::Type nettype) + const QString &language, NetworkType::Type nettype, quint64 kdfRounds) { QMutexLocker locker(&m_mutex); if (m_currentWallet) { @@ -33,12 +33,12 @@ Wallet *WalletManager::createWallet(const QString &path, const QString &password delete m_currentWallet; } Monero::Wallet * w = m_pimpl->createWallet(path.toStdString(), password.toStdString(), - language.toStdString(), static_cast(nettype)); + language.toStdString(), static_cast(nettype), kdfRounds); m_currentWallet = new Wallet(w); return m_currentWallet; } -Wallet *WalletManager::openWallet(const QString &path, const QString &password, NetworkType::Type nettype) +Wallet *WalletManager::openWallet(const QString &path, const QString &password, NetworkType::Type nettype, quint64 kdfRounds) { QMutexLocker locker(&m_mutex); if (m_currentWallet) { @@ -48,7 +48,7 @@ Wallet *WalletManager::openWallet(const QString &path, const QString &password, qDebug("%s: opening wallet at %s, nettype = %d ", __PRETTY_FUNCTION__, qPrintable(path), nettype); - Monero::Wallet * w = m_pimpl->openWallet(path.toStdString(), password.toStdString(), static_cast(nettype)); + Monero::Wallet * w = m_pimpl->openWallet(path.toStdString(), password.toStdString(), static_cast(nettype), kdfRounds); qDebug("%s: opened wallet: %s, status: %d", __PRETTY_FUNCTION__, w->address(0, 0).c_str(), w->status()); m_currentWallet = new Wallet(w); @@ -60,10 +60,10 @@ Wallet *WalletManager::openWallet(const QString &path, const QString &password, return m_currentWallet; } -void WalletManager::openWalletAsync(const QString &path, const QString &password, NetworkType::Type nettype) +void WalletManager::openWalletAsync(const QString &path, const QString &password, NetworkType::Type nettype, quint64 kdfRounds) { QFuture future = QtConcurrent::run(this, &WalletManager::openWallet, - path, password, nettype); + path, password, nettype, kdfRounds); QFutureWatcher * watcher = new QFutureWatcher(); connect(watcher, &QFutureWatcher::finished, @@ -76,21 +76,21 @@ void WalletManager::openWalletAsync(const QString &path, const QString &password } -Wallet *WalletManager::recoveryWallet(const QString &path, const QString &memo, NetworkType::Type nettype, quint64 restoreHeight) +Wallet *WalletManager::recoveryWallet(const QString &path, const QString &memo, NetworkType::Type nettype, quint64 restoreHeight, quint64 kdfRounds) { QMutexLocker locker(&m_mutex); if (m_currentWallet) { qDebug() << "Closing open m_currentWallet" << m_currentWallet; delete m_currentWallet; } - Monero::Wallet * w = m_pimpl->recoveryWallet(path.toStdString(), memo.toStdString(), static_cast(nettype), restoreHeight); + Monero::Wallet * w = m_pimpl->recoveryWallet(path.toStdString(), "", memo.toStdString(), static_cast(nettype), restoreHeight, kdfRounds); m_currentWallet = new Wallet(w); return m_currentWallet; } Wallet *WalletManager::createWalletFromKeys(const QString &path, const QString &language, NetworkType::Type nettype, const QString &address, const QString &viewkey, const QString &spendkey, - quint64 restoreHeight) + quint64 restoreHeight, quint64 kdfRounds) { QMutexLocker locker(&m_mutex); if (m_currentWallet) { @@ -98,8 +98,8 @@ Wallet *WalletManager::createWalletFromKeys(const QString &path, const QString & delete m_currentWallet; m_currentWallet = NULL; } - Monero::Wallet * w = m_pimpl->createWalletFromKeys(path.toStdString(), language.toStdString(), static_cast(nettype), restoreHeight, - address.toStdString(), viewkey.toStdString(), spendkey.toStdString()); + Monero::Wallet * w = m_pimpl->createWalletFromKeys(path.toStdString(), "", language.toStdString(), static_cast(nettype), restoreHeight, + address.toStdString(), viewkey.toStdString(), spendkey.toStdString(), kdfRounds); m_currentWallet = new Wallet(w); return m_currentWallet; } -- cgit v1.2.3