Skip to content

fix: rebroadcast txs recovered from reorg cache#3900

Open
iho wants to merge 1 commit into
mimblewimble:stagingfrom
iho:fix/reorg-cache-rebroadcast
Open

fix: rebroadcast txs recovered from reorg cache#3900
iho wants to merge 1 commit into
mimblewimble:stagingfrom
iho:fix/reorg-cache-rebroadcast

Conversation

@iho

@iho iho commented Jul 9, 2026

Copy link
Copy Markdown

Summary

On reorg, the reorg cache correctly re-adds previously seen txs to the local mempool, but it never rebroadcast them. Peers that did not keep those txs (or never saw them) would not learn about them until someone else re-announced.

As noted on #3489 by @antiochp: every tx successfully re-accepted from the reorg cache should also be treated as new and rebroadcast.

Closes #3489

Changes

  • reconcile_reorg_cache: call adapter.tx_accepted after a successful add_to_txpool
  • Skip rebroadcast when re-add fails (already in pool / invalid on new tip)
  • Integration test with a recording pool adapter

Retention period remains configurable via reorg_cache_period (default 30 minutes). This PR focuses on the missing rebroadcast path rather than changing the default window.

Test plan

  • cargo test -p grin_pool --test reorg_cache_rebroadcast

After a reorg we re-applied cached transactions to the local mempool but
never announced them to peers, so recovered txs could remain private to
the node. Call tx_accepted for each successfully re-accepted entry so
the network learns about them again.

Closes mimblewimble#3489
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant