Implement a mechanism which would automatically undelegate all delegators from validators who have been inactive for a set number of eras. This is meant to encourage good stewardship of node operators.
Requirements
the delay is a global chainspec setting
allow validators to set a more restrictive limit on themselves
-- must be lower than global limit
-- would be a sort of SLA declaration
Solution
currently we track inactive validators only in a binary way - active/inactive
we'd need to update the ValidatorBid to also store the EraId when the validator was marked as inactive
then we'd probably follow a similar pattern to what we did with forced undelegation and handle the cleanup at the end of an era, before the auction is run
we'd follow a normal unbonding process - prune Delegator bid, create an UnbondingPurse and process the unbonds after a delay as usual
no additional handling of validator bids; they remain inactive and can be reactivated at a later date
setting an optional, more restrictive delay could be done as an optional argument in the add_bid entrypoint of the auction contract
Questions
Should we add some validation to prevent delegating funds to inactive validators?
Goal
Implement a mechanism which would automatically undelegate all delegators from validators who have been inactive for a set number of eras. This is meant to encourage good stewardship of node operators.
Requirements
Solution
Questions
Should we add some validation to prevent delegating funds to inactive validators?