Open alexanderbez opened 2 years ago
from slack discussion with dev & sunny
dev:
thats the reverse flow I'd like to see happen. I'd instead like us to do https://github.com/osmosis-labs/osmosis/issues/408#issuecomment-1025070771 You define a validator set preference list on chain, and then do a delegate message to your preference list
sunny:
Basically, the preferences should be in state, so you don’t specify the preferences in each one. That way, a module can also auto delegate to your preference list (i.e. such as OSMO rewards get auto-staked)
sam:
I like your approach but I think the user behaviour I'm thinking about is still very helpful to rebalance a delegation portfolio. We would ideally have both. You can set an initial portfolio using fractional weights as I described, then the compounding rewards could use a preference list. As a delegator the current UX is terrible and encourages users to pick single validators and forget about it rather than constructing a risk adjusted portfolio.
so a potential synthesis of these two proposals could look something like the following:
use the second of bez's proposed options
type ProportionalDelegation struct {
Validator sdk.ValAddress
Fraction sdk.Dec
}
the user could then specify whether action should be taken on current delegations, future delegations, or both. so the amount
and autostake_rate
would be moved into these secondary messages. you lose some granularity from dev's ValidatorPreference
message in that you can't specify an autostake_rate
per delegator, but that also maybe seems unnecessary?
would be good to pull this into the sdk https://github.com/osmosis-labs/osmosis/issues/2579
cc @tac0turtle
Summary
Currently, when a delegator wants to delegate to a validator, they specify the validator address and the amount they want to delegate.
Problem Definition
Proposed by @hxrts:
Proposal
Introduce a new message type that allows proportional delegations. Something like the following:
Alternatively,
MsgDelegateProportional
can also specify the total amount andProportionalDelegation
can specify the % of that total.cc @hxrts @marbar3778 @okwme
For Admin Use