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.
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.
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.
There was a problem hiding this comment.
so changing to be native compounding can be done, its not that hard. The main change is the UX around, users will need to undelegate to claim rewards. This requires a conversation on UX before moving forward. The nice part is that we would reduce state machine complexity per block significantly.
|
|
||
| ## 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.
Would this require going back to (or keeping) a fork of the sdk using v0.50?
There was a problem hiding this comment.
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) |
Co-authored-by: Rootul P <rootulp@gmail.com>
Co-authored-by: Rootul P <rootulp@gmail.com>
|
it looks like editors don't have permission to edit this PR @tac0turtle, can you please grant permission? thank you |
Co-authored-by: Josh Stein <46639943+jcstein@users.noreply.github.com>
Co-authored-by: Josh Stein <46639943+jcstein@users.noreply.github.com>
|
I'm going to follow up with a PR to add to readme |
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.