Description
This is a smart-contract issue for the GrantFox campaign. Critical actions (pause, upgrade, sweep) must propose first and execute only after a 48h timelock window.
Requirements and Context
- propose/execute pair per action
- Window from env
- Cancellable by admin
- Test wall-clock manipulation
- Must be secure, tested, and documented
- Should be efficient and easy to review
Suggested Execution
- Fork the repo and create a branch
git checkout -b feature/admin-timelock
- Implement changes
contracts/vault/src/timelock.rs (new)
contracts/settlement/src/timelock.rs (new)
contracts/vault/src/test.rs
- Test and commit
- Run the repo's standard test suite and lint
- Cover edge cases; include output in the PR
Example commit message
feat: 48h timelock for critical admin actions
Acceptance Criteria
Guidelines
- Minimum 95% test coverage with
cargo test
require_auth on every state-changing entrypoint
- Overflow-safe math; no
unwrap() in production paths
- Clear NatSpec-style
/// rustdoc
- Timeframe: 96 hours
Description
This is a smart-contract issue for the GrantFox campaign. Critical actions (pause, upgrade, sweep) must propose first and execute only after a 48h timelock window.
Requirements and Context
Suggested Execution
contracts/vault/src/timelock.rs (new)contracts/settlement/src/timelock.rs (new)contracts/vault/src/test.rsExample commit message
Acceptance Criteria
Guidelines
cargo testrequire_authon every state-changing entrypointunwrap()in production paths///rustdoc