Skip to content

Conversation

blockchaindevsh
Copy link

This PR merges op-es branch with latest upstream commit c1081e3(Fusaka Readiness Release).

The conflicts in .circleci/config.yml are left to @syntrust .

Inphi and others added 30 commits August 19, 2025 22:32
…ptimism#17124)

* op-program: Rely on mise install cache for prestate build

* install only the go mise dep

* append to logs

* rewrite mise.toml to get around install conflicts
…-devstack (ethereum-optimism#17130)

Convert isthmus operator fee acceptance tests to use the new op-devstack
testing framework instead of the legacy devnet-sdk. Updates test interfaces
and types while preserving test functionality.

Main changes:
- Update imports from devnet-sdk/testing/systest to op-devstack/devtest
- Convert test interface types (systest.T → devtest.T)
- Simplify unit tests (removed implementations of unused functions)
- Mark unused utility functions with conversion notes
* op-sync-tester: eth namespace relay

* simplify

* More synctester example configs

* better error handling fore eth_chainId

* safety guard

* read only backend encapsulation

* fix lint

* rename

* refactor sync tester init

* mock rl backend and chainID test

* refactor

* GetBlockByHash tests

* GetBlockByNumber tests

* GetBlockReceipts tests

* consistency

* fix logic error
* update conductor scenario when builder failure

* check for rollup boost enabled

* modify comments

* fix test
…sm#17154)

* op-service/eth: fix validationError string pointer reference

* op-service/eth: fix exec payload creation from block

Execution payloads must only set the withdrawals root post-Isthmus.
The block's withdrawals root is set during assembly pre-Isthmus.

* go: update op-geth dependency
…ck (ethereum-optimism#17160)

Convert the TestInteropReadiness test from devnet-sdk to op-devstack framework.
Use MultiCaller batching for contract interactions and presets.NewSimpleInterop()
for test setup. Fix challenger preset compilation issue temporarily.
)

* Remove unused withdrawal action methods

* fix lint from ‘go fmt’ to make ci happy
* op-deployer: Add forge autodiscovery

* add limit reader

* cr updates
…thereum-optimism#16994)

* op-acceptance-tests: Add helper contract to perform multiple moves in dispute games.

# Conflicts:
#	op-acceptance-tests/tests/isthmus/operator_fee/tx_utils.go

* op-acceptance-tests: Rename GameState to GameHelper and use it via FaultDisputeGame rather than directly.

* op-acceptance-tests: Verify claims are responded to correctly

# Conflicts:
#	op-devstack/dsl/proofs/fault_dispute_game.go

* op-acceptance-tests: Better test name

* op-acceptance-tests: Simplify

* Use specific imports.

* Fix contract checks.

* Add comment

* Update snapshots.

* Remove unused extraData

* Remove unused extraData

* op-acceptance-tests: Review feedback

* plan: Add test that other node's dependencies are unaffected.

* plan: Introduce single function to reset fn and dependencies.

* dsl: Don't set a fixed gas limit for ETH transfers.

Transferring ETH to a contract uses more than 21,000 gas.
* Drop SupportMinimalSysEventFd2 feature flag

* Drop SupportDclzDclo feature flag

* Drop SupportNoopMprotect feature flag

* Bump MIPS64 contract version

* Fix typo

* Cut unused variable

* Run semver-lock

* Update mips version in the StandardValidator

* Run semver-lock

* Bump StandardValidator contract version

* Cut unused features / stateVersion variables
…thereum-optimism#17176)

Prepares for go 1.25 to avoid it needing the prctl syscall which cannon doesn't support.
…rn (ethereum-optimism#16929)

* feat: create a new version of the fault dispute game to validate creator pattern flow

* chore: make ci happy with interface

* chore: run pre pr snapshots and rename interface to fix ci

* chore: remove duplicated(?) files

* chore: update immutable variable allowlist

* fix: exclude the FaultDisputeGameV2 from reinitialize test

* fix: array access

* fix: compiler setting restriction v2

* fix: snapshot lock

* fix: add faultdisputegame v2 to allowlist

* fix: use correct path

* feat: add helper function to test contract for v2 fdg

* Update packages/contracts-bedrock/test/dispute/DisputeGameFactory.t.sol

Co-authored-by: mbaxter <[email protected]>

* fix: remove CANNON_2 for now

* fix: pull in readability change for cwia

* fix: add error to interface

* fix: add error to interface

* chore: bump semver and lock

---------

Co-authored-by: mbaxter <[email protected]>
…7072)

* op-sync-tester: Verifier Engine APIs

* refactor and add comments

* rebasing for changing canyon from shanghai
…ocene (ethereum-optimism#17181)

* Support fjord, granite, holocene

* Revise comments
ethereum-optimism#17132)

* op-devstack: link SyncTester with L2CL; initial e2e test

* op-sync-tester: augment sync tester config

* op-devstack: add TargetBlocks to sync tester initialization

* op-sync-tester, op-devstack: use FCUState

* op-devstack: remove SyncTester.hydrate

* op-acceptance-tests: enable L2CL2 sync with SyncTester

* op-sync-tester, op-devstack: renames

* op-devstack: remove pointer as FCUState is mandatory
* Update standard MIPSVersion constant

* Update OPCMStandardValidator stateVersion() check

* Update StandardConstants.MIPS_VERSION

* Replace hard-coded mipsversion values in OPCMStandardValidator tests

* Run forge fmt

* Update OPContractsManagerStandardValidator version

* Run semver-lock
geoknee and others added 20 commits October 6, 2025 12:43
…thereum-optimism#17725)

* recompute blob proof if skipBlobVerification

* use even simpler verification

* replace verification logic

* refactor to make verification more direct

This approach does not use any additional data from the beacon endpoint, aside from the blob itself, so anticipates future API changes where this will be the only data provided.

* tweak comments

* rename to verifyBlob

* tweak test comments

* Revert "op-service/L1BeaconClient: allow blob proof verification to be skipped via `l1.beacon.skip-blob-verification` flag (ethereum-optimism#17713)"

This reverts commit 05ba528.

* Revert "Add `skip-blob-verification` flag to op-program and op-challenger  (ethereum-optimism#17718)"

This reverts commit 3ee883b.

* add an extra unit test
* op-service/txplan: support blob txs

* op-service/txinclude: handle future nonce gaps

This can happen when we get mempool errors like "nonce too high", which
itself can occur when we hit "account limit exceeded" errors in the blob
pool.

* sysgo: add Osaka activation test

* sysext: infer L1 config when possible
…m#17722)

* op-challenger: convert l1 genesis flag to VMFlag

* Disallow l1-genesis flag use with the network flag

* typo

* another typo

---------

Co-authored-by: geoknee <[email protected]>
…7714)

* op-service: Engine APIs

* op-devstack: L2EL Engine API support: op-geth

* Handle Read Only ELs

* Move to different dir

* op-devstack: DSL for ref by hash and FCU

* op-acceptance-tests: Manual Verifier Sync

* op-acceptance-tests: Manual Verifier Sync: Harden

* op-devstack: godoc and better var naming
* upgrade controller removed from OPCM

* renamed upgradeController to l1PAO in DeployImplementations.Input

* Update semver

* Remove upgradeController from the docs

* Fix VerifyOPCM

* Did quite the find and replace here

* The OPCM constructor only takes 24 slots now

* Some straggler renamings

* Fix: semver-lock

* Doh

* Snapshots?

* lint

* Fixed the last of the lint with the power of regex

* fixed linting

* L1PAO == SuperchainProxyAdminOwner

* We shouldn't need to pass the upgrade controller to op-deployer to deploy opcm anymore

* L1PAO != SuperchainPAO

* Let's accept both the backwards compatible UPGRADE_CONTROLLER and the new L!_PROXY_ADMIN_OWNER

* Maybe I'll need to drop UPGRADE_CONTROLLER

* addressed comments from @bitwiseguy

* Needed the three dots, it seems

* Shortened form of L1PAO not used in code anymore

* update semver-lock and opcm bytecode

* *sigh*
ethereum-optimism#17730)

* build(ci): add manual workflow for AI contracts test maintenance system

- add ai_contracts_test_dispatch parameter for manual pipeline triggering
- add ai-contracts-test job that runs just ai-contracts-test command
- add ai-contracts-test-workflow with manual dispatch only
- use devin-api context for Devin API credentials
- set 60 minute timeout for AI contract test execution

* build(ci): store log artifact in AI contracts test workflow

- add store_artifacts step to save log.jsonl from test runs

* fix: handle socket timeouts in devin API client

- add TimeoutError exception handling in _make_request function
- update version to 0.3.2

* docs(ci): add runbook reference to AI contracts test job
…mism#17692)

Adds semi-automated promotions to our FlakeShake system, by:
- Reviewing the flake-shake results for promotion candidates
- Creating a PR for the promotion-ready tests
- Notifying us of this on Slack
…m#17736)

* beacon client: use new fusaka endpoint to get blobs

Fallback to old endpoint on error.

* unexport method

* tests: rename clientWithValidation -> client

* remove comments

* Update op-service/sources/l1_beacon_client.go

---------

Co-authored-by: geoknee <[email protected]>
…timism#17752)

* op-devstack: engine: FCU retry helper

* op-devstack: Helper for L2EL p2p removal

* op-acceptance-tests: ELP2P for EL Syncing for unsafe gap

* op-acceptance-tests: ELP2P newPayload not retained automatically

* op-acceptance-tests: Better comments
…rough env vars. (ethereum-optimism#17746)

Previously, the enabled case was tested by explicitly enabling the dev flag but CI has been updated to run all tests with and without the flag enabled.
The explicit enabling gets in the way of testing creator pattern changes.
…mism#17721)

- add test for version constant
- ensure comprehensive coverage of all public elements

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Adds a new make gen-binding command for generating or updating go
bindings for a contract.
Also includes documentation in the op-e2e README.
…sm#17776)

* op-deployer: Do not create cache directory on import

* create the one the flag makes
…mism#17775)

* op-acceptance-tests: Add smoke tests for disputegamev2

* add missing skip
 Conflicts:
	.circleci/config.yml
	go.mod
	go.sum
	kurtosis-devnet/optimism-package-trampoline/kurtosis.yml
	op-chain-ops/genesis/config.go
	op-e2e/actions/helpers/l2_sequencer.go
	op-e2e/config/init.go
	op-e2e/system/runcfg/protocol_versions_test.go
	op-node/config/config.go
	op-node/node/node.go
	op-node/rollup/driver/driver.go
	op-node/rollup/sequencing/sequencer.go
	op-node/rollup/sequencing/sequencer_test.go
	op-service/testutils/random.go
	packages/contracts-bedrock/scripts/checks/check-frozen-files.sh
	packages/contracts-bedrock/scripts/checks/check-semver-diff.sh
	packages/contracts-bedrock/scripts/deploy/DeployConfig.s.sol
	packages/contracts-bedrock/snapshots/semver-lock.json
	packages/contracts-bedrock/src/L1/OptimismPortal2.sol
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.