Skip to content

Task/revenue stateful - #518

Merged
greatest0fallt1me merged 4 commits into
CalloraOrg:mainfrom
RemmyAcee:task/revenue-stateful
Jun 27, 2026
Merged

Task/revenue stateful#518
greatest0fallt1me merged 4 commits into
CalloraOrg:mainfrom
RemmyAcee:task/revenue-stateful

Conversation

@RemmyAcee

Copy link
Copy Markdown
Contributor

Close: #509

Summary of Changes

1. Admin Broadcast Event Channel

  • contracts/settlement/src/events.rs : Added event_admin_broadcast with test
  • contracts/settlement/src/lib.rs : Added broadcast function (admin only, validates severity and message length <= 256)
  • contracts/vault/src/lib.rs : Added broadcast function (admin only, validates severity and message length <= 256)

2. Stateful Invariant Runner for Revenue Pool

  • contracts/revenue_pool/src/test_proptest.rs :
    • Fixed existing batch_distribute_duplicate_recipient_handling test (replaced HashSet with Vec )
    • Added stateful_invariant_runner test that uses proptest to generate random action sequences and verifies invariants
    • Added multiple invariants (balance >= virtual scheduled, etc.)

3. CI Nightly Job

  • .github/workflows/ci.yml : Added test-nightly job that runs daily at 00:00 UTC with nightly Rust

@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

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

@RemmyAcee

Copy link
Copy Markdown
Contributor Author

Done, Close: #518

@greatest0fallt1me

Copy link
Copy Markdown
Contributor

Merged via direct push to main (admin)

@greatest0fallt1me
greatest0fallt1me merged commit 0e143f8 into CalloraOrg:main Jun 27, 2026
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.

Add a stateful invariant runner for revenue_pool

2 participants