Skip to content

feat: have OPCM upgrade allowances be upgrade specific#18462

Merged
maurelian merged 6 commits intodevelopfrom
sc/opcm-upgrade-specific-restrictions
Dec 8, 2025
Merged

feat: have OPCM upgrade allowances be upgrade specific#18462
maurelian merged 6 commits intodevelopfrom
sc/opcm-upgrade-specific-restrictions

Conversation

@smartcontracts
Copy link
Copy Markdown
Contributor

Description
Updates the OPCMv2 check for allowed extra instructions to be
specific to releases. When release versions are bumped, the
allowances become automatically invalid and would reveal
anywhere in the codebase where the allowance is being used.

@smartcontracts smartcontracts requested a review from a team as a code owner December 1, 2025 22:46
@codecov
Copy link
Copy Markdown

codecov bot commented Dec 1, 2025

Codecov Report

❌ Patch coverage is 90.90909% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 76.27%. Comparing base (e355cc4) to head (e9ff0fd).
⚠️ Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
...racts-bedrock/src/L1/opcm/OPContractsManagerV2.sol 83.33% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #18462      +/-   ##
===========================================
+ Coverage    75.34%   76.27%   +0.92%     
===========================================
  Files          189      134      -55     
  Lines        11228     7202    -4026     
===========================================
- Hits          8460     5493    -2967     
+ Misses        2622     1709     -913     
+ Partials       146        0     -146     
Flag Coverage Δ
cannon-go-tests-64 ?
contracts-bedrock-tests 76.27% <90.90%> (-3.53%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...ts-bedrock/src/L1/opcm/OPContractsManagerUtils.sol 100.00% <100.00%> (ø)
...rock/src/L1/opcm/OPContractsManagerUtilsCaller.sol 96.15% <100.00%> (+8.65%) ⬆️
...racts-bedrock/src/L1/opcm/OPContractsManagerV2.sol 94.57% <83.33%> (+0.08%) ⬆️

... and 63 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@0xiamflux
Copy link
Copy Markdown
Contributor

LGTM

Copy link
Copy Markdown
Contributor

@AmadiMichael AmadiMichael left a comment

Choose a reason for hiding this comment

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

LGTM!

@maurelian maurelian self-assigned this Dec 3, 2025
Copy link
Copy Markdown
Contributor

@maurelian maurelian left a comment

Choose a reason for hiding this comment

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

LGTM once comments are addressed.

@smartcontracts smartcontracts force-pushed the sc/opcm-upgrade-specific-restrictions branch from 98fb18a to 2bd344f Compare December 4, 2025 17:42
@smartcontracts smartcontracts requested a review from a team as a code owner December 5, 2025 22:45
Updates the OPCMv2 check for allowed extra instructions to be
specific to releases. When release versions are bumped, the
allowances become automatically invalid and would reveal
anywhere in the codebase where the allowance is being used.
@smartcontracts smartcontracts force-pushed the sc/opcm-upgrade-specific-restrictions branch from 0c29f43 to d87d043 Compare December 8, 2025 14:55
@0xiamflux
Copy link
Copy Markdown
Contributor

Latest changes LGTM

@maurelian maurelian added this pull request to the merge queue Dec 8, 2025
Merged via the queue into develop with commit c15a2ef Dec 8, 2025
170 of 171 checks passed
@maurelian maurelian deleted the sc/opcm-upgrade-specific-restrictions branch December 8, 2025 18:33
0xniha pushed a commit to defi-wonderland/optimism that referenced this pull request Dec 8, 2025
…mism#18462)

* feat: have OPCM upgrade allowances be upgrade specific

Updates the OPCMv2 check for allowed extra instructions to be
specific to releases. When release versions are bumped, the
allowances become automatically invalid and would reveal
anywhere in the codebase where the allowance is being used.

* fix: semver lock

* fix: emit instruction key in error

* fix: better semantics

* docs: proper OPCM versioning policy

* fix: final version tweaks
0xOneTony pushed a commit to defi-wonderland/optimism that referenced this pull request Dec 9, 2025
…mism#18462)

* feat: have OPCM upgrade allowances be upgrade specific

Updates the OPCMv2 check for allowed extra instructions to be
specific to releases. When release versions are bumped, the
allowances become automatically invalid and would reveal
anywhere in the codebase where the allowance is being used.

* fix: semver lock

* fix: emit instruction key in error

* fix: better semantics

* docs: proper OPCM versioning policy

* fix: final version tweaks
github-merge-queue bot pushed a commit that referenced this pull request Dec 11, 2025
* feat: add cgt to opcmv2

* feat: add cgt to opcmv2

* fix: change semver

* feat: add cgt to opcmv2

* feat: add cgt to opcmv2

* fix: change semver

* refactor: change disputeGameConfigs order in _loadFullConfig

* fix: comment slash rules

* feat: add opcmv2-cgt matrix in CI

* fix: enable cgt overrides on OPCMv2 (#724)

* fix: check CGT is not enabled before enabling it

* fix: enable CGT overrides

* fix: add extra instruction overrides for useCustomGasToken on OPCMv2 (#725)

* chore: link TODO to issue (#727)

* fix: opcm2 revert upgrade cgt (#728)

* fix: add check enabled CGT during upgrades

* test: set CGT false by default during forked tests

* chore: expand comment on OPCMv2 regarding CGT

* chore: pre-pr ready

* refactor: remove unnecessary check for CGT feature (#735)

* fix: cgt upgrade in opcm v2 and semver (#738)

* fix: Full checkout for FFI build (#18527)

* chore(op-acceptance-tests): delete very old logs (#18529)

* chore(op-acceptance-tests): op-acceptor v3.8.0 (#18530)

* jovian: remove feature toggles (#17978)

* jovian: remove feature toggles

scope is now fixed

* Updated op-geth to v1.101604.0-synctest.0.0.20251120150812-e50f80a16afc

* lint

* just update-op-geth f48f382

* Use Jovian in test error message

* just update-op-geth ba6bdcfef42341fe2b5ce124c31ff2d6b264e9e4

* chore(ai-eng): add ReinitializableBase test to exclusion list (#18531)

* feat: have OPCM upgrade allowances be upgrade specific (#18462)

* feat: have OPCM upgrade allowances be upgrade specific

Updates the OPCMv2 check for allowed extra instructions to be
specific to releases. When release versions are bumped, the
allowances become automatically invalid and would reveal
anywhere in the codebase where the allowance is being used.

* fix: semver lock

* fix: emit instruction key in error

* fix: better semantics

* docs: proper OPCM versioning policy

* fix: final version tweaks

* fix(op-acceptance-test): flake-shake; empty slack notifications. (#18542)

* feat: add cgt to opcmv2

* feat: add cgt to opcmv2

* fix: change semver

* feat: add cgt to opcmv2

* feat: add cgt to opcmv2

* fix: change semver

* refactor: change disputeGameConfigs order in _loadFullConfig

* fix: enable cgt overrides on OPCMv2 (#724)

* fix: check CGT is not enabled before enabling it

* fix: enable CGT overrides

* fix: opcm2 revert upgrade cgt (#728)

* fix: add check enabled CGT during upgrades

* test: set CGT false by default during forked tests

* chore: expand comment on OPCMv2 regarding CGT

* fix: cgt upgrade in opcm v2 and semver (#738)

* fix: merge conflicts

* fix: pre-pr

* fix: add missing isMatchingInstruction for cgt in false

* refactor: opcm2 extra instruction keymatch (#747)

* refactor: add helper function to match instruction by key only

* chore: pre-pr ready

* test: refactor key matching test

* test: add test suite for IsMatchingKey helper function

* chore: pre-pr ready

* fix: opcmv2 semver

---------

Co-authored-by: Flux <175354924+0xiamflux@users.noreply.github.com>
Co-authored-by: Ján Jakub Naništa <jan.jakub.nanista@gmail.com>
Co-authored-by: Stefano Charissis <stefano@oplabs.co>
Co-authored-by: George Knee <georgeknee@googlemail.com>
Co-authored-by: Ariel Diaz <65925295+aliersh@users.noreply.github.com>
Co-authored-by: smartcontracts <14298799+smartcontracts@users.noreply.github.com>
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.

4 participants