Skip to content

contracts-bedrock: post-U19 cannon deprecation follow-ups#21625

Merged
wwared merged 3 commits into
developfrom
mds/post-u19-cannon-cleanup
Jul 7, 2026
Merged

contracts-bedrock: post-U19 cannon deprecation follow-ups#21625
wwared merged 3 commits into
developfrom
mds/post-u19-cannon-cleanup

Conversation

@mds1

@mds1 mds1 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Follow-ups to #21621, which handled the U19 fork state where the legacy CANNON permissionless game is disabled and CANNON_KONA is the live game.

Three changes:

  1. Remove the transitional CANNON->CANNON_KONA startingRespectedGameType override from the fork test setup and the mirrored helpers in the OPCM V2 upgrade tests, now that CANNON is deprecated. Also drops the dead _isPermissionlessGameType helper.
  2. Fix FetchChainInfo (op-fetcher), which derived the permissionless game only from GameTypes.CANNON and so reported no permissionless game for post-U19 chains. It now falls back to CANNON_KONA when CANNON is absent.
  3. Pin the fork test block daily instead of weekly, so fork tests track live mainnet within a day rather than up to a week.

Unichain has run U19, but its upgrade landed after today's 00:00 UTC pinned block, so the unichain-mainnet fork job stays red until the daily pin rolls forward (2026-07-07). Verified green at a post-U19 block locally (29/29 in OPContractsManagerV2_Upgrade_Test). Everything else is green.

FetchChainInfo keeps its CANNON and L2OutputOracle handling on purpose, since op-fetcher syncs the whole superchain registry, which still has pre-U19 chains (CANNON) and legacy L2OO chains (e.g. fraxtal, race).

Follow-up: MigrationValidationInput.cannonPrestate is now dead, but removing it is a public ABI change so I'll do it separately.

🤖 Generated with Claude Code

mds1 and others added 2 commits July 6, 2026 10:29
U19 disables the legacy CANNON permissionless game, leaving CANNON_KONA as the live game on upgraded chains. Remove the CANNON->CANNON_KONA startingRespectedGameType override from the fork setup and the mirrored helpers in the OPCM V2 upgrade tests, plus the now-dead _isPermissionlessGameType helper.

Fork upgrade tests for chains that have not yet run U19 (e.g. unichain) will fail until they upgrade; this is intentional.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
FetchChainInfo derived the permissionless game only from GameTypes.CANNON, so post-U19 chains (CANNON disabled, CANNON_KONA live) reported no permissionless game. Fall back to CANNON_KONA when CANNON is absent, and dedupe the CANNON_KONA lookup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mds1 mds1 requested review from a team and ajsutton July 6, 2026 17:30
@mds1 mds1 requested a review from a team as a code owner July 6, 2026 17:30
The pinned block is the forked-state cache key, floored to the start of the period. Weekly pinning let fork tests lag live mainnet by up to a week, so a mid-week upgrade (e.g. Unichain U19) failed every run until the pin rolled forward. Daily cuts the lag to at most a day, at the cost of ~7x more cold-fork cache misses (one per fork cache key per day), each amortized across that day's runs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@wwared

wwared commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@OptimismBot please review

@wwared wwared enabled auto-merge July 7, 2026 17:02

@0xOneTony 0xOneTony left a comment

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.

lgtm, but @mds1 note that op-fetcher and the updated artifacts are being consumed in the registry, and it seems like that currently the registry is consuming the monorepo from an older commit so in order for the automated commands (e.g. codegen ) to run properly there we would also need to bump the version of the monorepo on the registry.

@wwared wwared added this pull request to the merge queue Jul 7, 2026
Merged via the queue into develop with commit e21a28c Jul 7, 2026
88 checks passed
@wwared wwared deleted the mds/post-u19-cannon-cleanup branch July 7, 2026 20:35
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.

3 participants