Skip to content

feat(v700): bump OPCM to v7.1.17 and add ZK_DISPUTE_GAME slot#1410

Open
stevennevins wants to merge 3 commits intomainfrom
stevennevins/opcm-v700-zkgame
Open

feat(v700): bump OPCM to v7.1.17 and add ZK_DISPUTE_GAME slot#1410
stevennevins wants to merge 3 commits intomainfrom
stevennevins/opcm-v700-zkgame

Conversation

@stevennevins
Copy link
Copy Markdown
Contributor

Summary

Bump the OPCM v700 upgrade fixture to use the new devnet OPCM at 0x15c65ee282777e4a2856fdf26d33ee4d5bab30c4 (v7.1.17), which now requires a 7th ZK_DISPUTE_GAME (raw value 10) entry in disputeGameConfigs per OPContractsManagerV2._assertValidFullConfig. The template now builds a length-7 config array with the ZK slot disabled (matches migrator behavior of zeroing the ZK impl), bumps the version assertion to 7.1.17, and drops the now-fixed SCDG-SHAPE validation error from expectedValidationErrors. SuperRootUpgradeTest (test_load_data + test_upgrade_sepolia) passes against a Sepolia fork.


Additional context

The ZK slot stays disabled because the new OPCM only allows it when DevFeatures.ZK_DISPUTE_GAME is enabled, which is not set on this devnet bitmap.

@stevennevins stevennevins requested review from a team as code owners April 29, 2026 17:03
@stevennevins stevennevins requested a review from wwared April 29, 2026 17:03
Comment thread src/template/OPCMUpgradeV700.sol
Comment thread src/template/OPCMUpgradeV700.sol
Copy link
Copy Markdown
Contributor

@ajsutton ajsutton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - just the one note about future proofing.

if (gt == SUPER_CANNON_KONA) {
return address(disputeGameFactory.gameImpls(GameType.wrap(CANNON_KONA))) != address(0);
}
if (gt == ZK_DISPUTE_GAME) return false;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is strictly never deployed now but shouldn't we actually check the gameImpls anyway? That way when this is inevitably copied to create the template for V8 where ZK is deployed somewhere it will just work instead of being a footgun.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants