Skip to content

fix: sync#697

Merged
agusduha merged 9 commits intosc-feat/remove-cgt-dev-flagfrom
fix/remove-cgt-dev-flag-sync
Nov 26, 2025
Merged

fix: sync#697
agusduha merged 9 commits intosc-feat/remove-cgt-dev-flagfrom
fix/remove-cgt-dev-flag-sync

Conversation

@agusduha
Copy link
Copy Markdown
Member

@agusduha agusduha commented Nov 26, 2025

Note

Introduce OPCM v2 with containerized impls, integrate across deploy/pipeline, add StorageSetter, switch default hardforks to Jovian, add GitHub binary version-checking, and update scripts/tests accordingly.

  • Contracts/Interfaces:
    • Add OPContractsManagerV2 and OPContractsManagerContainer (blueprints/impls holder) with new ABIs/storage layouts and IOPContractsManagerV2, IOPContractsManagerContainer, IStorageSetter.
    • Introduce StorageSetter impl for safe re-initialization during upgrades.
  • Deployment/Tooling:
    • Update Deploy.s.sol to support OPCM_V2 dev feature with deployOpChainV2 and getDeployInputV2.
    • Extend DeployImplementations.s.sol to deploy OPCMV2, OPCMContainer, and StorageSetter; wire into artifacts.
    • Add DeployFeesDepositor.s.sol and tests.
    • CircleCI: add OPCM_V2 to dev feature matrix; Semgrep exclusions and Foundry config for new paths.
  • Deployer/Chain Ops:
    • Add OPCMV2, OPCMContainer, StorageSetterImpl fields to addresses, deployments, pipeline.
    • Switch hardfork defaults to DefaultHardforkSchedule() activating forks.Jovian; update tests.
  • Release Utils:
    • Add GitHub release binary version-checking (version checker/comparator, static cache pather); update tests.
  • Scripts:
    • VerifyOPCM: support Blockscout/Etherscan creation code fetch; add explorer config.
    • Test validation and OPCM upgrade checks updated to include v2 artifacts and relaxed patterns.
  • Tests:
    • Add comprehensive OPContractsManagerV2 upgrade tests; adjust existing tests to gate on OPCM_V2.
    • Misc fixes (e.g., skip Ecotone fees test on Isthmus).
  • Docs:
    • Add “Safer Safes” security review entry.

Written by Cursor Bugbot for commit 59e972e. This will update automatically on new commits. Configure here.

janjakubnanista and others added 9 commits November 24, 2025 22:30
…ather (ethereum-optimism#18369)

* chore: Promote static cache pather

* chore: Add runtime version check
* feat: OPCMv2

* fix: bug in deploying dispute games

* fix: no more opcmv1 changes

* fix: bad interface

* fix: further clean diff

* fix: reduce diff

* fix: undo artifacts diffs

* fix: broken go structs

* fix: opcm output struct ordering

* fix: better tests

* fix: justfile path

* fix: lcov issue

* fix: pr review comments

* fix: pr comments

* fix: rebase tweaks

* fix: contract verification failure

* fix: last few ci issues
* Add DeployFeesDepositor script

* Refactor deploy script to remove Output struct

* forge fmt

* Make logResults() pure

* fix return value names

* remove unused import

* Apply suggestions from code review

Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com>

* Add missing natspec

* Add natspec to tests

---------

Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com>
…ile (ethereum-optimism#18370)

- update testContractExistsInFile() to match interfaces and libraries in addition to contracts
- add test cases for interface and library validation in TestTestContractExistsInFile
…#18342) (ethereum-optimism#18348)

* op-deployer: activate jovian at genesis by default (ethereum-optimism#18342)

* op-deployer: activate jovian at genesis by default

* fix tests for jovian activation

* use inclusive instead of exclusive arg
* feat: add support for blockscout in VerifyOPCM

This commit adds support for blockscout in VerifyOPCM and defaults
to blockscout. Etherscan verification can still be used but
blockscout is simpler and more reliable on all networks.

* fix: formatting
@agusduha agusduha requested a review from hexshire November 26, 2025 13:16
@agusduha agusduha self-assigned this Nov 26, 2025
@agusduha agusduha merged commit a5343b7 into sc-feat/remove-cgt-dev-flag Nov 26, 2025
2 checks passed
@agusduha agusduha deleted the fix/remove-cgt-dev-flag-sync branch November 26, 2025 13:17
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on December 16

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.


// Transfer ownership of the ProxyAdmin to the proxyAdminOwner.
_cts.proxyAdmin.transferOwnership(_cfg.proxyAdminOwner);
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: DisputeGameFactory ownership lost during upgrades in OPCMV2

In the _apply function, the DisputeGameFactory is re-initialized with address(this) (the OPCM contract) as owner on line 757. However, ownership is only transferred back to the proxyAdminOwner when _isInitialDeployment is true (line 812). During upgrades (_isInitialDeployment == false), the ownership transfer is skipped, leaving the DisputeGameFactory owned by the OPCM contract instead of the proxyAdminOwner. The comment on lines 805-811 incorrectly assumes ownership would be preserved during upgrades, but the _upgrade function resets the initialized slot and calls the initializer, which sets the owner to OPCM. This causes the proxyAdminOwner to lose direct control over game configuration after any upgrade.

Fix in Cursor Fix in Web

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.

9 participants