feat: remove v1 dispute games#18714
Merged
stevennevins merged 19 commits intodevelopfrom Jan 15, 2026
Merged
Conversation
d2e19fe to
f816ff4
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #18714 +/- ##
===========================================
+ Coverage 73.94% 81.79% +7.85%
===========================================
Files 190 133 -57
Lines 11317 6917 -4400
===========================================
- Hits 8368 5658 -2710
+ Misses 2803 1259 -1544
+ Partials 146 0 -146
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
0c7e380 to
96aab06
Compare
1a90d27 to
c00f7cd
Compare
ajsutton
reviewed
Jan 13, 2026
Contributor
ajsutton
left a comment
There was a problem hiding this comment.
Looks good generally, just need to be careful with the methods that are detecting V1 or V2 based on the contract name.
Use git mv to rename V2 contracts to replace V1: - src/dispute/v2/FaultDisputeGameV2.sol → src/dispute/FaultDisputeGame.sol - src/dispute/v2/PermissionedDisputeGameV2.sol → src/dispute/PermissionedDisputeGame.sol - interfaces/dispute/v2/IFaultDisputeGameV2.sol → interfaces/dispute/IFaultDisputeGame.sol - interfaces/dispute/v2/IPermissionedDisputeGameV2.sol → interfaces/dispute/IPermissionedDisputeGame.sol Renamed all V2 symbols to non-V2 names. Updated all imports and references.
Bytecode changed due to metadata differences from V2 contract removal.
…te snapshots - Rename faultDisputeGameV2Impl → faultDisputeGameImpl in Implementations struct - Rename permissionedDisputeGameV2Impl → permissionedDisputeGameImpl - Rename V2 functions: _registerPermissionedGameV2 → _registerPermissionedGame - Update setNewPermissionedGameImplV2 → setNewPermissionedGameImpl - Update setNewPermissionlessGameImplV2 → setNewPermissionlessGameImpl - Fix stale comment in FaultDisputeGame.sol (240 → 244 bytes) - Regenerate ABI snapshots with correct struct member names - Update Go files in op-deployer and op-chain-ops
c00f7cd to
e263e48
Compare
Delete _isV1DisputeGameImplementation and _isV2DisputeGameImplementation from VerifyOPCM.s.sol. Both functions were checking for the same names after the V2 rename and were never actually used.
V2 dispute games are no longer behind a feature flag, so remove the skip logic that prevented them from being tested. Keep Super dispute game skip as those are still in development.
OPCM updates are applied in order, so all dispute game implementations now use CWIA args. Remove the V1 fallback path that read absolutePrestate directly from the contract.
This reverts commit 97b98e0. The V1 backwards compat is needed for the upgrade path when chains still have V1 dispute games. The gameArgs won't be populated until after the upgrade completes, so the fallback to call absolutePrestate() directly on the contract is required.
Inphi
approved these changes
Jan 14, 2026
Contributor
Inphi
left a comment
There was a problem hiding this comment.
Good to merge once the issues below are fixed.
packages/contracts-bedrock/test/dispute/SuperFaultDisputeGame.t.sol
Outdated
Show resolved
Hide resolved
packages/contracts-bedrock/test/dispute/DisputeGameFactory.t.sol
Outdated
Show resolved
Hide resolved
Replace hardcoded 0.08 ether with constant for consistency.
Replace hardcoded 0.08 ether with constant for consistency.
Replace hardcoded 0.08 ether with constant for consistency.
Restore natspec notice clarifying this script is for OPCM V1 only. OPCM v2 support is provided through the UpgradeOPChain script.
PDG getter checks don't apply to OPCM v2 since game args are passed at creation time. Restore the conditional guard.
serpixel
approved these changes
Jan 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Follow up to #18181, to clean up all references to V1 dispute games and make the v2 games the canonical dispute games.
Tests
Updates to existing test coverage for rename
Additional context
n/a
Metadata
Completes #18584