Use CWallet::m_last_block_processed_height in GetDepthInMainChain

Avoid to lock chain to query state thanks to tracking last block
height in CWallet.
This commit is contained in:
Antoine Riard
2019-04-22 14:22:25 -04:00
parent f77b1de16f
commit 0ff03871ad
2 changed files with 10 additions and 2 deletions

View File

@@ -3936,9 +3936,11 @@ CKeyPool::CKeyPool(const CPubKey& vchPubKeyIn, bool internalIn)
int CWalletTx::GetDepthInMainChain(interfaces::Chain::Lock& locked_chain) const
{
assert(pwallet != nullptr);
AssertLockHeld(pwallet->cs_wallet);
if (isUnconfirmed() || isAbandoned()) return 0;
return locked_chain.getBlockDepth(m_confirm.hashBlock) * (isConflicted() ? -1 : 1);
return (pwallet->GetLastBlockHeight() - m_confirm.block_height + 1) * (isConflicted() ? -1 : 1);
}
int CWalletTx::GetBlocksToMaturity(interfaces::Chain::Lock& locked_chain) const