Skip to content

x/claimsmanager refactor #1941

@joe-bowman

Description

@joe-bowman

Summary

Responsibility between x/participationrewards and x/claimsmanager is currently woolly.

In order to bring clarity to responsibilities of each, x/claimsmanager should comprise all the logic of validating claims, and x/participationrewards should only concern itself with receiving claim submissions and distributing rewards.

Additionally, in order to support x/gbp, x/claimsmanager should support a ClaimableEvent. At present, only one of these exists - the epoch. A new epoch event should be created per epoch (x/pr should call x/cm to do so), and claims should be registered against this epoch; the x/pr distribution of rewards should then also based distribution on the claims pertaining to the latest relevant claimable event.

We need to determine how various types of protocoldata relate to a claimable event. It is likely that we determine whether each PD is of type 'static' or 'dynamic' (not sure if there are any that will be both; i.e. static part and dynamic part). Dynamic PD will update via hooks for each new event (e.g. state of pools), and Static will not (e.g. osmosisparams or membraneparams). For dynamic, we need to store a new struct (EventProtocolData) for each PD/event tuple.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions