-
Notifications
You must be signed in to change notification settings - Fork 27
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
Uptime e2e #637
Uptime e2e #637
Conversation
Uptime proof validation changed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Small typo fix suggestion in a comment.
* @notice maximumStakeAmount is the maximum amount of stake that can be staked to a validator | ||
* @notice minimumStakeDuration is the minimum duration that validators must stake for | ||
* @notice minimumDelegationFeeBips is the minimum delegation fee in basis points that validators can charge | ||
* @notice maximumStakeMultiplier is multiplier applied to validator's initial stake amount to determine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* @notice maximumStakeMultiplier is multiplier applied to validator's initial stake amount to determine | |
* @notice maximumStakeMultiplier is the multiplier applied to a validator's initial stake amount to determine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Why this should be merged
Integrates ava-labs/subnet-evm#1377 to enable constructing signed uptime proofs. The uptime proofs are submitted in the call to
initializeEndValidation
andforceInitializeEndValidation
for PoS validators in the e2e tests. Uptime proofs are not supplied for validators that were registered as PoA, since they are not eligible for rewards.Also changes the requirement that the uptime proof be signed by the same chain that the validator manager is deployed on, to instead requiring that it be signed by an
uptimeBlockchainID
that is supplied at initialization. This chain must be validated by the L1 managed by the validator manager. There is no requirement that the validator manager be deployed on the chain whose validator set it is managing, so the existing check is incorrect.How this works
The helpers that call
initializeEndValidation
first construct an uptime proof using the helperConstructUptimeProofMessage
, signed by the L1.How this was tested
CI
How is this documented
N/A