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

[VS Incentives] feat: non-perpetual Group & group Gauge pruning #6434

Closed
Tracked by #6057
p0mvn opened this issue Sep 19, 2023 · 2 comments · Fixed by #6509
Closed
Tracked by #6057

[VS Incentives] feat: non-perpetual Group & group Gauge pruning #6434

p0mvn opened this issue Sep 19, 2023 · 2 comments · Fixed by #6509
Assignees
Labels
F: volume-splitting feat: Volume-splitting incentives

Comments

@p0mvn
Copy link
Member

p0mvn commented Sep 19, 2023

We need to make sure that Group's lifecycle is the same as the underlying gauge lifecycle.

That is, if a Group is finished, the 1:1 mapped group's gauge is also finished

Originally posted by @p0mvn in #6431 (comment)

Suggested Design

For speed of delivery, I propose the following:

  • Write groups to a separate store index
  • Write group gauges into a regular gauge index but do not create upcoming/active/finished ref keys
  • In distribution logic, get all groups present, iterate over them and retrieve the associated group gauges
  • At the end of the distribution logic, prune non-perpetual expired gauges and groups. If any dust remaining, send to community pool
  • Restrict external incentive providers to only be able to create non-perpetual gauges so that it is impossible to create permanent perpetual junk even with the fee
    • This is consistent with the fact that most external are non-perpetual anyways
      please correct me if not
  • Give subdao powers to remove perpetual gauges that have no use via a special message (alternatively, gov prop)

This PR focuses specifically on pruning of non-perpetual gauges.

A/C

@p0mvn p0mvn added the F: volume-splitting feat: Volume-splitting incentives label Sep 19, 2023
@github-project-automation github-project-automation bot moved this to Needs Triage 🔍 in Osmosis Chain Development Sep 19, 2023
@p0mvn p0mvn changed the title refactor: implement upcoming / active / finished infrastructure for Groups similar to gauges [VS Incentives] refactor: implement upcoming / active / finished infrastructure for Groups similar to gauges Sep 19, 2023
@p0mvn p0mvn self-assigned this Sep 23, 2023
@p0mvn
Copy link
Member Author

p0mvn commented Sep 23, 2023

TODO:
submit removal of boolean parameter from CreateGaugeRefKeys via separate PR

@p0mvn
Copy link
Member Author

p0mvn commented Sep 23, 2023

Realized that it is impossible to write group gauges into a separate store index from regular gauges since we rely on the group gauge to be written into regular gauge index in pool incentives distribution.

Also, upcoming / active / finished ref keys aren't needed for group gaugs since we will:

  • allow external incentive providers to only create non-perpetual group gauges that get pruned on completion
  • create subdao that has powers to delete unused perpetual group gauges

@p0mvn p0mvn changed the title [VS Incentives] refactor: implement upcoming / active / finished infrastructure for Groups similar to gauges [VS Incentives] feat: group gauge non-perpetual pruning Sep 23, 2023
@p0mvn p0mvn changed the title [VS Incentives] feat: group gauge non-perpetual pruning [VS Incentives] feat: non-perpetual Group & group Gauge pruning Sep 23, 2023
@github-project-automation github-project-automation bot moved this from Needs Triage 🔍 to Done ✅ in Osmosis Chain Development Sep 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
F: volume-splitting feat: Volume-splitting incentives
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant