osmosis
osmosis copied to clipboard
Implement auto-staking of some percentage of LP pool-incentives
Due to high OSMO LP incentives, we should implement a feature where {X} % of LP incentives get automatically staked.
The structure of a first pass at this should be as follows in my opinion:
- Make a governance parameter for what is the percentage of LP pool-incentives that get automatically staked. (Lets just make a default of 50%)
- Make the bonding tx specify an optional validator address field, where all (if any) of your OSMO pool-incentives rewards will get staked to.
- Update pool incentives to have X% of the rewards directly put into your account, and 1-X% get delegated to your validator of choice. (This will require some changes to the Distribute API to make this possible)
- Unfortunately this is going to cause a lot of F1 overhead. We will need to benchmark how it is, and consider implementing some batched F1 logic. This is something I worked out the math of before, will rederive if benchmarks show its important.
- If the validator address is unspecified (e.g. all existing bonds), have those funds put those OSMO into an unbonding day lockup.
Then in a future pass, we can:
- update the optional validator address field to instead be a weighted list of validators
- allow editing the validator address for an existing bond
- Make a governance parameter for what is the percentage of LP pool-incentives that get automatically staked. (Lets just make a default of 50%)
It shouldn't be done by address? For myself, to avoid too many actions, while I am busy for few weeks, I would like to just auto stake for all the rewards.
- Make the bonding tx specify an optional validator address field, where all (if any) of your OSMO pool-incentives rewards will get staked to.
I think it will be enough than forcefully letting all the people to auto-restake.
- If the validator address is unspecified (e.g. all existing bonds), have those funds put those OSMO into an unbonding day lockup.
It would make things complex I think
- update the optional validator address field to instead be a weighted list of validators
Delegation to several validators would make a person's finance complex I guess.
- allow editing the validator address for an existing bond
I will be good to add.
The idea here is that the chain governance would be forcing this, similar to how curve works. Hence its not a percent chosen by address.
If the validator address is unspecified (e.g. all existing bonds), have those funds put those OSMO into an unbonding day lockup.It would make things complex I think
We have to do it unfortunately.
Delegation to several validators would make a person's finance complex I guess.
I don;t see why for this one, many folks already delegate to multiple validators, and wallets / UI's support it pretty well.
We just had a call and you brought up two other nice features we can re-asses adding on after the initial impl is done:
- Allow converting a lock of OSMO for
duration <= unbonding periodto be staking - Allow a user to elect to auto-stake more than X%. (Seems quite complex to implement, especially as we need to speed things up though)
This is issue is obsoleted for newer issues