Add admin/pause guardian role with emergency_pause to halt slash_on_miss and claim in accountability_vault
Description
The contract in contracts/accountability_vault/src/lib.rs has no circuit breaker; a dispute or bug cannot pause settlement. Add a guardian address set at create_vault time with emergency_pause/unpause functions that block slash_on_miss, claim, and withdraw while paused. This mirrors the admin dispute tools the backend exposes in src/routes/admin.ts.
Requirements and context
- Must be secure, tested, and documented
- Should be efficient and easy to review
- Add a guardian
Address and paused flag to Vault in contracts/accountability_vault/src/lib.rs
- Gate
slash_on_miss/claim/withdraw on !paused
- Require guardian auth for pause/unpause
- Add pause/unpause tests in
contracts/accountability_vault/src/test.rs
Suggested execution
- Fork the repo and create a branch
git checkout -b feat/emergency-pause
- Implement changes
- Modify
contracts/accountability_vault/src/lib.rs
- Add tests in
contracts/accountability_vault/src/test.rs
- Document the guardian role in
contracts/README.md
- Add auth checks for pause functions
- Test and commit
- Run tests, cover edge cases
- Include test output and notes
Example commit message
feat: add guardian-controlled emergency pause
Guidelines
- Minimum 95 percent test coverage
- Clear documentation
- Timeframe: 96 hours
Add admin/pause guardian role with emergency_pause to halt slash_on_miss and claim in accountability_vault
Description
The contract in
contracts/accountability_vault/src/lib.rshas no circuit breaker; a dispute or bug cannot pause settlement. Add a guardian address set atcreate_vaulttime withemergency_pause/unpausefunctions that blockslash_on_miss,claim, andwithdrawwhile paused. This mirrors the admin dispute tools the backend exposes insrc/routes/admin.ts.Requirements and context
Addressandpausedflag toVaultincontracts/accountability_vault/src/lib.rsslash_on_miss/claim/withdrawon!pausedcontracts/accountability_vault/src/test.rsSuggested execution
git checkout -b feat/emergency-pausecontracts/accountability_vault/src/lib.rscontracts/accountability_vault/src/test.rscontracts/README.mdExample commit message
feat: add guardian-controlled emergency pauseGuidelines