Open
Description
Context and scope
Validators should have the option to not allow delegators, such that the only possible way to change their weight is by exiting the validator set, setting it to 0.
Discussion and alternatives
There are a handful of ways this could be done:
- Put all of the delegation logic into an extension to
PoSValidatorManager
, calledPoSValidatorManagerDelegatable
. This would provide good logic separation at the source code level, but would also increase the total number of contracts in the repo that perform similar functions (e.g.NativeTokenStakingManager
,NativeTokenStakingManagerDelegatable
, etc.). - Keep the delegation logic in
PoSValidatorManager
, and enable/disable delegation with a constructor argument - Add a parameter to
initializeValidatorRegistration
that allows the validator to specify whether it should accept delegations
Open questions
Options 1 & 2 above allow for delegations to be disabled by the deployer. Option 3 leaves that up to the validator. These seem like they could be separate use cases, so we should decide what exactly we want to support.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Backlog 🗄️