Page MenuHomePhabricator

[backport#15931 6/9] Only return early from BlockUntilSyncedToCurrentChain if current tip is exact match
ClosedPublic

Authored by majcosta on Sep 22 2020, 03:05.

Details

Summary

In the next commit, we start using BlockConnected/BlockDisconnected
callbacks to establish tx depth, rather than querying the chain
directly.

Currently, BlockUntilSyncedToCurrentChain will return early if
the best block processed by the wallet is a descendant of the node'tip.
That means that in the case of a re-org, it won't wait for the
BlockDisconnected callbacks that have been enqueued during the re-org
but have not yet been triggered in the wallet.

Change BlockUntilSyncedToCurrentChain to only return early if the
wallet's m_last_block_processed matches the tip exactly. This ensures
that there are no BlockDisconnected or BlockConnected callbacks
in-flight.


https://github.com/bitcoin/bitcoin/pull/15931/commits/f77b1de16feee097a88e99d2ecdd4d84beb4f915

Depends on D7510

Partial backport of Core PR15931

Test Plan
ninja check check-functional

Event Timeline

[Bot Message]
One or more PR numbers were detected in the summary.
Links to those PRs have been inserted into the summary for reference.

This revision is now accepted and ready to land.Sep 22 2020, 06:17