Skip to content

feat: versioned event contracts, add client auth and scoped events#401

Merged
Solomonsolomonsolomon merged 1 commit into
gear5labs:masterfrom
DevALVIN-24:feature/event-version
Jun 1, 2026
Merged

feat: versioned event contracts, add client auth and scoped events#401
Solomonsolomonsolomon merged 1 commit into
gear5labs:masterfrom
DevALVIN-24:feature/event-version

Conversation

@DevALVIN-24
Copy link
Copy Markdown
Contributor

This pr closes #379
Description: This PR upgrades the SDK’s event contract design to be production‑grade:

1.Versioned Event Emission – All events now emit a uint256 version as the first indexed argument, allowing downstream services to safely evolve event schemas.
2.Client Authorization Layer – Introduces authorizedClients mapping and admin‑only grantClient / revokeClient functions. Only addresses granted by the contract admin can be considered “serious clients” for off‑chain event consumption.
3.Scoped Access Modifier – onlyAuthorizedClient is provided for future functions that may need to restrict calls to authorized consumers.
4.Security Enforcement – Management of client permissions is limited to accounts holding the DEFAULT_ADMIN_ROLE (owner), ensuring controlled access.
These enhancements prepare the contract for robust, version‑controlled event streams and secure subscription semantics, moving it out of the demo phase and into a production‑ready offering.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 1, 2026

@DevALVIN-24 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

@Solomonsolomonsolomon Solomonsolomonsolomon merged commit 2a7dd4b into gear5labs:master Jun 1, 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.

[Backend] Rework the SDK realtime client around authenticated lifecycle subscriptions

2 participants