You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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 throughinitializeEndValidation
, which is currently gated by_msgSender()
, but if a validator decides to disable themselves, they'll likely not go and callinitializeEndValidation
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.The text was updated successfully, but these errors were encountered: