From becc74714b51e43fd71314701fba35bdab3af5a1 Mon Sep 17 00:00:00 2001 From: selsta Date: Tue, 20 Apr 2021 21:44:23 +0200 Subject: WalletManager: support kdf round in device wallet restore --- src/libwalletqt/WalletManager.cpp | 10 +++++----- src/libwalletqt/WalletManager.h | 6 ++++-- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 9876e1f3..0c87c8e2 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -169,7 +169,7 @@ Wallet *WalletManager::createWalletFromKeys(const QString &path, const QString & } Wallet *WalletManager::createWalletFromDevice(const QString &path, const QString &password, NetworkType::Type nettype, - const QString &deviceName, quint64 restoreHeight, const QString &subaddressLookahead) + const QString &deviceName, quint64 restoreHeight, const QString &subaddressLookahead, quint64 kdfRounds) { QMutexLocker locker(&m_mutex); WalletPassphraseListenerImpl tmpListener(this); @@ -187,7 +187,7 @@ Wallet *WalletManager::createWalletFromDevice(const QString &path, const QString m_currentWallet = NULL; } Monero::Wallet * w = m_pimpl->createWalletFromDevice(path.toStdString(), password.toStdString(), static_cast(nettype), - deviceName.toStdString(), restoreHeight, subaddressLookahead.toStdString(), 1, &tmpListener); + deviceName.toStdString(), restoreHeight, subaddressLookahead.toStdString(), kdfRounds, &tmpListener); w->setListener(nullptr); m_currentWallet = new Wallet(w); @@ -202,10 +202,10 @@ Wallet *WalletManager::createWalletFromDevice(const QString &path, const QString void WalletManager::createWalletFromDeviceAsync(const QString &path, const QString &password, NetworkType::Type nettype, - const QString &deviceName, quint64 restoreHeight, const QString &subaddressLookahead) + const QString &deviceName, quint64 restoreHeight, const QString &subaddressLookahead, quint64 kdfRounds) { - m_scheduler.run([this, path, password, nettype, deviceName, restoreHeight, subaddressLookahead] { - Wallet *wallet = createWalletFromDevice(path, password, nettype, deviceName, restoreHeight, subaddressLookahead); + m_scheduler.run([this, path, password, nettype, deviceName, restoreHeight, subaddressLookahead, kdfRounds] { + Wallet *wallet = createWalletFromDevice(path, password, nettype, deviceName, restoreHeight, subaddressLookahead, kdfRounds); emit walletCreated(wallet); }); } diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index 25c62faf..210004a9 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -103,14 +103,16 @@ public: NetworkType::Type nettype, const QString &deviceName, quint64 restoreHeight = 0, - const QString &subaddressLookahead = ""); + const QString &subaddressLookahead = "", + quint64 kdfRounds = 1); Q_INVOKABLE void createWalletFromDeviceAsync(const QString &path, const QString &password, NetworkType::Type nettype, const QString &deviceName, quint64 restoreHeight = 0, - const QString &subaddressLookahead = ""); + const QString &subaddressLookahead = "", + quint64 kdfRounds = 1); /*! * \brief closeWallet - closes current open wallet and frees memory * \return wallet address -- cgit v1.2.3