@@ -71,16 +71,19 @@ impl_writeable_tlv_based!(BestBlock, {
71
71
/// when needed.
72
72
///
73
73
/// By using [`Listen::filtered_block_connected`] this interface supports clients fetching the
74
- /// entire block chain and only blocks with matching transaction data using BIP 157 filters or
74
+ /// entire header chain and only blocks with matching transaction data using BIP 157 filters or
75
75
/// other similar filtering.
76
76
///
77
- /// Each block must be connected in chain order with one (or more, if using the [`Filter`]
78
- /// interface and a registration occurred during the block processing) call to either
79
- /// [`Listen::block_connected`] or [`Listen::filtered_block_connected`] for each block.
77
+ /// Each block must be connected in chain order with one call to either
78
+ /// [`Listen::block_connected`] or [`Listen::filtered_block_connected`]. If a call to the
79
+ /// [`Filter`] interface was made during block processing and further transaction(s) from the same
80
+ /// block now match the filter, a second call to [`Listen::filtered_block_connected`] should be
81
+ /// made immediately for the same block (prior to any other calls to the [`Listen`] interface).
80
82
///
81
- /// In case of a reorg, you must call [`Listen::blocks_disconnected`] once (or more, in
82
- /// reverse-chain order) with information on the "fork point" block, i.e. the highest block which
83
- /// is in both forks.
83
+ /// In case of a reorg, you must call [`Listen::blocks_disconnected`] once with information on the
84
+ /// "fork point" block, i.e. the highest block that is in both forks. For backwards compatibility,
85
+ /// you may instead walk the chain backwards, calling `blocks_disconnected` for each block which is
86
+ /// disconnected in a reorg.
84
87
///
85
88
/// Note that most implementations take a [`BestBlock`] on construction and blocks only need to be
86
89
/// applied starting from that point.
0 commit comments