Skip to content

Conversation

@smartcontracts
Copy link
Contributor

Description

Helloooo. This PR adds utilities to the contracts package for generating state dumps. A default dump (state-dump.latest.json) is added to the build process, but we can always add different dumps for different contract versions if necessary. Introduces a new export:

import { getLatestStateDump } from '@eth-optimisim/rollup-contracts'

Additionally updates ovm-toolchain to make use of these state dumps in coordination with our new ethereumjs-ovm version (https://github.com/ethereum-optimism/ethereumjs-vm/tree/vm/4.x-state-dump).

Contributing Agreement

{
secretKey:
'0x29f3edee0ad3abf8e2699402e0e28cd6492c9be7eaab00d732a791c33552f797',
balance: 10000000000000000000000000000000000,
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: indentation off

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh rip, I think this is just prettier being funky.

maxQueuedGasPerEpoch: 1_000_000_000_000,
},
deployerWhitelistOwnerAddress: await signer.getAddress(),
allowArbitraryContractDeployment: true,
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel like this option was removed from being useful since initialize(address,bool) needs to be called on the contract before the contract does anything, unless this will send an additional transaction initializing.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah I'm not actually sure if it's even used in the deployment, but it's currently a required deployment configuration option. Do you think better to update the deploy config interface? Or just keep the option here for now and do that in another PR?

accounts: {
[address: string]: {
balance: number
nonce: number
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be nice to have codeHash as well, but it could be derived from the contract code. Removes the dependency of the consumer needing to have a keccak implementation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point! Will do.


const dump: StateDump = {
contracts: {
ovmExecutionManager: resolver.contracts.executionManager.address,
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it possible to get the address of each deployed contract here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes -- I'm going to make this change in a moment.

@K-Ho
Copy link
Contributor

K-Ho commented Dec 1, 2020

@K-Ho K-Ho closed this Dec 1, 2020
@gakonst gakonst deleted the feat/state-dump branch March 18, 2021 15:03
snario pushed a commit that referenced this pull request Apr 14, 2021
OptimismBot pushed a commit that referenced this pull request Mar 11, 2025
* feat: interop fixes

* fix: natspec format

* chore: add field on struct natspec

---------

Co-authored-by: 0xDiscotech <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Mar 12, 2025
* feat: interop fixes (#287)

* feat: interop fixes

* fix: natspec format

* chore: add field on struct natspec

---------

Co-authored-by: 0xDiscotech <[email protected]>

* fix: campaign fixes (#313)

* feat: interop fixes

* fix: permit2 not inifinite approval check

* chore: enhance superchain erc20 natspec

* chore: tests natspec

* fix: incorrect merge

---------

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

* chore: remove interop contracts (#318)

* chore: remove unnecessary interop contracts

* fix: golang tests

* chore: remove system config interop and run pre pr

* fix: exlude correct contracts on test to succeed

* chore: update initializer array length

* fix: semver lock

* fix: L2 audit findings (#323)

* fix: audit findings

* chore: pre-pr

* refactor: avoid stack too deep removing params on test (#324)

---------

Co-authored-by: AgusDuha <[email protected]>
Co-authored-by: agusduha <[email protected]>
Rjected pushed a commit to paradigmxyz/optimism that referenced this pull request Mar 18, 2025
* feat: interop fixes (ethereum-optimism#287)

* feat: interop fixes

* fix: natspec format

* chore: add field on struct natspec

---------

Co-authored-by: 0xDiscotech <[email protected]>

* fix: campaign fixes (ethereum-optimism#313)

* feat: interop fixes

* fix: permit2 not inifinite approval check

* chore: enhance superchain erc20 natspec

* chore: tests natspec

* fix: incorrect merge

---------

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

* chore: remove interop contracts (ethereum-optimism#318)

* chore: remove unnecessary interop contracts

* fix: golang tests

* chore: remove system config interop and run pre pr

* fix: exlude correct contracts on test to succeed

* chore: update initializer array length

* fix: semver lock

* fix: L2 audit findings (ethereum-optimism#323)

* fix: audit findings

* chore: pre-pr

* refactor: avoid stack too deep removing params on test (ethereum-optimism#324)

---------

Co-authored-by: AgusDuha <[email protected]>
Co-authored-by: agusduha <[email protected]>
Rjected added a commit to paradigmxyz/optimism that referenced this pull request Mar 18, 2025
* feat: add IRI security review by OffbeatLabs (ethereum-optimism#14319)

Adds the Incident Response Improvements security review by offbeat
labs.

* feat: op-deployer cleanupAfterExit, unit tests cleanup and clean cache subcmd (ethereum-optimism#14488)

* feat: op-deployer clean cache command

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* lint

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* chore: cleaner dealing with test dir

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* chore: refactor the IsolatedTestDirWithAutoCleanup and break import cycle

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* chore: small cleanup

Signed-off-by: Yashvardhan Kukreja <[email protected]>

---------

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* feat(op-program-svc): introduce new service to compute prestates (ethereum-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 <[email protected]>

---------

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

* op-service: make signer client compatible with SetCodeTx type (ethereum-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 <[email protected]>

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

* use uint256.MustFromBig instead of custom helper

---------

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

* maint: clean up security reviews table, update codeowners (ethereum-optimism#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.

* chore: Update drippie config files with actual config from runbook (ethereum-optimism#14451)

* Avoid lookup twice (ethereum-optimism#14354)

* vm-runner: Add metrics to track vm panics (ethereum-optimism#14504)

* 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

* update links in directory structure after PRs ethereum-optimism#12968 & ethereum-optimism#12828 (ethereum-optimism#14525)

* feat: do not alias 7702 addresses (ethereum-optimism#14506)

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.

* Revert "Added footer to op-deployer (ethereum-optimism#14374)" (ethereum-optimism#14528)

This reverts commit 9d94936.

* op-batcher: always `updateCursorAndMetrics` when returning from `processBlocks()` (ethereum-optimism#14520)

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

* Update op-batcher/batcher/channel_manager.go

Co-authored-by: Sebastian Stammler <[email protected]>

---------

Co-authored-by: Sebastian Stammler <[email protected]>

* fix(devnet-sdk): Unique sentinels for devnet-sdk (ethereum-optimism#14514)

* fix: Unique markers for devnet-sdk

* chore: Add a test

* feat: remove freeze from L1 and dispute contracts (ethereum-optimism#14438)

* op-challenger: Avoid loading duplicate leaves in same block (ethereum-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.

* feat: semgrep rules and check for reinitializer modifiers (ethereum-optimism#14534)

Adds semgrep rules and a new golang contracts check for
reinitializer modifiers. Important safety checks now that we are
using upgrade functions.

* Update 404 link VERSIONING.md (ethereum-optimism#14519)

* all: update op-geth to v1.101500.1 (ethereum-optimism#14500)

* 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

* Retry chain-id queries (ethereum-optimism#14539)

* devnet-sdk: Fix casing in book theme (ethereum-optimism#14545)

* chore: Fix another footer (ethereum-optimism#14548)

* op-supervisor: Check message expiry (ethereum-optimism#14463)

* 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 <[email protected]>

* op-challenger: Add Super DG contract caller (ethereum-optimism#14551)

* op-challenger: Add Super DG contract caller

* op-dispute-mon: Support Super FDG game types

* op-node: Remove OverrideMessageExpiryTimeInterop from rollup.Config (ethereum-optimism#14554)

* op-node: Remove OverrideMessageExpiryTimeInterop from rollup.Config

* fix test fixture

* feat: remove DeployOPCM (ethereum-optimism#14556)

* Add updated MT Cannon Spearbit audit (ethereum-optimism#14497)

* op-batcher: remove `ChannelManager.CheckExpectedProgress()` and add channel timeout log (ethereum-optimism#14553)

* op-batcher: remove ChannelManager.CheckExpectedProgress

* op-batcher: add warning log when a channel times out on chain

* optimize context usage (ethereum-optimism#14558)

* Add 64-bit tests for signExtend (ethereum-optimism#14543)

* op-batcher: correctly track block metrics in `handleChannelInvalidated()` (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

* op-batcher: improve `computeSyncActions()` logging (ethereum-optimism#14563)

* improve computeSyncActions logging

* fixup test and make sure all cases run (!)

* use more friendly format for structured logger

* feat: Remove BlockNumber Dispute for SuperFaultDisputeGame + SuperPermissionedGame  (ethereum-optimism#14431)

* Initial copy

* Make tests work

* snapshots

* semantic version for pre-release

* my size was not size

* semver lock fixed oops

* added spec tests

* fix initialization test

* allow modifying super fdg

* Update packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol

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

* introduced the deploy scripts

* added in new tests

* Update packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol

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

* Update packages/contracts-bedrock/src/dispute/SuperFaultDisputeGame.sol

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

* Patches

* fix tests

* remove unused errors

* new snapshots

* semver bump

* more snapshots

* vm()

* fixed spec tests

* snapshot + fix tests

* fix tests

* delete actors tests

* unused imports

* fix fork tests

* fix tests

* new test case

* use new prestate for deployment

* Remove Unused l2ChainId

* fix tests

* fix tests + snapshot

* missed one

* correct snapshot

---------

Co-authored-by: Inphi <[email protected]>
Co-authored-by: Michael Amadi <[email protected]>

* op-supervisor: independent reset preparation (ethereum-optimism#14444)

* interop: recovery draft

* Create consistencyState ; Wire required Backend Functions

* Full bisection ; block events during reset ; send reset signal

* unit test and fixes

* Cancel Reset if L1 Rewinds

* lint

* address comments ; fixes for tests

* Fix Unit Tests

* Add round-trip NodeID to Local Safe Updates (for ideal consistency tracking)

* op-supervisor,op-node: fixes to handle interop startup and resets

* refactor resetTracker ; fix E2E test

* Address PR Comments

---------

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

* op-program, op-challenger: Reduce number of steps per timestamp to 128 (ethereum-optimism#14572)

* op-program, op-challenger: Reduce number of steps per timestamp to 128

* Fix disputeed trace index.

* op-test-sequencer: initial service scaffolding (ethereum-optimism#14270)

* op-test-sequencer: initial service framework

* op-test-sequencer: readme and justfile

* ci: only tag finalized Docker images as 'latest' (ethereum-optimism#14582)

* Match OPCM version with monorepo release version (ethereum-optimism#14455)

* docs: We were still discussing some points about versioning

* fix: `isRC` is automatically set to false

* fix: reverted the versioning rules after the first change

* feat: explain why we have individual contract versioning

* feat: notes on deprecating `version()`

* docs: clearer branch denominations

* docs: when to remove `version()`

Co-authored-by: Matt Solomon <[email protected]>

---------

Co-authored-by: alcueca <[email protected]>
Co-authored-by: Matt Solomon <[email protected]>

* interop: Recursive hazard detection (ethereum-optimism#14453)

* refactor,tweak: Add new HazardSet type and add recursive hazards.

* tweak: Update op-program consolidate.go to use new HazardSet.

* cleanup: Move map lookup into if.

* tests,cleanup: Use existing mock dependency set.

* fix

* tests,cleanup: Improve and cleanup HazardSet tests.

* op-program: Fix log index of executing messages in block

* fix: Re-add message expiry check from 1d05a2a.

* cleanup: Remove repeated log.

* tweak: Remove hazard recursion limit.

* docs: Update comment in (un)safe update tests to be accurate.

* tests: Update test comments and restore missing cycle tests.

* cleanup: Remove line break from fn sig.

* fix: Resolve merge issues in consolidate.go.

* fix: Use new message expiry window getter in consolidate.go.

* tests: Remove first skip in CascadeInvalidBlock.

* refactor: Cleanup HazardSet.build and split checks out into helpers.

* fix: Re-remove legacy expiry check after merge conflict.

---------

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

* op-service: check if TLS is enabled and move middleware (ethereum-optimism#14571)

* op-service: check if TLS is enabled

* op-service: apply RPC middlewares globally

* op-service: apply RPC middlewares before RPC but after health

* op-service: test health before middleware

* feat: bytecode verification script (ethereum-optimism#14589)

Adds a script that makes it easy to verify that the bytecode you
have in a local artifact matches the bytecode of a contract on a
live network.

* op-e2e: Write jwt.secret to a temp dir instead of into the source code tree. (ethereum-optimism#14575)

* default to the correct gameType (ethereum-optimism#14591)

* Interop: Rewind tests (ethereum-optimism#14289)

* interop,fix: Treat missing L1 block as non-canonical.

* interop,tests: Add more Rewinder test cases.

* interop,tests: Remove unncessary error return.

* op-batcher: introduce `PREFER_LOCAL_SAFE_L2` config var (ethereum-optimism#14587)

* op-batcher: introduce PREFER_LOCAL_SAFE_L2 config var

* lint

* Apply suggestions from code review

Co-authored-by: Sebastian Stammler <[email protected]>

* lint

---------

Co-authored-by: Sebastian Stammler <[email protected]>

* op-deployer: Start finalizing support for v2.0.0 (ethereum-optimism#14557)

* op-deployer: Start finalizing support for v2.0.0

* remove stdvertoml

* remove another usage of stdvertoml

* goimports

* update to latest SR

* bump SR again

* Add updated sepolia SV200 addresses

* update v200 validator

* fix test

* Update op-deployer/book/src/reference-guide/releases.md

Co-authored-by: Matt Solomon <[email protected]>

---------

Co-authored-by: Maurelian <[email protected]>
Co-authored-by: Matt Solomon <[email protected]>

* mipsevm Memory Merklization Abstraction (ethereum-optimism#14292)

* Abstract the Merkle representation

* Implement asterisc's MPT

* migrate tests for mpt

* migrate tests for mpt

* copied benchmarks from asterisc

* fix failed merge

* Avoid pagelookup twice during setword invalidation

* fix state json codec test

* fix for singlethread too

* fix op-challenger test

* Remove MPT implementation

* address comments

* fix benchmark

* Update README.md (ethereum-optimism#14590)

* remove devnetL1 files (ethereum-optimism#14619)

* feat: implement EIP-7251, EIP-7002 end-to-end test (ethereum-optimism#14253)

* feat: implement EIP-7251 end-to-end test

* Add missing import

* Fix rebase issue

* Fix lint

* Ensure requests hash is empty

* Move to action test

* Remove untested EIP from comment

* feat: add acceptance test for BLS precompiles (ethereum-optimism#13934)

* feat: add acceptance test for BLS precompiles

* Fix get proof block hash

* Revert get proof block hash change

* Test all BLS precompiles

* Add reference to test vectors

* Fix test name

* Add test before activation and remove extra geth test logic

* op-node: drop stale todo in finality code (ethereum-optimism#14620)

* op-test-sequencer: structure sub-responsibilities (ethereum-optimism#14501)

* op-test-sequencer: structure sub-responsibilities

* op-test-sequencer: update todo comment with issue number

* ctb: Split up the OPCM (ethereum-optimism#14600)

* ctb: Split up the OPCM

* CR updates

* Update packages/contracts-bedrock/src/L1/OPContractsManager.sol

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

* snapshots

---------

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

* ctb: Add upgrade 14 upgrader (ethereum-optimism#14612)

* Remove redundant TODOs (ethereum-optimism#14610)

* op-e2e: Remove completed TODO

* op-test-sequencer: Remove TODO - ws support is not required here.

* op-supervisor: Remove TODO - RPC() method is intended to only return HTTP URLs.

* op-chain-ops: Remove TODO about making number of keys configurable.

The issue for this was closed with the decision that it didn't need to be configurable.

* op-program: Remove no longer relevant TODOs

* Undo script changes.

* Undo whitespace change.

* op-e2e: cleanup unused MessageExpiryTime from interop recipe (ethereum-optimism#14634)

* op-dispute-mon: Support interop (ethereum-optimism#14598)

* op-dispute-mon: Add support for super root game types.

* op-dispute-mon: Switch to a single getter method for determining root type.

* op-dispute-mon: Don't init rollup client if rollup-rpc is not set.

* contracts: Add solvency invariant test for Super FDG (ethereum-optimism#14555)

* contracts: Add solvency invariant test for Super FDG

* lint

* todo-checker: Fix handling of error codes. (ethereum-optimism#14611)

Now fails if it hits rate limits or other errors instead of silently ignoring.
Improves output to show all TODOs for closed issues.

* op-e2e: Update dispute game helpers to support SuperSystem and super cannon game types (ethereum-optimism#14574)

* op-e2e: Update dispute game helpers to support SuperSystem and super cannon game types.

* Switch back to permissioned cannon as default super system game type until OPCM supports super games
Don't deploy super games to pre-interop system

* Plural or genesis is actually geneses

* Add extra info in top half of super games.

* Move interop utils to new file.

* Add nil check.

* Remove completed todo (ethereum-optimism#14640)

* ops: Add docs around bailiff re-runs (ethereum-optimism#14632)

* contracts: rm not used format (ethereum-optimism#14593)

Signed-off-by: jsvisa <[email protected]>

* op-program: Consolidate cascading block replacements (ethereum-optimism#14622)

* op-program: Consolidate cascading block replacements

Blocks containing invalid messages affect the cross-safety of its
dependencies. This is because once the block is replaced with a deposits-only block,
any messages it contained would no longer exist. And thus,
executing messages that referenced the non-existent messages become
invalid as well.

To deal with this, consolidation runs until all cross-depedencies are
reconciled against deposits-only updates.

* consolidate oracle

* op-e2e: intra-block cascade action case

* add unit tests for consolidate oracle

* always store state diff for the deposits-only block build

* add output root to block build db

* updated transition state view in consolidate oracle

* lint

* fix(devnet-sdk): allow in-place redeployment (ethereum-optimism#14412)

Currently, the last step of the deployment (storing the devnet
descriptor into the enclave) fails the 2nd time around.
As kurtosis API doesn't allow us to overwrite an artifact, we sidestep
the issue by storing successive generations of the descriptor.

Also adjust the environment fetcher to detect and load the last
generation.

* devnet-sdk: Use geth logger instead of slog (ethereum-optimism#14644)

* Use testlog and geth log instead of slog

* Support devnet-sdk balance type for geth logging

* Update README for using testlog

* add flags: `txmgr.max-basefee` and `txmgr.max-tip-cap` (ethereum-optimism#13382)

* add flags: txmgr.max-basefee and txmgr.max-tip-cap

* add TestMaxFees

* address comment

* mod error msg

* ctb: Add contracts book (ethereum-optimism#14643)

* Adress and remove todo (ethereum-optimism#14646)

* dependabot(gomod): bump github.com/klauspost/compress (ethereum-optimism#14436)

Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.17.11 to 1.18.0.
- [Release notes](https://github.com/klauspost/compress/releases)
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml)
- [Commits](klauspost/compress@v1.17.11...v1.18.0)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: update message passing for EIP7623 (ethereum-optimism#14608)

* feat: update message passing for EIP7623

Updates the way that gas limits are handled in the message passing
system to account for EIP-7623. Most significant change is to
make the baseGas calculation inside of CrossDomainMessenger more
principled.

* fix: clean up XDM tests

* fix: apply EF byte change to all code

* fix: add OPPrestateUpdater to allow list

* fix: add changes to OPCM upgrade

* Add upgrade 13 audit (ethereum-optimism#14647)

* op-supervisor: cleanup stale todo comment (ethereum-optimism#14648)

* Test upgrades on a list of chains (ethereum-optimism#14358)

* prepare upgrade parameters

* Archive rpcs

* change var type rerun

* rerun ci

* rerun ci

* bump block number

* remove context

* set cached block number

* try to solve error

* move block number to justfile

* update just file

* update blocknumber on upgrades ci

* remove last config edit

* fix config

* Update packages/contracts-bedrock/justfile

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

* move logic to pinnedblocknumber

* fix

* fix just file

* fix again

* back to just

* remove char to rerun CI

* readd char to rerun CI

* add env to pinned block

* back to og name for merge

* only op-mainnet

* use current block number

---------

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

* isthmus: operator fee (ethereum-optimism#12166)

* feat: update IL1Block and info

* feat: update SystemConfig

* feat: add operator fee vault

* feat: handle transactions at Istmus activation

* feat: update GasPriceOracle

* feat: update deployment

* chore: update snapshots and semvers

* fix: GasPriceOracle nits

* fix: operator fee scalars ordering

* fix: handle feedbacks

* feat: remove operator fee vault constructor arguments

* chore: update e2e TestFees to handle operator fee

* chore: update snapshots

* fix: remove operator fee vault parameters on deployment

* feat: handle overflow for operator fee in GasPriceOracle

* chore: fee test

* chore: add e2e test to ensure operator fee doesn't ends up minting or burning eth

* fix: tests

* chore: use operator fee OP Geth branch for CI

* fix: tests

* fix(op-node): ordering of network upgrade txs

* fix: semver lock

* fix: sys config interop

* fix: semver lock

* fix: arithmetic return args

* fix: semver lock

fix: semver lock

fix: semver lock

fix: semver lock

fix: semver lock

* update system config interop

* fix: sys config interop semver lock

* fix: trailing newline

* chore: update tag

* fix: point to Isthmus by default

* fix: TestParseL1InfoDepositTxData

* Update test to catch Alice balance underflow

* fix: Test_Operator_Fee_Constistency

chore: update go.mod

* chore: update tag

* fix: operator fee are nil in receipts if both are 0

* chore: set the correct op-geth tag

* fix: handle sebastianst feedbacks

* fix: another round of feedbacks

* nit: useless cast

* chore: remove beta in contract versions

chore: update contracts versions

* chore: more comments on contract versions

* fix semgrep

* preinstall compilers

* schema

* indent

* add yes pipe

* ignore yes code

* try echo

* try wiping out the svm dir

---------

Co-authored-by: leruaa <[email protected]>
Co-authored-by: refcell <[email protected]>
Co-authored-by: Teddy Knox <[email protected]>
Co-authored-by: Matthew Slipper <[email protected]>

* feat: handle operator fee in OPCM (ethereum-optimism#14662)

* feat: handle operator fee in OPCM

* fix: upgrade version

* feat: check implementation address

* op-deployer: `l1-rpc-url` is not needed when `deployment-target` is `genesis` (ethereum-optimism#13515)

* l1-rpc-url is only needed when deployment-strategy is live

* address comment

* Decouple node from chain (ethereum-optimism#14660)

* op-conductor: Remove block time check for unsafe head progress (ethereum-optimism#14655)

* remove block time check for unsafe head progress

* fix test for this case

* slightly more succinct

* fix sequencer mock to stay healthy

* fix: remove requests processing step (ethereum-optimism#14623)

* fix: remove requests processing step

* Keep processing steps, but disable for Isthmus

* Update geth version

* op-e2e: Configurable blocktime setup for interop (ethereum-optimism#14672)

* all: update op-geth to v1.101503.0 (ethereum-optimism#14560)

* replace vm.AccountRef with common.Address

* op-chain-ops: replace prankRef by common.Address

* mise: update golangci-lint to 1.64.5

* op-chain-ops: fix prank handeCaller

* update to canonical op-geth version

* ct docs: update release process without suffixes in contract semvers (ethereum-optimism#14682)

* ct docs: update release process without suffixes in contract semvers

* ct docs: discourage code freeze on trunk

* ct docs: update the additional release candidate process

* ct docs: precribe a method for avoiding semver collisions

* Fix broken link in versioning.md (ethereum-optimism#14688)

* Fix broken link

* Fix again :)

* Fix another broken link

* op-node: continue sequencing when `L1TemporaryErrorEvent` happens (ethereum-optimism#14062)

* continue sequencing when L1TemporaryErrorEvent happens

* add TestSequencerL1TemporaryErrorEvent

* address comment

* fix test

* op-challenger: Add config option to set dependency set config (ethereum-optimism#14666)

* op-challenger: Add config option to set dependency set config

* Fix expected error message

* Add 1.5.0-rc.3 to releases.json (ethereum-optimism#14695)

* ci: Enforce correct formatting for TODOs. (ethereum-optimism#14639)

Fix the few TODOs that didn't correctly reference issues.
No requests to github are made when not checking closed issues. Ensures this runs fast and reliably in CI pre-merge.
Closed issues are then checked with a scheduled job.

* op-challenger: Update op-program executor to handle interop properly (ethereum-optimism#14667)

* op-challenger: Add config option to set dependency set config

* Fix expected error message

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

* Add ToSuper() method to convert super reponse to Super instance. (ethereum-optimism#14670)

* Add ToSuper() method to convert super reponse to Super instance.

Fix op-supervisor so it includes the Version in responses.

* op-proposer: Only enforce supported version of output roots on rollup source.

* op-challenger: Fix tests

* Add devnet-sdk validators for fork configuration (ethereum-optimism#14668)

* Improve address management in kurtosis-devnet and devnet-sdk (ethereum-optimism#14703)

* kt-devnet: add missing network params for supervisor (ethereum-optimism#14708)

* show more error info when EngineAPIError is returned (ethereum-optimism#14673)

* Misc renames for clarity to fields in devnet-sdk and kurtosis-devnet (ethereum-optimism#14705)

* Improve address management in kurtosis-devnet and devnet-sdk

* Perform various renames for clarity in kurtosis-devnet and devnet-sdk

* fix(op-deployer): goreleaser linker flags for rendering version (ethereum-optimism#14344)

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* feat: rm unnecessary generic type arguments (ethereum-optimism#12663)

* op-chain-ops: rm generic unnecessary type arguments

Signed-off-by: jsvisa <[email protected]>

* op-conductor: rm generic unnecessary type arguments

Signed-off-by: jsvisa <[email protected]>

* op-service: rm generic unnecessary type arguments

Signed-off-by: jsvisa <[email protected]>

* op-chain-ops: rm +1

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>

* ops: remove outdated legacy env rc example (ethereum-optimism#14724)

* Ingest L1 Chain ID into devnet-sdk (ethereum-optimism#14704)

* Improve address management in kurtosis-devnet and devnet-sdk

* Import L1 chain ID into devnet-sdk context

* Unfreeze MIPS contracts (ethereum-optimism#14726)

* cannon: Consolidate state version logic (ethereum-optimism#14725)

* Consolidate state version logic, add helpers to simplify updates

* Move version-related tests

* Use consistent casing

* contracts: use full compiler target for semver key (ethereum-optimism#14722)

* contracts: use full compiler target for semver key

* foundry: use_literal_content = true

* update check-semver-diff.sh filename parsing

* update semver-lock.json

* update check-frozen-files allow list to match compiler target names

* skip run-contracts-check ci job

* use negation to avoid deep nesting

* contracts: reenable semver-diff-check in ci (ethereum-optimism#14727)

* Refreeze MIPS contracts (ethereum-optimism#14732)

* cannon: Add more differential tests (ethereum-optimism#14684)

* Add a few more beq, bne test cases

* Tweak shift operation tests

* Add delay slot tests for jr/jalr

* Rework mov tests, add some test cases

* Add more slt(u) test cases

* Add slti tests

* Add sltiu tests

* Add test for sync instruction

* Rework binary operation tests

* Migrate nor test to use binary

* Fix comments

* op-deployer: add command to verify contracts (ethereum-optimism#14633)

* op-deployer: add 'verify' contracts command

* fix rate limiter values

* verified SuperchainConfigImplAddress

* verified superchain bundle (including constructor support)

* cleanup logs and flags

* cleanup: remove unused code

* verified implementations bundle

* verified opchain bundle

* update searchRemappings comment

* use more type-safe structs

* use l2-chain-id flag instead of l2-chain-index

* update to use new artifacts.Download function definition

* read constructor args from deployment tx initcode

* return error if contract creation query fails

* use more informative contract-name flag description

* calc num constructorArgSlots by parsing abi

* add json tags (matching contract bundle) to deploy script outputs

* bootstrap default to writing to bootstrap_<command>.json file

* pass contracts-locator flag to verify command

* minimize flags required for bootstrap, verify

* fix TestArtifactJSON

* add etherscan unit tests

* fix go lint errors

* make artifact lookup compatible with fragmented opcm

* fix go lint errors

* use require instead of assert in tests

* op-validator: Add mainnet validators (ethereum-optimism#14734)

* all: Implement optional PectraBlobSchedule fork/feature (ethereum-optimism#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

* Don't split log.msg (ethereum-optimism#14735)

Splitting the message makes it hard to grep to find the source of the error.

* op-challenger: Interop vm runner (ethereum-optimism#14669)

* 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()

* op-deployer: Upgrade contracts support to v3.0.0 (ethereum-optimism#14733)

* op-deployer: add documentation for verify command (ethereum-optimism#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 <[email protected]>

* ci: Fix preimage-reproducibility (ethereum-optimism#14742)

* ci: Capture reproducibility build logs as artifacts

* Install dependencies when mise.toml is present.

* dependabot(gomod): bump github.com/prometheus/client_golang (ethereum-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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* kt-devnet: remove network params for supervisor (ethereum-optimism#14746)

* op-service: Expand EthClient for tx handling (ethereum-optimism#14747)

* op-supervisor,op-service: fix server-client API consistency (ethereum-optimism#14720)

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

* op-e2e: fix finality test, finalized-L1 getter now errors when not initialized

* op-program: Update prestate reproducibility check to compare against 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

* Fix problem with kurtosis-devnet deploy (ethereum-optimism#14729)

* allow specifying a custom package (ethereum-optimism#14750)

* op-program: Add a host subcommand to list available chain configs. (ethereum-optimism#14699)

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

* op-program: Also list custom chain configs

* go: update SR to cb1b645b35813b8dd3a900b9f99c46614e466a2c via op-geth (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

* op-batcher: force use of TerminalString throughout syncActions logging (ethereum-optimism#14687)

Depending on the logger, it may not call this automatically

* update TODO ethereum-optimism#11693 and ethereum-optimism#14765 (ethereum-optimism#14766)

* op-program: Fix todo (ethereum-optimism#14773)

* feat: interop portal updates (ethereum-optimism#14664)

* 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 (ethereum-optimism#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 (ethereum-optimism#291)

* feat: integrate portal with lockbox

* fix: migrate natspec

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

* fix: delete natspec

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

* 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 <[email protected]>

* fix: semver lock

* fix: failing tests after merge

* fix: interface import

* chore: add lockbox pao matches final system owner check

* fix: pr comments (ethereum-optimism#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 (ethereum-optimism#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 (ethereum-optimism#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 (ethereum-optimism#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 (ethereum-optimism#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 (ethereum-optimism#302)

* fix: include lockbox on reinitialization test and add todos with issue number (ethereum-optimism#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 (ethereum-optimism#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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: AgusDuha <[email protected]>
Co-authored-by: agusduha <[email protected]>

* Add consistency checks in ChainsDB Queries (ethereum-optimism#14769)

* feat(op-acceptance-tests): introduce op-acceptance-tests. (ethereum-optimism#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.

* op-program: Update issue number on TODO (ethereum-optimism#14776)

* op-batcher: introduce `ClearAllStateMetrics()` and call from `channelManager.Clear()` (ethereum-optimism#14780)

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

* fix test metrics

* use real metrics in test

* add godoc

* op-e2e: Intra-block interop action tests (ethereum-optimism#14565)

* chore: Show target directory when an error occurs (ethereum-optimism#14787)

* chore: Add fee estimation logic for EIP1559 transactions to devnet-sdk (ethereum-optimism#14721)

* chore: Add fee estimation logic for EIP1559 transactions

* chore: Make EIP1159FeeEthClient public

* op-e2e: action tests for L1 Pectra activation (ethereum-optimism#14006)

* op-e2e: enhance test batcher so it can send SetCode txs

* op-e2e: add TestPragueForkAfterGenesis

* tweak wording

* reuse ptr() helper from proofs_test

* uncomment additional assertions

* add extra assertion that safe head = unsafe head for non set code tx case

* use matrix.AddDefaultCasesWithName

* check blob base fee in l1block contract

* tweak logging

* test for consistency with upstream block fee helper

* check blob fee when L1 origin is pre prague

* factor out requireSafeHeadProgression and ensure FPP runs on ultimate safe head

* Add a test to verify withdrawal root header Isthmus behavior (ethereum-optimism#14719)

* Fix problem with kurtosis-devnet deploy

* Add NAT test for Isthmus withdrawal root header

* Add devnet-sdk fees test (ethereum-optimism#14718)

* Fix problem with kurtosis-devnet deploy

* Add devnet-sdk port of op-e2e fees_test.go

* Add Fjord NAT Test (ethereum-optimism#14717)

* Fix problem with kurtosis-devnet deploy

* Port Fjord check scripts op-e2e test to devnet-sdk

* Add ERC20 Bridge NAT Test (ethereum-optimism#14716)

* Fix problem with kurtosis-devnet deploy

* Add devnet-sdk port of op-e2e erc20_bridge_test.go

* fix(kt-devnet): skip fileserver deployment when possible (ethereum-optimism#14413)

This is a temporary measure, until we can integrate a proofs-only
fileserver with the op-challenger deployment.

But in the meantime, this unblocks a decent amount of idempotent
kurtosis deployments, by avoiding kurtosis invalidating the execution
cache needlessly.

* feat: interop portal fast follow 1 (ethereum-optimism#14785)

* feat: interop portal fast follow 1

First set of fast-follow changes to the interop portal.

* fix: PR review feedback

* feat: update operator fee contract bytecodes (ethereum-optimism#14753)

* feat: update operator fee contract bytecodes

* feat: add Isthmus contracts version check

* feat(kurtosis-devnet): make kurtosis package reproducible (ethereum-optimism#14770)

This change introduces a trampoline package that we can use to pin the
(transitive) dependencies of our optimism package.

* Include pectra blob schedule fork time in rollup config description. (ethereum-optimism#14796)

De-duplicate iteration of each hard fork between Description and LogDescription

* op-deployer: Clarify versioning docs (ethereum-optimism#14738)

* op-deployer: Clarify versioning docs

* Apply suggestions from code review

---------

Co-authored-by: Matt Solomon <[email protected]>

* op-e2e: add interop messaging dsl (ethereum-optimism#14792)

* fix(op-deployer): verify devdocs json format (ethereum-optimism#14812)

* fix(kt-devnet): pin correct kt dependency (ethereum-optimism#14806)

* fix(op-deployer): default cache dir (ethereum-optimism#14810)

* fix(op-deployer): default cache dir

* add explanatory fallback log

* fix: interop findings (ethereum-optimism#14790)

* feat: interop fixes (ethereum-optimism#287)

* feat: interop fixes

* fix: natspec format

* chore: add field on struct natspec

---------

Co-authored-by: 0xDiscotech <[email protected]>

* fix: campaign fixes (ethereum-optimism#313)

* feat: interop fixes

* fix: permit2 not inifinite approval check

* chore: enhance superchain erc20 natspec

* chore: tests natspec

* fix: incorrect merge

---------

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

* chore: remove interop contracts (ethereum-optimism#318)

* chore: remove unnecessary interop contracts

* fix: golang tests

* chore: remove system config interop and run pre pr

* fix: exlude correct contracts on test to succeed

* chore: update initializer array length

* fix: semver lock

* fix: L2 audit findings (ethereum-optimism#323)

* fix: audit findings

* chore: pre-pr

* refactor: avoid stack too deep removing params on test (ethereum-optimism#324)

---------

Co-authored-by: AgusDuha <[email protected]>
Co-authored-by: agusduha <[email protected]>

* ctb/validator: Add v3.0.0 validator (ethereum-optimism#14768)

* ctb/validator: Add v3.0.0 validator

* use exp import

* ci fixes

* fix slice sort

* add operator fee validation

* fix tests

* Add twrap in contracts just (ethereum-optimism#14807)

* add twrap in just

* rerun ci

* dependabot(gomod): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (ethereum-optimism#14510)

Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/google/go-cmp/releases)
- [Commits](google/go-cmp@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: github.com/google/go-cmp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(op-deployer): block getter by num via RPC (ethereum-optimism#14689)

Signed-off-by: Yashvardhan Kukreja <[email protected]>

* op-e2e: Fill in varied block time fp action tests (ethereum-optimism#14786)

* add more chains to upgrade test (ethereum-optimism#14656)

* add unichain mainnet

* bump superchain registry and refactor parser

* json to toml

* correct typo

* fmt

* add permissions

* try hardcoded key

* escape

* test

* superchain-ops like fix

* select standard validation version

* fmt

* update version

* change test to ink

* build base cache

* uni, ink base and op

* bump superchain registry

* bump registry

* skip op test on other chains

* fmt

* skip non-op test for non-op chains

* fmt

* fix tests of conflicts

* remove console import

* remove correct import

* util function

* op-deployer: Fix broken init logic (ethereum-optimism#14827)

Previously, any deployment using tagged releases on an official chain like Sepolia would use the predeployed OPCM. The predeployed OPCM would point these chains to the global `SuperchainConfig`, which may not have been the intended behavior. This PR updates the logic in the deployment pipeline to use the global `SuperchainConfig` under the following conditions:

1. The user specifies intent type `standard`.
2. The user specifies intent type `standard-overrides` and does not modify the Superchain roles.

* call NewEVMBlockContext after the blob gas fields are set (ethereum-optimism#14709)

* feat: remove DisputeGameFactory input from SystemConfig (ethereum-optimism#14820)

* feat: remove DisputeGameFactory input from SystemConfig

Updates the SystemConfig to kill the DisputeGameFactory input. By
getting this address from the OptimismPortal we can remove the
need for unnecessary inputs that would have to be changed if the
DisputeGameFactory changes.

* fix: make tests work

* fix: remove console log

* fix: move address fetch

* fix: address pr feedback

* fix: missing semicolon

* chore: remove DISPUTE_GAME_FACTORY_SLOT

* test: fix abi spec

---------

Co-authored-by: Matt Solomon <[email protected]>

* Move NAT tests into op-acceptance-tests (ethereum-optimism#14802)

Also splits and fixes fee NAT tests.

* devnet-sdk: Plugin op-service ethclient (ethereum-optimism#14751)

* op-deployer: Add backports guide (ethereum-optimism#14830)

* enable ci for devnet-sdk (ethereum-optimism#14843)

* all: update op-geth and SCR submodule (ethereum-optimism#14842)

* update op-geth dependency

* update scr submodule

---------

Signed-off-by: Yashvardhan Kukreja <[email protected]>
Signed-off-by: jsvisa <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: smartcontracts <[email protected]>
Co-authored-by: Yashvardhan Kukreja <[email protected]>
Co-authored-by: Yann Hodique <[email protected]>
Co-authored-by: Inphi <[email protected]>
Co-authored-by: Sam Stokes <[email protected]>
Co-authored-by: protolambda <[email protected]>
Co-authored-by: Paul Dowman <[email protected]>
Co-authored-by: Eric Tu <[email protected]>
Co-authored-by: mbaxter <[email protected]>
Co-authored-by: NaijaCoderGirl <[email protected]>
Co-authored-by: Matthew Slipper <[email protected]>
Co-authored-by: George Knee <[email protected]>
Co-authored-by: Sebastian Stammler <[email protected]>
Co-authored-by: Ján Jakub Naništa <[email protected]>
Co-authored-by: Maurelian <[email protected]>
Co-authored-by: Adrian Sutton <[email protected]>
Co-authored-by: Rebustron <[email protected]>
Co-authored-by: zhiqiangxu <[email protected]>
Co-authored-by: ControlCplusControlV <[email protected]>
Co-authored-by: Michael Amadi <[email protected]>
Co-authored-by: Axel Kingsley <[email protected]>
Co-authored-by: Alberto Cuesta Cañada <[email protected]>
Co-authored-by: alcueca <[email protected]>
Co-authored-by: Matt Solomon <[email protected]>
Co-authored-by: Tyler Smith <[email protected]>
Co-authored-by: Maurelian <[email protected]>
Co-authored-by: leopardracer <[email protected]>
Co-authored-by: Julian Meyer <[email protected]>
Co-authored-by: Delweng <[email protected]>
Co-authored-by: Park Changwan <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: JosepBove <[email protected]>
Co-authored-by: Yuwen Zhang <[email protected]>
Co-authored-by: leruaa <[email protected]>
Co-authored-by: refcell <[email protected]>
Co-authored-by: Teddy Knox <[email protected]>
Co-authored-by: Aurélien <[email protected]>
Co-authored-by: Dan Pulitano <[email protected]>
Co-authored-by: Teddy Knox <[email protected]>
Co-authored-by: Joshua Gutow <[email protected]>
Co-authored-by: Disco <[email protected]>
Co-authored-by: AgusDuha <[email protected]>
Co-authored-by: agusduha <[email protected]>
Co-authored-by: Stefano Charissis <[email protected]>
Co-authored-by: Yashvardhan Kukreja <[email protected]>
Co-authored-by: blockchaindevsh <[email protected]>
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