diff options
author | Antoine Riard <ariard@student.42.fr> | 2019-06-24 19:07:09 -0400 |
---|---|---|
committer | Antoine Riard <ariard@student.42.fr> | 2019-11-06 13:36:43 -0500 |
commit | f77b1de16feee097a88e99d2ecdd4d84beb4f915 (patch) | |
tree | 076310e189e2299c765cd3aa942bbc9c3125628a /src/interfaces/chain.h | |
parent | 769ff05e48fb53d4b62c59060424a0fea71d0aab (diff) |
Only return early from BlockUntilSyncedToCurrentChain if current tip
is exact match
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.
Diffstat (limited to 'src/interfaces/chain.h')
-rw-r--r-- | src/interfaces/chain.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index 4cb2aba2c9..e07ec1b371 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -236,9 +236,8 @@ public: virtual std::unique_ptr<Handler> handleNotifications(Notifications& notifications) = 0; //! Wait for pending notifications to be processed unless block hash points to the current - //! chain tip, or to a possible descendant of the current chain tip that isn't currently - //! connected. - virtual void waitForNotificationsIfNewBlocksConnected(const uint256& old_tip) = 0; + //! chain tip. + virtual void waitForNotificationsIfTipChanged(const uint256& old_tip) = 0; //! Register handler for RPC. Command is not copied, so reference //! needs to remain valid until Handler is disconnected. |