mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 10:43:19 -03:00
Optimize GetOldestKeyPoolTime(), return as soon as we have both oldest keys
This commit is contained in:
parent
771a304ffe
commit
ed79e4f497
1 changed files with 9 additions and 3 deletions
|
@ -3069,12 +3069,18 @@ int64_t CWallet::GetOldestKeyPoolTime()
|
||||||
|
|
||||||
for(const int64_t& id : setKeyPool)
|
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");
|
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;
|
oldest_internal = keypool.nTime;
|
||||||
else if (!keypool.fInternal && keypool.nTime < oldest_external)
|
}
|
||||||
|
else if (!keypool.fInternal && keypool.nTime < oldest_external) {
|
||||||
oldest_external = keypool.nTime;
|
oldest_external = keypool.nTime;
|
||||||
|
}
|
||||||
|
if (oldest_internal != now && oldest_external != now) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return std::max(oldest_internal, oldest_external);
|
return std::max(oldest_internal, oldest_external);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue