-
Notifications
You must be signed in to change notification settings - Fork 91
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
feat: Easy Game Rotation #360
Comments
hi @clabby, understanding the problem this creates for when calling struct PreviousRespectedGameType {
GameType gameType;
uint64 validFrom;
uint64 validUntil;
} we could then expand on the conditional branches a bit in if (disputeGameProxy.gameType().raw() != respectedGameType.raw()) {
if(disputeGameProxy.gameType().raw() != previousRespectedGameType.gameType.raw() {
revert InvalidGameType();
}
require(
createdAt >= previousRespectedGameType.validFrom && block.timestamp <= previousRespectedGameType.validUntil
);
}
... if the guardian didn't want the previous respected game type to hang around, they could specify that, and the a few questions to start:
keen to hear from you, would be happy to hear suggestions or considerations to keep in mind. |
Does it simplify anything if we thought of this as just respecting already proven withdrawals rather than trying to continue respecting the previous game type? e.g
So Someone more familiar with this code should definitely double check that logic, but that's the kind of thing I was hoping we'd be able to do. |
Overview
Currently, the
OptimismPortal2
contract respects a single dispute game type at a time, as outlined in the specification for theOptimismPortal
modifications made as a part of the Stage 1 fault proofs release.The issue with this is that changing the respected game type issues a large user experience burden to the users of the chain by delaying their withdrawals for a week. This process happens in this codepath, where during withdrawal finalization, the dispute game that the withdrawal was proven against is checked to both be of the current respected game type and created after the most recent time the respected game type was updated.
Desired Change
The new behavior here should be such that the
Guardian
can optionally invalidate, rather than always having to invalidate, the proofs of ongoing user withdrawals.The behavior should enable a "rollover period," where withdrawals proven against dispute games of the previous game type are allowed, if the Guardian did not specify that old games were to be invalidated. No functionality around the rest of the withdrawal path should change.
The text was updated successfully, but these errors were encountered: