Description
Context and scope
Validators can remove themselves through the DisableSubnetValidatorTx
on the P-Chain, which returns their AVAX and makes the validator inactive, but the validator's weight still contributes to Warp thresholds until the validator manager contract sends an update to set validator weight = 0. Validator Manager contract does so through initializeEndValidation
, which is currently gated by _msgSender()
, but if a validator decides to disable themselves, they'll likely not go and call initializeEndValidation
after, since they would've done so in the first place instead of disable. We don't want these validators to be leftover to affect Warp thresholds, or the tracked validator weights in the contract that can affect churn tracking etc, so the Subnet should be able to agree to remove certain validators, which can now be done through a ValidatorSetSig.
Discussion and alternatives
ValidatorManager should take in the option of a ValidatorSetSig, which can also initialize end validation for a validator, instead of just msgSender. Basically the validator manager contract should check whether it's msgSender
or the additional validator set sig to allow for initializing end validation of a validator.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Backlog 🗄️