Skip to content

Remove mempool conflicts for every applied transaction - #2526

Open
a-shannon wants to merge 1 commit into
ergoplatform:masterfrom
a-shannon:fix/mempool-applied-conflicts
Open

Remove mempool conflicts for every applied transaction#2526
a-shannon wants to merge 1 commit into
ergoplatform:masterfrom
a-shannon:fix/mempool-applied-conflicts

Conversation

@a-shannon

@a-shannon a-shannon commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Block application now removes input conflicts even when the applied transaction was never in the local mempool. Previously, the batch cleanup skipped such a transaction entirely. The helper preserves removal statistics when the applied transaction itself is absent.

Validation: JDK 8, Scala 2.12.20; 46 tests pass across five mempool suites. Five direct cases cover absent winners, unchanged statistics without conflicts, multiple inputs, repeated cleanup, index contents and retaining an unconfirmed child of a confirmed parent. Four cases fail against the original implementation. Independent source and test review completed.

This corrects immediate input-conflict cleanup. Asynchronous revalidation remains responsible for subsequent invalid-descendant cleanup. The lifecycle correction in #2517 has a separate invariant; combined runtime validation remains pending if they are integrated together.

All eight checks pass on the current head: CI results.

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