-
Notifications
You must be signed in to change notification settings - Fork 46
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
cip: prevent auto claiming of rewards. #251
base: main
Are you sure you want to change the base?
cip: prevent auto claiming of rewards. #251
Conversation
2b9a082
to
f3f35d6
Compare
|
||
## Abstract | ||
|
||
Currently, when delegators modify their staking positions (e.g., redelegate or undelegate), the distribution module automatically claims all accrued staking rewards. This CIP proposes removing that automatic functionality, thereby allowing users to intentionally choose *when* to claim their rewards. Specifically, the distribution module will no longer auto-claim rewards on delegation-share changes. Instead, it will store the accrued rewards until a user explicitly calls `MsgWithdrawDelegatorReward`. This avoids unintended reward-claiming events that can trigger immediate tax or regulatory obligations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like a simple enough change, do we have data on the rate of redelegations or undelegations or how much demand there is for this change? I couldn't think of any firm blockers to this, but its been a while since I dug through the maze that is the distribution and staking module logic.
separate to this limitted change,
This is a simple change, if we wanted something more complex we could propose an LST like design
could we do, or has any sdk based chain done, claimless auto compounding, redelegation, undelegation without creating an LST? presumably this requires a significant change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yea i can get the data for the last few months.
we have explored this, its a deeper change in the distribution module. I can look into this as an alternative.
|
||
## Abstract | ||
|
||
Currently, when delegators modify their staking positions (e.g., redelegate or undelegate), the distribution module automatically claims all accrued staking rewards. This CIP proposes removing that automatic functionality, thereby allowing users to intentionally choose *when* to claim their rewards. Specifically, the distribution module will no longer auto-claim rewards on delegation-share changes. Instead, it will store the accrued rewards until a user explicitly calls `MsgWithdrawDelegatorReward`. This avoids unintended reward-claiming events that can trigger immediate tax or regulatory obligations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this require going back to (or keeping) a fork of the sdk using v0.50?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we may be able to get away without a fork, but due to the global registry we may need to maintain a small fork.
f3f35d6
to
296b5fc
Compare
Even independent of taxation, this is just generally a massive UX win. Its very annoying to have to explain or track as is. (Note, spec of this was definitely in large part my fault for not thinking of the UX pain here) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Co-authored-by: Rootul P <rootulp@gmail.com>
Co-authored-by: Rootul P <rootulp@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still LGTM
Overview
This cip proposes a change to the distribution module, the change stops auto claiming of rewards when modifying delegation shares (delegation, redelgation, unbonding) and makes the movement of funds from the distribution module to a users account explicit.