Skip to content

Feature/vault is paused view closes #244 - #283

Merged
greatest0fallt1me merged 5 commits into
CalloraOrg:mainfrom
ChukwuemekaP1:feature/vault-is-paused-view
Apr 23, 2026
Merged

Feature/vault is paused view closes #244#283
greatest0fallt1me merged 5 commits into
CalloraOrg:mainfrom
ChukwuemekaP1:feature/vault-is-paused-view

Conversation

@ChukwuemekaP1

Copy link
Copy Markdown
Contributor

Summary
Implement is_paused() view function in the Vault contract to expose pause state to off-chain indexers and monitoring systems.
Changes
Added comprehensive documentation to is_paused() view function
Added 8 new tests covering all state transitions and edge cases
Updated EVENT_SCHEMA.md, README.md, and SECURITY.md documentation
Validation
✅ All tests passing (176 tests)
✅ 95.86% code coverage (≥95% requirement met)
✅ Code formatted and lint-clean
✅ WASM build successful

closes #244

…zz test stability

- Add missing require_not_paused check to batch_deduct function
- Fix fuzz tests to handle paused state correctly for deduct and batch_deduct
- Cap deposit amounts in fuzz tests to prevent USDC balance overflow
- Increase deposit reserve to 10 trillion for large max_deduct scenarios
- Remove duplicate unused third_party variable in settlement tests
- All 227 tests now pass (157 vault, 47 settlement, 23 revenue_pool)
- Coverage maintained at 95.76% (≥95% requirement met)
- Zero clippy warnings across all contracts
- Add require_routing_configured() to enforce at least one routing address
- Update deduct() and batch_deduct() to validate routing before execution
- Add address validation to set_revenue_pool() and set_settlement()
- Prevent self-referential routing (vault cannot route to itself)
- Add comprehensive Rust documentation to routing setters
- Add 12 new routing configuration and behavior tests
- Update existing tests to include revenue_pool configuration
- Implement Option A safety: reject operations if routing unset
- Add routing priority tests (settlement > revenue_pool)
- Add edge case tests (same address for both roles, multiple updates)

Breaking change: deduct/batch_deduct now fail if no routing configured
- Add require_routing_configured() to enforce at least one routing address
- Update deduct() and batch_deduct() to validate routing before execution
- Add address validation to set_revenue_pool() and set_settlement()
- Prevent self-referential routing (vault cannot route to itself)
- Add comprehensive Rust documentation to routing setters
- Add 12 new routing configuration and behavior tests
- Update existing tests to include revenue_pool configuration
- Implement Option A safety: reject operations if routing unset
- Add routing priority tests (settlement > revenue_pool)
- Add edge case tests (same address for both roles, multiple updates)
- Update SECURITY.md with routing validation and safety requirements
- Update SETTLEMENT_IMPLEMENTATION.md with routing configuration docs
- Fix fuzz tests to handle paused state and routing configuration
- Achieve 96.03% code coverage (≥95% requirement met)
- All 168 tests pass, zero clippy warnings, WASM builds successfully

Breaking change: deduct/batch_deduct now fail if no routing configured
@drips-wave

drips-wave Bot commented Apr 23, 2026

Copy link
Copy Markdown

@ChukwuemekaP1 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

@greatest0fallt1me
greatest0fallt1me merged commit ddc9940 into CalloraOrg:main Apr 23, 2026
3 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.

Vault: implement is_paused() view and expose pause state to indexers

2 participants