diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 900af75f4f..fa9a13bebb 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -596,6 +596,7 @@ class CWallet final : public CCryptoKeyStore, private interfaces::Chain::Notific private: std::atomic fAbortRescan{false}; std::atomic fScanningWallet{false}; // controlled by WalletRescanReserver + std::atomic m_scanning_start{0}; std::mutex mutexScanning; friend class WalletRescanReserver; @@ -820,6 +821,7 @@ public: void AbortRescan() { fAbortRescan = true; } bool IsAbortingRescan() { return fAbortRescan; } bool IsScanning() { return fScanningWallet; } + int64_t ScanningDuration() const { return fScanningWallet ? GetTimeMillis() - m_scanning_start : 0; } /** * keystore implementation @@ -1241,6 +1243,7 @@ public: if (m_wallet->fScanningWallet) { return false; } + m_wallet->m_scanning_start = GetTimeMillis(); m_wallet->fScanningWallet = true; m_could_reserve = true; return true;