-
Notifications
You must be signed in to change notification settings - Fork 117
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
Enhance Non-Rowan Yield Reward Functionality with Optional Duration Feature #3441
Comments
1. 📝 IndexingI'm indexing the files within your repository.2. 🔎 SearchingI'm searching for relevant snippets in your repository.I found the following snippets in your repository. View Snippetshttps://github.com/Sifchain/sifnode/blob/main/x/dispensation/claims.md#L0-L15 https://github.com/Sifchain/sifnode/blob/main/x/dispensation/claims.md#L15-L30 https://github.com/Sifchain/sifnode/blob/main/x/dispensation/claims.md#L30-L45 https://github.com/Sifchain/sifnode/blob/main/x/oracle/types/prophecy.go#L0-L32 https://github.com/Sifchain/sifnode/blob/main/x/oracle/types/prophecy.go#L0-L72 3. 🌐 PlanningI'm creating a plan for the discussion and coding steps.I have created the following workflow as a basis for how the discussion and coding will be derived. 💡 StepsAdd Duration Parameter to AddLiquidityToRewardBucket MessageAction: Update AddLiquidityToRewardBucket HandlerAction: Update CLI CommandAction: Update REST APIAction: Update Unit TestsAction: I have created the following workflow as a basis for how the discussion and coding will be derived. 💡 StepsUpdate ValidateBasic FunctionAction: Implement Time-based Job SchedulerAction: Update CLI for Duration ParameterAction: Update REST API for Duration ParameterAction: Create Unit Tests for Duration ParameterAction: |
The workflow is well-structured but could use more detail in certain areas. For negative duration, the 'ValidateBasic' function should return an error. For the gradual distribution functionality, consider using a time-based job scheduler or a similar mechanism to distribute the liquidity over time. For the CLI command and REST API updates, include error handling for invalid inputs. For the unit tests, ensure coverage for edge cases such as zero, negative, and extremely large duration values, as well as non-numeric and out-of-range inputs for the CLI command and REST API. |
Currently, the Sifchain codebase includes a feature for non-Rowan yield rewards, where users can add non-Rowan liquidity to a reward bucket. The system then automatically distributes the entire liquidity in the bucket to the corresponding liquidity pool. This is a valuable functionality, but it could be further enhanced for better flexibility and utility.
Feature Request:
I propose adding an optional duration parameter to this existing functionality. When this duration is set, any new liquidity added to the reward bucket should not be distributed immediately in its entirety. Instead, it would be more beneficial if the distribution of this new liquidity is spread out over the specified duration. This means the liquidity would be distributed in smaller, incremental portions throughout the duration period, rather than all at once.
Benefits:
I believe this enhancement will add significant value to the Sifchain platform, offering greater control and flexibility to users in the management of non-Rowan liquidity rewards.
The text was updated successfully, but these errors were encountered: