Description
This is a smart-contract issue for the GrantFox campaign. Add a Kani proof harness asserting that transfer preserves total supply and respects authorization.
Requirements and Context
- Kani harness file
- CI workflow runs Kani on PRs
- Proof passes
- Doc explains harness
- 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 task/kani-transfer
- Implement changes
contracts/vault/proofs/transfer.rs (new)
.github/workflows/kani.yml (new)
docs/formal-verification.md (new)
- Test and commit
- Run the repo's standard test suite and lint
- Cover edge cases; include output in the PR
Example commit message
test: Kani proof harness for vault.transfer
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. Add a Kani proof harness asserting that transfer preserves total supply and respects authorization.
Requirements and Context
Suggested Execution
contracts/vault/proofs/transfer.rs (new).github/workflows/kani.yml (new)docs/formal-verification.md (new)Example commit message
Acceptance Criteria
Guidelines
cargo testrequire_authon every state-changing entrypointunwrap()in production paths///rustdoc