Add per-milestone claim allowing incremental release of verified milestones in accountability_vault
Description
claim in contracts/accountability_vault/src/lib.rs only releases funds when all milestones are verified. Add claim_milestone(index) that releases that milestone's amount to success_destination as soon as it is verified, tracking released milestones to prevent double-claims. The vault transitions to Completed only after the last milestone is claimed.
Requirements and context
- Must be secure, tested, and documented
- Should be efficient and easy to review
- Add
claim_milestone with per-milestone released tracking in contracts/accountability_vault/src/lib.rs
- Prevent double-claiming the same milestone
- Transition to
Completed only when all milestones are released
- Add incremental-claim tests in
contracts/accountability_vault/src/test.rs
Suggested execution
- Fork the repo and create a branch
git checkout -b feat/per-milestone-claim
- Implement changes
- Modify
contracts/accountability_vault/src/lib.rs
- Add tests in
contracts/accountability_vault/src/test.rs
- Document incremental release in
contracts/README.md
- Add double-claim guards
- Test and commit
- Run tests, cover edge cases
- Include test output and notes
Example commit message
feat: add incremental per-milestone claim
Guidelines
- Minimum 95 percent test coverage
- Clear documentation
- Timeframe: 96 hours
Add per-milestone claim allowing incremental release of verified milestones in accountability_vault
Description
claimincontracts/accountability_vault/src/lib.rsonly releases funds when all milestones are verified. Addclaim_milestone(index)that releases that milestone'samounttosuccess_destinationas soon as it is verified, tracking released milestones to prevent double-claims. The vault transitions toCompletedonly after the last milestone is claimed.Requirements and context
claim_milestonewith per-milestone released tracking incontracts/accountability_vault/src/lib.rsCompletedonly when all milestones are releasedcontracts/accountability_vault/src/test.rsSuggested execution
git checkout -b feat/per-milestone-claimcontracts/accountability_vault/src/lib.rscontracts/accountability_vault/src/test.rscontracts/README.mdExample commit message
feat: add incremental per-milestone claimGuidelines