Skip to content

chore: sync develop#316

Merged
agusduha merged 131 commits intosc-feat/interop-fixesfrom
chore/sync-develop
Mar 11, 2025
Merged

chore: sync develop#316
agusduha merged 131 commits intosc-feat/interop-fixesfrom
chore/sync-develop

Conversation

@0xDiscotech
Copy link

No description provided.

smartcontracts and others added 30 commits February 25, 2025 15:14
Adds the Incident Response Improvements security review by offbeat
labs.
…e subcmd (ethereum-optimism#14488)

* feat: op-deployer clean cache command

Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co>

* lint

Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co>

* chore: cleaner dealing with test dir

Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co>

* chore: refactor the IsolatedTestDirWithAutoCleanup and break import cycle

Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co>

* chore: small cleanup

Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co>

---------

Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co>
…ereum-optimism#14493)

* feat(op-program-svc): introduce new service to compute prestates

* test(op-program-svc): add tests

* Update kurtosis-devnet/op-program-svc/README.md

Co-authored-by: Inphi <mlaw2501@gmail.com>

---------

Co-authored-by: Inphi <mlaw2501@gmail.com>
…um-optimism#14489)

* op-service: make signer client compatible with SetCodeTx type

* use hexutil.U256 instead of hexutil.Big

* add explanatory comments

* Fix authorizationList json tag

Co-authored-by: protolambda <proto@protolambda.com>

* use helper fcn with panic for big.Int to uint256.Int

* use uint256.MustFromBig instead of custom helper

---------

Co-authored-by: protolambda <proto@protolambda.com>
…ptimism#14523)

Cleans up the security reviews table because it had some errors
and a few missing entries. Updates codeowners so that the
security reviewers team can merge into the docs folder.
* Treat non-zero vm exits as a special case

* Only handle panics as a special case

* Add more tests

* Record panic metrics

* Tweak error message
Updates the OptimismPortal to not alias 7702 addresses. Updates
several other contracts to use a standard library for checking if
the msg sender is an EOA.
…essBlocks()` (ethereum-optimism#14520)

* op-batcher: always updateCursorAndMetrics when returning from processBlocks()

* Update op-batcher/batcher/channel_manager.go

Co-authored-by: Sebastian Stammler <seb@oplabs.co>

---------

Co-authored-by: Sebastian Stammler <seb@oplabs.co>
…4514)

* fix: Unique markers for devnet-sdk

* chore: Add a test
…-optimism#14516)

* op-challenger: Avoid loading duplicate leaves.

* op-challenger: Sanity check length of fetched input data.

Provides a clearer error message if the fetch is incorrect rather than just InvalidProof() revert reason.

* op-challenger: Deduplicate blocks in contract bindings.

* Deduplicate block numbers in test setup now that the contract bindings handle it.

* Fix more tests.
…ptimism#14534)

Adds semgrep rules and a new golang contracts check for
reinitializer modifiers. Important safety checks now that we are
using upgrade functions.
* all: update op-geth to v1.101500.1

* op-batcher,op-e2e/system: Take floor data gas into account, fix AutoDA test

Fixes ethereum-optimism#14513

* Fix EIP-2935 implementation and tests

* op-program/client/l2: Fix chainContext.Config() to return actual cfg

* op-program/client/l2/test: Nilify chain config blob schedule

* update op-geth v1.101500.2-synctest.4

* Replace IntrinsicGas with FloorDataGas for calldata estimations

* Remove static MaxBlobsPerBlobTx constant

* update op-geth/v1.101500.2-rc.1

* revert usage of params.HistoryServeWindow
* op-supervisor: Check message expiry

* add safe_update tests

* fix override expiry window description

* log warn when overriding expiry window

* lint

* fix tests

* Fix supervisor_checkMessages; use ErrConflict

* tweak supervisor_checkMessages API

* add supervisor_checkMessagesV2

* update op-geth dependency

* move override to depset config; fix checkMessagev1

* go.mod: drop diff again, op-geth was updated in develop branch

---------

Co-authored-by: protolambda <proto@protolambda.com>
* op-challenger: Add Super DG contract caller

* op-dispute-mon: Support Super FDG game types
…thereum-optimism#14554)

* op-node: Remove OverrideMessageExpiryTimeInterop from rollup.Config

* fix test fixture
…hannel timeout log (ethereum-optimism#14553)

* op-batcher: remove ChannelManager.CheckExpectedProgress

* op-batcher: add warning log when a channel times out on chain
…d()` (ethereum-optimism#14561)

* op-batcher: correctly track block metrics in handleChannelInvalidated

Includes test which fails without the fix.

* op-batcher: log out channels which are dropped during handleChannelInvalidated()

* change to warn log for dropped channels
sebastianst and others added 24 commits March 8, 2025 11:38
…imism#14680)

* op-node/rollup: Implement optional L1 Pectra fix

* make simple test fail with excess blob gas

* improve test, fix L1 miner

* fix L1 miner again

* geoknee feedback

* update op-geth dependency to v1.101503.0-rc.2

* address proto's feedback, add test case

* fix static chain cfg tests
Splitting the message makes it hard to grep to find the source of the error.
* op-challenger: Add config option to set dependency set config

* Fix expected error message

* op-challenger: Update op-program executor to handle interop inputs.

* op-challenger: Support super-cannon in run trace.

* Fixes.

* Remove refactoring to introduce ToSuper()
…14745)

* op-deployer: add documentation for verify command

* Update op-deployer/book/src/user-guide/verify.md

* Update verify.md

---------

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
* ci: Capture reproducibility build logs as artifacts

* Install dependencies when mise.toml is present.
…-optimism#14628)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.5 to 1.21.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.20.5...v1.21.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…-optimism#14720)

* op-supervisor,op-service: fix server-client API consistency

* op-e2e: fix finality test, finalized-L1 getter now errors when not initialized
…list of prestates from superchain-registry (ethereum-optimism#14744)

* op-program: Switch prestate verification to use the superchain-registry as source of truth

* op-program: Update prestate reproducibility check to reference the same list superchain-registry now uses

* Fix script

* ci: Reduce timeout for prestate builds again.

* Clarify cannon 32 was built.

* Remove TODO
…thereum-optimism#14699)

* op-program: Add a host subcommand to list available chain configs.

* op-program: Also list custom chain configs
…ethereum-optimism#14755)

* go: update SR to cb1b645b35813b8dd3a900b9f99c46614e466a2c via op-geth

to pull in updated sepolia-dev-0 sepolia blob schedule fix times

* fix chain config test
* feat: AnchorStateRegistry as source of truth

Updates the OptimismPortal to use the AnchorStateRegistry as the
source of truth for the validity of Dispute Game contracts.

* feat: new eth lockbox (#285)

* feat: create new eth lockbox contract with interface

* chore: add it on the deployment scripts (wip)

* feat: create the test base to check if the setup for it is working

* feat: add all eth lockbox tests

* fix: opcm deployment script issue

* fix: lockbox tests

* feat: add no withdrawal tx unlock eth check

* chore: check proper initialization on test

* fix: pre-pr fixes

* chore: run pre-pr

* fix: opcm tests related to eth lockbox

* feat: add admin owner check on authorize portal and lockbox as well

* refactor: add prefix to errors and declare them on contract

* chore add no withdrawal tx comment

* feat: authorize portal in lockbox on the opcm

* chore: add one more check for eth lockbox

* fix: intializable and specs tests

* fix: pre-pr

* feat: integrate portal with lockbox (#291)

* feat: integrate portal with lockbox

* fix: migrate natspec

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

* fix: delete natspec

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

* fix: natspec nits

* chore: natspec wording

* chore: function order

* chore: remove internals

* feat: add eth lockbox as portal arg on opcm

* feat: add checks on scripts and unit tests

* feat: lock and unlock tests

* feat: add migrate liquidity tests

* fix: other failing portal tests

* chore: run pre-pr

* chore: improve lock and unlock checks on tests

* chore: undo portal version change and run pre-pr

* refactor: enhance expect call checks

* fix: fork test string error

* fix: just test failing tests

* refactor: pao base

* refactor: setup portal and lockbox integration on initialization

* feat: update lockbox setter

* chore: update pao naming on tests

* chore: portal comment

* chore: update version and run pre-pr

* fix: spec

* fix: lockbox storage layout

* fix: pr comments and failing test

* feat: portal upgrade test

* chore: remove portal balance check on chain assertions

* fix: error string on chain assertions

* feat: add test for portal unsafe target

* fix: approval

---------

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

* fix: semver lock

* fix: failing tests after merge

* fix: interface import

* chore: add lockbox pao matches final system owner check

* fix: pr comments (#293)

* chore: remove unused function

* chore: add pao validation checks over portal and lockbox

* refactor: use interface as arg type instead of address on functions

* fix: comment max length

* refactor: update lockbox param type as interface

* refactor: use interface as type on migrate liquidity and authorize lockbox functions

* chore: run pre pr

* fix: high fuzz runs failing test using mostly assume not forge address

* refactor: use ioptimis portal instead of ioptimism portal2 everywhere

* chore: undo changes on unrelated files to the pr

* feat: add Super Root specific method to OptimismPortal

Updates the OptimismPortal to include a method that allows users
to prove against Super Roots for interop.

* fix: pr second comments (#295)

* chore: undo initializable v5 test changes

* chore: remove portal already authorized check

* chore: remove portal already authorized check

* refactor: rename pao to proxy admin owner

* fix: pre pr

* fix: test upgrade fails (#296)

* fix: test upgrade fails

* feat: handle fork state on eth lockbox tests

* chore: enhance comments

* chore: run pre-pr

* fix: semgrep

* fix: comments

* chore: address path where is not a fork to get the lockbox

* chore: run pre pr

* fix: pr fixes (#298)

* chore: enhance opcm comment

* fix: same proxy admin owner typo

* feat: add insufficient balance check

* chore: add natspec comments on lockbox migration process

* chore: pre pr

* fix: add lockbox on implementations struct to fix go test (#300)

* feat: AnchorStateRegistry as source of truth

Updates the OptimismPortal to use the AnchorStateRegistry as the
source of truth for the validity of Dispute Game contracts.

* feat: add Super Root specific method to OptimismPortal

Updates the OptimismPortal to include a method that allows users
to prove against Super Roots for interop.

* feat: interop portal OPCM updates

* fix: remove old respectedGameType check from portal test

* fix: deploy new dispute games in OPCM

* feat: add upgrade 15 test path

* feat: integrate into opcm fork tests

* fix: corrected checks for ASR

* fix: rebase tweaks

* fix: OPCM integration

* fix: OPCM stack too deep

* fix: pre pr

* fix: update portal implementation on opcm upgrade

* fix: call upgrade on portal without upgrading any impl

* fix: iopcm interface for older versions already deployed

* refactor: use minimal interface for opcm without lockbox

* fix: import

* chore: undo changes on opcm carried when resolving conflicts (#302)

* fix: include lockbox on reinitialization test and add todos with issue number (#303)

* fix: include lockbox on reinitialization test

* fix: polish nits

* refactor: get eth lockbox on test condition

* chore: add todos pointing to the issue

* fix: add ETHLockbox to op-deployer

* fix: add evm tags to ETHLockboxImpl

* fix: evm tags for ethLockboxProxy too

* fix: remove certain ETHLockbox checks

* fix: properly add ETHLockbox to state

* fix: handle deposit tests and kill L2oo tests

* fix: undo change in user test

* fix: kill more L2OO tests

* fix: bug in withdrawal validity test

* fix: pr review (#309)

* chore: remove unnecessary cast

* refactor: add lockbox on eth migrated event

* chore: rename pa owner to pa owned base

* refactor: add amount on liquidity received and migrated events

* fix: format

* refactor: add amount on liquidity migrated event

* chore: pre-pr

---------

Co-authored-by: agusduha <agusnduha@gmail.com>

* fix: some remaining merge issues

* fix: go linting error

* fix: remove old test skips

* fix: unskip v2 upgrade tests

* fix: skip v2 upgrade tests again

---------

Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com>
Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com>
Co-authored-by: agusduha <agusnduha@gmail.com>
…ptimism#14706)

This introduces a new directory for acceptance tests. Within it we can store our tests, the op-acceptor configuration and a justfile to simplify running the acceptance tests.
…Manager.Clear()` (ethereum-optimism#14780)

* op-batcher: introduce ClearAllStateMetrics() and call from channelManager.Clear()

* fix test metrics

* use real metrics in test

* add godoc
@0xDiscotech 0xDiscotech requested a review from agusduha March 11, 2025 13:52
@0xDiscotech 0xDiscotech self-assigned this Mar 11, 2025
@agusduha agusduha merged commit ae1ce9c into sc-feat/interop-fixes Mar 11, 2025
2 checks passed
@agusduha agusduha deleted the chore/sync-develop branch March 11, 2025 13:54
0xiamflux pushed a commit that referenced this pull request Jan 27, 2026
<!--
Thank you for your Pull Request. Please provide a description above and
review
the requirements below.

Bug fixes and new features should include tests.

Contributors guide:
https://github.com/alloy-rs/core/blob/main/CONTRIBUTING.md

The contributors guide includes instructions for running rustfmt and
building the
documentation.
-->

<!-- ** Please select "Allow edits from maintainers" in the PR Options
** -->

## Motivation

Bump alloy to `0.12`
Closes #316 

<!--
Explain the context and why you're making that change. What is the
problem
you're trying to solve? In some cases there is not a problem and this
can be
thought of as being the motivation for your change.
-->

## Solution

- Bump alloy deps (using patch until 0.12 release)
- Bump alloy-core
- Impl RlpEcdsaEncodableTx for OpTypedTransaction

<!--
Summarize the solution and provide any necessary context needed to
understand
the code change.
-->

## PR Checklist

- [ ] Added Tests
- [ ] Added Documentation
- [ ] Breaking changes
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.