fix(handler): call discard_tx() on custom halt to reset warm slots#206
Merged
cdrappi merged 2 commits intoveridise-audit-feb-2026from Mar 6, 2026
Merged
fix(handler): call discard_tx() on custom halt to reset warm slots#206cdrappi merged 2 commits intoveridise-audit-feb-2026from
cdrappi merged 2 commits intoveridise-audit-feb-2026from
Conversation
Verify that transaction_id advances after a SeismicHaltReason halt, which proves discard_tx() is called and warm/cold slot tracking is properly reset between transactions.
The custom halt path in execution_result() returned early without calling discard_tx(), leaving transaction_id un-advanced and warm/cold slot tracking stale. A subsequent transaction reusing the same EVM context would see previously warmed slots as warm, undercharging gas. Add discard_tx() to the SeismicHaltReason halt path, matching the cleanup already performed in catch_error().
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-opening #200 with rebase merge (was accidentally squash-merged).
Summary
Fixes Veridise audit issue VER-842: slot warmness persisting across transactions.
The custom halt path in
execution_result()returned early without callingdiscard_tx(), sotransaction_idwas never advanced and warm/cold slot tracking carried over to subsequent transactions. This could cause undercharged gas for slots that should be cold.discard_tx()call to theSeismicHaltReasonhalt path, matching the cleanup incatch_error()transaction_idadvances after a custom haltTest plan