Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EventManager #1457

Open
joe-bowman opened this issue Apr 18, 2024 · 0 comments
Open

EventManager #1457

joe-bowman opened this issue Apr 18, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@joe-bowman
Copy link
Contributor

Summary

Presently we use a waitgroup-style int stored against the zone to order asynchronous operations; however:

  1. this is difficult to reason about in the event of issues - it is unclear which operations have completed and decremented the counter, and which have not, without inspecting thousands of lines of log items.
  2. it is not scalable: we can only control a single final event (e.g. redemption rate triggering) and cannot use it to arbitrarily order and schedule events
  3. it is imperfect: it is possible that taking action X on reaching 0 might be unintentionally triggered before it is desired - and potentially triggered multiple times.

The successor to this will event manager:

  • EventManager will be standalone module that other modules can hook into, declare callback handlers (in the same way that interchain queries does), and conditionally trigger events on the successful satisfaction of structured conditionals. The conditionals allow the expression of complex states; e.g. only trigger the redemption rate callback with arguments x,y and z, in the events that all unbondings, delegations and queries are completed.
@joe-bowman joe-bowman added the enhancement New feature or request label Apr 18, 2024
@joe-bowman joe-bowman added this to the v1.6.0 milestone Apr 18, 2024
@joe-bowman joe-bowman self-assigned this Apr 18, 2024
@joe-bowman joe-bowman modified the milestones: v1.6.0, v1.7.0 Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant