Partially addresses #14278.
Expands doc/zmq.md to document notification behavior that is implemented
in the source but not described anywhere in the docs:
rawtx / hashtx
- These topics re-publish transactions from disconnected blocks during a reorg
- They are suppressed for historical blocks connected to the assumeutxo
background validation chainstate (consistent with
rawblock/hashblock)
sequence (R removals)
- Clarify that
Rcovers all mempool removal reasons except block inclusion:EXPIRY,SIZELIMIT,REORG,CONFLICT,REPLACED(RBF) - Explicitly note that block-inclusion removals are not reported via
R; subscribers should userawblock/hashblockfor those
Reorg ordering
- Document the sequence of events during a reorg:
D(block disconnected) →R(evicted mempool txs) →C(block connected)
All behavior described here is derived directly from
src/zmq/zmqnotificationinterface.cpp and src/txmempool.cpp.