Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to remove inactive validators #582

Open
minghinmatthewlam opened this issue Oct 1, 2024 · 0 comments
Open

Ability to remove inactive validators #582

minghinmatthewlam opened this issue Oct 1, 2024 · 0 comments
Labels

Comments

@minghinmatthewlam
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Backlog 🗄️
Development

No branches or pull requests

1 participant