Skip to content

fix: guard milestone dispute status transitions - #734

Merged
gboigwe merged 1 commit into
ThinkLikeAFounder:mainfrom
maixuancanh:fix/milestone-dispute-status-guard
Jul 27, 2026
Merged

fix: guard milestone dispute status transitions#734
gboigwe merged 1 commit into
ThinkLikeAFounder:mainfrom
maixuancanh:fix/milestone-dispute-status-guard

Conversation

@maixuancanh

@maixuancanh maixuancanh commented Jul 27, 2026

Copy link
Copy Markdown

Summary

  • allow milestones to enter dispute only from Pending or InProgress
  • reject disputes for achieved, missed, and already disputed milestones
  • update the existing dispute flow tests and add regression coverage for each guarded status

Testing

  • cargo test -p pulsar-milestone-tracker (20 passed)
  • cargo fmt -p pulsar-milestone-tracker -- --check
  • cargo clippy -p pulsar-milestone-tracker --all-targets
  • cargo build -p pulsar-milestone-tracker --release --target wasm32-unknown-unknown
  • cargo build --workspace

CI context

The two failing repository-wide checks are also failing on main in run 30295342591:

  • Frontend CI reports the same existing lint backlog (68 errors and 20 warnings).
  • Contracts CI resolves ed25519-dalek 3.0.0 for soroban-env-host 22.1.3 and fails on their incompatible CryptoRng traits before compiling workspace tests.

With ed25519-dalek resolved to 2.2.0 locally, cargo test --workspace proceeds past that dependency and reaches separate pre-existing compile errors in contracts/publisher-verification/src/test.rs. The focused milestone-tracker suite passes in full.

Closes #710

@drips-wave

drips-wave Bot commented Jul 27, 2026

Copy link
Copy Markdown

@maixuancanh Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@gboigwe
gboigwe merged commit 034efb3 into ThinkLikeAFounder:main Jul 27, 2026
2 of 4 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] milestone-tracker: dispute_milestone has no status guard — Achieved and Missed milestones can be re-disputed

2 participants