|
|
|
@ -3069,13 +3069,19 @@ int64_t CWallet::GetOldestKeyPoolTime()
@@ -3069,13 +3069,19 @@ int64_t CWallet::GetOldestKeyPoolTime()
|
|
|
|
|
|
|
|
|
|
for(const int64_t& id : setKeyPool) |
|
|
|
|
{ |
|
|
|
|
if (!walletdb.ReadPool(id, keypool)) |
|
|
|
|
if (!walletdb.ReadPool(id, keypool)) { |
|
|
|
|
throw std::runtime_error(std::string(__func__) + ": read failed"); |
|
|
|
|
if (keypool.fInternal && keypool.nTime < oldest_internal) |
|
|
|
|
} |
|
|
|
|
if (keypool.fInternal && keypool.nTime < oldest_internal) { |
|
|
|
|
oldest_internal = keypool.nTime; |
|
|
|
|
else if (!keypool.fInternal && keypool.nTime < oldest_external) |
|
|
|
|
} |
|
|
|
|
else if (!keypool.fInternal && keypool.nTime < oldest_external) { |
|
|
|
|
oldest_external = keypool.nTime; |
|
|
|
|
} |
|
|
|
|
if (oldest_internal != now && oldest_external != now) { |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return std::max(oldest_internal, oldest_external); |
|
|
|
|
} |
|
|
|
|
// load oldest key from keypool, get time and return
|
|
|
|
|