Skip to content

feat: add class-level pause switches - #825

Open
laxjovial wants to merge 2 commits into
RevoraOrg:masterfrom
laxjovial:feat/class-pause-switch
Open

feat: add class-level pause switches#825
laxjovial wants to merge 2 commits into
RevoraOrg:masterfrom
laxjovial:feat/class-pause-switch

Conversation

@laxjovial

Copy link
Copy Markdown
Contributor

Add per-class pause switches so the issuer can freeze one share class without halting others. Class-scoped pauses reduce blast radius during compliance audits.

  • New ClassPaused = 62 error variant
  • ClassPauseState(OfferingId, ShareClass) storage key
  • pause_class / unpause_class entrypoints with issuer auth
  • is_class_paused public query
  • holder_any_class_paused helper (conservative: blocks when any class the holder has shares in is paused)
  • Gating in claim and transfer_with_attestation paths
  • Early fail-fast check before claim loop
  • Event emission on pause/unpause for indexer tracking
  • Comprehensive tests: scoping, idempotency, multi-class, non-existent

Closes #521

Add per-class pause switches so the issuer can freeze one share class
without halting others. Class-scoped pauses reduce blast radius during
compliance audits.

- New ClassPaused = 62 error variant
- ClassPauseState(OfferingId, ShareClass) storage key
- pause_class / unpause_class entrypoints with issuer auth
- is_class_paused public query
- holder_any_class_paused helper (conservative: blocks when any
  class the holder has shares in is paused)
- Gating in claim and transfer_with_attestation paths
- Early fail-fast check before claim loop
- Event emission on pause/unpause for indexer tracking
- Comprehensive tests: scoping, idempotency, multi-class, non-existent

Closes RevoraOrg#521
@drips-wave

drips-wave Bot commented Jul 30, 2026

Copy link
Copy Markdown

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

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 class-level pause switches so issuer can freeze one class without halting others

1 participant