Skip to content

fix: block finalize while paused - #55

Merged
collinsezedike merged 2 commits into
mainfrom
fix/pause-blocks-finalize
Jul 30, 2026
Merged

fix: block finalize while paused#55
collinsezedike merged 2 commits into
mainfrom
fix/pause-blocks-finalize

Conversation

@collinsezedike

Copy link
Copy Markdown
Collaborator

Summary

Resolves #36 by choosing the symmetric fix: finalize is now blocked while paused, alongside assert_outcome, dispute, and resolve. Previously a pending assertion could finalize uncontested even if its entire challenge window overlapped a pause, during which dispute was blocked, so it had no real opportunity to be challenged.

The alternative (extending the challenge window deadline by the pause duration) is the more precise fix but adds real state-tracking complexity. Deliberately deferred to a later version; noted in ARCHITECTURE.md so it isn't lost.

Updated: set_paused/finalize doc comments, ARCHITECTURE.md, CONTRACT.md, DEPLOYMENT.md, GLOSSARY.md, INTEGRATION.md, CHANGELOG.md. Renamed the two tests whose names or premise described the old behavior, and regenerated their snapshots.

Test plan

  • cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, and cargo test --workspace pass locally (67 tests)
  • CONTRACT.md updated (interface behavior changed: finalize now fails with Paused)
  • scripts/testnet-smoke.sh not run; this only changes pause-interaction behavior, not the core assert/dispute/resolve flow it exercises
  • Manually verified: no other test or doc reference to the old "finalize is pause-exempt" behavior remains anywhere in the repo

@collinsezedike
collinsezedike merged commit 400ba0e into main Jul 30, 2026
2 checks passed
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.

[Bug] Pausing through a challenge window makes an assertion uncontestable

1 participant