Releases: ethereum-optimism/optimism
Release list
op-reth v2.3.3
Warning
This is a mandatory release for all node operators. It includes the Mainnet timestamps for the Karst hardfork.
The following Mainnet chains will activate on 1783526401 (Wed Jul 8 2026 16:00:01 UTC), pending governance approval: op, ink, zora, mode, lisk, metal, unichain, soneium, ethernity, tbn
Reminder: op-geth has reached end of support, so you must be running op-reth to support the karst activation. For more details on this network upgrade see our notice page.
Important
Operators must use op-node/v1.19.1 with this release. Prior versions of op-node will not work with this version of op-reth after Karst due to a new engine API method (getPayloadV5) used after Karst. See the notice page for more details about recommended versions (including flashblocks components).
op-reth can now load OP Sepolia and OP Mainnet timestamps from the superchain registry. If you are a node operator for either of those chains, you do not need to specify a custom genesis file with the --chain flag.
Caution
Mandatory upgrade. Fixes eth_estimateGas after the Karst hardfork.
What's Changed in op-reth/v2.3.3
- fix(op-reth): set tx_gas_limit_cap for Osaka so eth_estimateGas works under Karst by @joshklop in #21574
- fix(op-reth): anchor op-proofs init post-init backfill on
latest, notearliestby @dhyaniarun1993 in #21543 - fix(sdm): stabilize PostExec consensus surface (Verify 0x7D guard + opt-in TOCTOU) by @nonsense in #21502
- fix(op-reth): surface pruned block bodies as a typed error instead of state-root mismatch by @dhyaniarun1993 in #21495
- feat(op-reth): make chainspec reth-codec opt-in by @einar-oplabs in #21483
- fix(op-reth): evict definitively-invalid interop txs on revalidation by @ajsutton in #21447
- op-reth: generate superchain-configs.tar via build.rs, decommit it by @sebastianst in #21482
- fix(op-reth): enable superchain-configs for reth-optimism-evm tests by @einar-oplabs in #21497
- chore: rename Interop hardfork to Lagoon by @digorithm in #21370
- superchain: couple registry via hoisted root submodule by @sebastianst in #21474
- feat(op-reth): load OP Mainnet/Sepolia from superchain-registry, drop Base by @sebastianst in #21397
- test(alloy-op-evm): cover included-but-reverted tx warming a later tx by @nonsense in #21466
- fix(alloy-op-evm): skip SDM warming rebates for never-cold accesses; harden test suite by @nonsense in #21434
- feat(op-reth): gate payload builder on interop failsafe by @ajsutton in #21448
- fix(alloy-op-evm): roll back SDM block-warming for declined op-rbuilder candidates by @nonsense in #21359
- refactor(sdm): gate SDM directly on Lagoon hardfork by @nonsense in #21379
- rust: centralize OP fork → implied L1 fork mapping by @sebastianst in #21368
- feat(op-reth/txpool): impl ValidatingPool for OpPool by @einar-oplabs in #21378
- alloy-op-evm: reject user txs in fork-activation blocks (forks ≥ Jovian) by @sebastianst in #21326
- rust: update reth to v2.3.0 by @sebastianst in #21348
- feat(op-reth): add configurable max uncompressed block size cap by @joshklop in #21353
- Activate Osaka at Karst and add engine getPayloadV5 by @sebastianst in #21337
- feat: add op pool public api [@julio4 community pr] by @einar-oplabs in #21305
Full Changelog: op-reth/v2.3.1...op-reth/v2.3.3
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-reth:v2.3.3
op-reth v2.3.2
Please use op-reth v2.3.3 instead. It contains a bug fix for eth_estimateGas.
Warning
This is a mandatory release for all node operators. It includes the Mainnet timestamps for the Karst hardfork.
The following Mainnet chains will activate on 1783526401 (Wed Jul 8 2026 16:00:01 UTC), pending governance approval: op, ink, zora, mode, lisk, metal, unichain, soneium, ethernity, tbn
Reminder: op-geth has reached end of support, so you must be running op-reth to support the karst activation. For more details on this network upgrade see our notice page.
Important
Operators must use op-node/v1.19.1 with this release. Prior versions of op-node will not work with this version of op-reth after Karst due to a new engine API method (getPayloadV5) used after Karst. See the notice page for more details about recommended versions (including flashblocks components).
op-reth can now load OP Sepolia and OP Mainnet timestamps from the superchain registry. If you are a node operator for either of those chains, you do not need to specify a custom genesis file with the --chain flag.
Update: we are aware of an issue impacting calls to eth_estimateGas after Karst has activated. We have a fix that will be released in op-reth/v2.3.3 prior to mainnet activation. The notice page has more details.
What's Changed in op-reth/v2.3.2
- rust: centralize OP fork → implied L1 fork mapping by @sebastianst in #21368
- feat(op-reth/txpool): impl ValidatingPool for OpPool by @einar-oplabs in #21378
- alloy-op-evm: reject user txs in fork-activation blocks (forks ≥ Jovian) by @sebastianst in #21326
- rust: update reth to v2.3.0 by @sebastianst in #21348
- feat(op-reth): add configurable max uncompressed block size cap by @joshklop in #21353
- Activate Osaka at Karst and add engine getPayloadV5 by @sebastianst in #21337
- feat: add op pool public api [@julio4 community pr] by @einar-oplabs in #21305
Full Changelog: op-reth/v2.3.1...op-reth/v2.3.2
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-reth:v2.3.2
op-node v1.19.1
Warning
This is a mandatory release for all node operators. It includes the Mainnet timestamps for the Karst hardfork.
The following Mainnet chains will activate on 1783526401 (Wed Jul 8 2026 16:00:01 UTC), pending governance approval: op, ink, zora, mode, lisk, metal, unichain, soneium, ethernity, tbn
Reminder: op-geth has reached end of support, so you must be running op-reth to support the karst activation. For more details on this network upgrade see our notice page.
Important
Operators must use op-reth/v2.3.2 with this release. Prior versions of op-reth will not work with this version of op-node after Karst due to a new engine API method (getPayloadV5) used after Karst. See the notice page for more details about recommended versions (including flashblocks components).
Note that some chains have a new keep_karst_upgrade_gas boolean field in their superchain registry configuration. Chains with this value set to true are encouraged to manually reset their gas limit after Karst activates on Sepolia and Mainnet. See the notice page for more information.
Update: op-node contains a known issue that impacts CL-syncing op-reth nodes that prune block bodies (when --minimal or --prune.bodies.distance are set). A fix is in the works. In the meantime, the recommendation is to enable EL syncing or disable pruning (the latter requires a resync).
What's Changed in op-node/v1.19.1
- superchain: load keep_karst_upgrade_gas from registry into op-node by @geoknee in #21566
- derive: fix sticky upgrade gas for Karst (but keep it for select chains) by @sebastianst in #21441
- Activate Osaka at Karst and add engine getPayloadV5 by @sebastianst in #21337
- op-node: default --l2.enginekind to reth by @sbvegan in #21295
Full Changelog: op-node/v1.19.0...op-node/v1.19.1
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.19.1
op-deployer/v0.7.1
Changelog
- 6a1240e chore(opd): update SCR dep for op-contracts/v7.0.0-rc.3 tag (#20989)
- 7525482 chore(opd): update SCR dep for op-contracts/v7.0.0-rc.4 tag (#21045)
- d210865 fix(op-deployer): hydrate OpcmUtilsImpl and OpcmMigratorImpl in state (#20403)
- 35121b5 refactor: remove ProtocolVersions Go plumbing (#20441)
kona-node v1.6.1
Warning
This is a mandatory release for all node operators. It includes the Mainnet timestamps for the Karst hardfork.
The following Mainnet chains will activate on 1783526401 (Wed Jul 8 2026 16:00:01 UTC), pending governance approval: op, ink, zora, mode, lisk, metal, unichain, soneium, ethernity, tbn
Reminder: op-geth has reached end of support, so you must be running op-reth to support the karst activation. For more details on this network upgrade see our notice page.
Important
Operators must use op-reth/v2.3.2 with this release. Prior versions of op-reth will not work with this version of kona-node after Karst due to a new engine API method (getPayloadV5) used after Karst. See the notice page for more details about recommended versions (including flashblocks components).
What's Changed in kona-node/v1.6.1
- rust: update reth to v2.3.0 by @sebastianst in #21348
- Activate Osaka at Karst and add engine getPayloadV5 by @sebastianst in #21337
- rust: align kona/op-revm/alloy spec_id resolution and eth base by @sebastianst in #21291
Full Changelog: kona-node/v1.6.0...kona-node/v1.6.1
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node:v1.6.1
op-deployer/v0.7.0
This is the op-deployer release associate with op-contracts/v7.0.0 and Upgrade 19.
Changelog
- 6a1240e chore(opd): update SCR dep for op-contracts/v7.0.0-rc.3 tag (#20989)
- 7525482 chore(opd): update SCR dep for op-contracts/v7.0.0-rc.4 tag (#21045)
- d210865 fix(op-deployer): hydrate OpcmUtilsImpl and OpcmMigratorImpl in state (#20403)
- 35121b5 refactor: remove ProtocolVersions Go plumbing (#20441)
op-contracts/v7.0.0
This is the op-contracts release associated with Upgrade 19.
What's Changed in op-contracts/v7.0.0
- feat(contracts-bedrock): scale ResourceConfig to fit smaller gasLimits (v7.0.0)
- Merge pull request #20981 from ethereum-optimism/jm/revert-xlayer-layout-fix
- Revert "fix(l2cm): preserve XLayer LiquidityController minters across upgrade "
- fix(l2cm): preserve XLayer LiquidityController minters across upgrade
- fix: filter prerelease OPCM release tags (cherry-pick of #20617)
- feat: make l2cm default path in devfeature bitmap
- chore(ci): clean up contracts CI and RPC secrets
- fix(contracts): reject oz v5 initializable in opcm
- chore(rust/scr): update superchain registry for rust crates
- feat: zk go deployer
- fix(contracts): fail closed resolving semver target branch
- chore(contracts-bedrock): drop v1 mention from _decodeDisputeGameImpl natspec
- interop: add OPContractsManagerMigrationValidator for post-migration validation
- fix(op-fetcher): guard against zero mipsImpl before calling oracle()
- chore(contracts-bedrock): fix contract typos
- Revert "chore(rust): bump revm to 38 "
- Revert "Delete .circleci/Untitled "
- docs(opcm): acknowledge Initializable upgrade limitations
- test(contracts): cover VerifyOPCM runSingle lazy setup
- fix: ZK Game Quality Review Fixes
- chore(rust): bump revm to 38
- test: add ZKDisputeGame unit and integration test coverage
- fix(contracts-bedrock): skip lint fix during CI
- Delete .circleci/Untitled
- feat(contracts): enforce EIP-7825 gas cap in NUT bundle validation
- feat(l2cm): support X Layer LiquidityController in L2CM upgrade path
- feat: add SP1Adapter
- fix: add intrinsic gas deduction to l2 fork tests
- chore(contracts): remove 7 unreferenced interfaces
- test(contracts): skip VerifyOPCM_Run_Test on coverage only, not unoptimized
- chore(contracts): remove unused SchemaResolver abstract base
- fix(contracts): skip ZKDisputeGame in VerifyOPCM when feature disabled
- refactor: revenue share cleanup
- fix: l2cm fma followup
- feat: opcm zk roots
- chore(deployer): remove OPCMv1 migration, upgrade, and dev feature code
- contracts: delete unused interop contracts
- fix(l2cm): guard CGT feature activation and liquidity controller renounce ownership
- test: zk dispute game factory and registry
- docs: fix broken markdown links and stale README references
- fix(l2cm): address audit small fixes
- chore: remove OpcmImpl compat shim, ReadSuperchainDeployment v1 fields, CI, docs
- Delete
OptimismPortalInteropcontract and all references - feat: shared dispute game migration for interop
- Add 'rust/op-revm/' from commit 'c79483d5d04949e8a99dc3c11c79a28825236396'
- contracts: remove unused SafeTestTools helpers
- feat(nuts): add update-nuts and verify-nuts commands
- contracts: remove unused test state variables
- contracts: remove unused test events
- contracts: remove unused dispute game and FFI test helpers
- contracts: remove unused TestERC1271Wallet mock
- contracts: remove deploy config JSON dependency for tests
- refactor(contracts): remove OPCMv1 from all Solidity code
- chore(ct): replace Go nut-bundle-check with git diff
- fix: VerifyOPCM super game checks
- feat: migrate to superdispute game
- fix(l2cm): revert instead of silently skipping non-upgradeable predeploys
- refactor(contracts): separate v4/v5 init slot clearing in L2ContractsManagerUtils
- fix(ct): resolve correct target branch in merge queue
- chore(contracts-bedrock): suppress solc 0.8.31 deprecation warnings
- feat(l1block): add system customization feature flags
- fix: l2cm ir infromational findings
- docs(contracts): clarify semver bumps are once per PR
- test(opcm): add double upgrade call test
- test(contracts): improve LegacyMintableERC20 test coverage and quality
- test(contracts): improve ETHLiquidity test coverage
- fix: l2cm specs
- fix: l2cm IR low fixes
- fix(contracts-bedrock): build contracts before generating NUT bundle
- contracts: remove interop bridge contracts from L2ContractsManager
- feat: new zk dispute game
- interop: deploy and fund ETH bridge contracts at activation
- feat: add l2 fork testing framework
- fix: remove l2pa version check in l2cm
- chore(contracts-bedrock): replace pre-pr with pr (check-fast) in CI and justfile
- feat: Implement L2 Dev Flags
- feat(contracts): add ProxyAdminOwnedBase to L2 proxied contracts with initialize()
- fix: staking audit fixes
- Revert "refactor(contracts): move ProxyAdminOwnedBase to src/universal/ "
- refactor(contracts): move ProxyAdminOwnedBase to src/universal/
- chore(contracts): bump superchain-registry
- chore: add nut bundle check to just pr
- test(contracts): convert GovernanceToken tests to fuzz tests
- feat: enable setting CANNON_KONA as respected game type
- feat: add NUT Bundle generation
- feat: register zk proofs feature flag
- chore(contracts-bedrock): deduplicate test helpers
- docs(contracts): move l2 upgrade contracts spec from specs repo
- test(contracts): fix testFuzz_params_validValues_succeeds rejection rate
- fix(ci): retry L1 archive RPC call in print-pinned-block-number
- fix(contracts): address audit findings 14, 6, 8, 13, 19
- fix(contracts): forward-compatible OZ v5 Initializable in upgrade (Finding 22)
- test(contracts): reuse ProxyAdmin tests on L2ProxyAdmin for backwards compatibility
- contracts: implement onlyDelegateCall and add tests for audit fixes
- fix(contracts-bedrock): dedupe unoptimized profile mock logic into Setup
- fix(contracts): require interop dev feature for migrate (Finding 21)
- contracts: add documentation for audit findings #2, #3, #7, #12, #15, #16
- fix(contracts-bedrock): remove artifact pulling, use unoptimized builds for CI tests
- fix(contracts-bedrock): make contracts CI reliable
- feat: Add L2CM implementation
- fix: various contracts-bedrock CI issues
- Add Karst hard fork activation
- sc-feat: policy engine staking ordering
- test(contracts): improve DelayedWETH test coverage with fuzz tests
- feat: add L2ProxyAdmin
- fix(contracts): improve DelayedWETH loading for fork tests
- feat: Add Conditional L2 Deployer
- fix: only allow enabling permissioned game types in opcmv2 deployment…
- chore: return migrator address on ReadImplementationAddresses output
- fix: SuperchainConfig comments and test refactoring
- fix: gaps in VerifyOPCM
- fix: safer safes interface and deploy script
- test(contracts): enhance OptimismMintableERC721 test coverage with fuzz tests
- feat: no beta tags in production upgrade
- fix: get delayedweth from opcm implementations and remove proxy fetch
- fix: generic revert error in upgrade scripts
- fix: add code lenght check for ReadSuperchainDeployment and tests
- test: make sure OPCMv2 can upgrade while paused
- maint: better comments for migration function
- feat: have ASR only use IDisputeGame
- feat(contracts): add OPCMV2 batch upgrade invariant test
- feat(op-deployer): port deploymips to forge and remove old code
- contracts: Switch DisputeGameFactory to use CREATE2 when creating games.
- feat(op-deployer): add runWithBytes to missing contracts
- Enable UInt64 lint check and fix remaining violations
- feat: update withdrawal command for output roots in super proposals
- Add 'op-reth/' from commit '910fed941c45240f04e95513fe76eb7dcb034ddd'
- Add 'alloy-op-evm/' from commit '7447d30eb078be987e73bbe379588ba53d0d710b'
- feat: Add support for Interop Migration using OPCM v2
- test(contracts): add coverage for isValidProof and memoryProofOffset in MIPS64Memory
- refactor: standarize opcmv2 version check
- fix: pdg implementations to non-zero address on v2 codepath
- contracts: Restrict proposed block numbers to uint64
- feat: remove CGT instruction from OPCMv2
- feat: generic system for running past upgrades
- Foundry Versioning Policy
- feat: remove v1 dispute games
- Avoid fallback download of artifacts when not on develop
- refactor: consolidate DummyCaller contracts into single generic implementation
- test(contracts): improve OptimismSuperchainERC20Factory test coverage
- test(contracts): improve DisputeMonitorHelper test coverage
- feat: have check runner retry snapshots clean
- test: DeployImplementations and opchain additional tests
- Make contractsContainer exist only in utils
- feat: have upgrade test blocks update every week
- test(contracts): convert MintManager tests to fuzz tests for broader coverage
- fix: add compiler restriction for StorageSetter to align profiles
- Remove go 1.24 feature flag, leaving SysGetRandom syscall enabled
- chore(ctb): move init bond value to CommonTest
- feat: Add
add-game-type-opcm-v2command to op-deployer - asterisc: Remove asterisc contracts
- test(contracts): improve OptimismMintableERC20Factory test coverage
- test(contracts): convert OptimismMintableERC20 tests to fuzz tests
- feat: support interop migration in OPCMv2
- test(contracts): add revert tests for Preinstalls library functions
- feat(abip): improve skip message for tests skipped by features
- test: OPCMv2 upgrade
- feat(dispute): add rootClaimByChainId(uint256) for L2 chain ID lookup
- feat: Add OPCM v2 Support for chain upgrades to op-deployer
- chore: improve comments accuracy
- feat: revert opcm v1 & add opcmv2 op-deployer support
- test: update succinct tests to follow our conventions
- test: use a custom Test contract for makeAddr
- feat: add ReadSuperchainDeployment support for opcm v2
- proofs: Add provable output roots to super DGs
- ci: Fix contracts test-upgrade test junit output
- verify opcm v2
- chore: bump opcmv2 to v7
- feat: have OPCMv2 check upgrade ordering version
- all: Remove cannon-kona dgv2 feature flags
- feat: add cgt to opcmv2
- Add style guide for manual getters on struct typed storage variables
- feat: contract check runner
- fix(ci): support external PRs for force-use...
kona-host/v1.6.0
⚠️ This release is a critical security fix and is a required update for users.
Overview
This is a required release of kona-host. It fixes a fault-proof soundness bug (BLOBBASEFEE on post-Jovian blocks) and a host witness-fetch reliability bug, plus verifier hardening and interop proof groundwork. All operators should upgrade.
This release is required for Upgrade 19, the OP Stack upgrade that promotes kona-client to the primary fault proof program.
What's Changed
Soundness fix (required)
- Pin
BLOBBASEFEEto 1 post-Jovian (#21328): the executor derived the EIP-4844 blob env from the parent header, but post-JovianblobGasUsedcarries the DA footprint — yieldingBLOBBASEFEE > 1once the parent footprint exceeded ~4.26M and diverging from the canonical chain (op-geth/op-reth pin it to 1), breaking dispute-game soundness. Now pinned to{excess_blob_gas: 0, blob_gasprice: 1}for Ecotone+.
Reliability
- Retry high-level witness fetches (#21269):
debug_executePayload/ optimistic re-execution hints are now serviced through theget_preimageretry loop instead of being fetched once and falling back todebug_dbGet(unimplemented by op-reth) — so a transient error is retried instead of being terminal.
Hardening
- Bound pre-refund EVM gas per block (#21250): caps the pre-refund sum of
evm_gas_usedatMAX_GAS_LIMIT(500M) inOpBlockExecutor, which the fault proof verifies through. - Reject zero elasticity in EIP-1559 params (#21292): rejects a zero elasticity/denominator in block
extraData, matching op-geth/op-reth validation. - Embed superchain-registry dependency sets (#20837): interop proofs now embed real depsets instead of an empty list that forced an "insecure in production" host-preimage fallback.
Interop / SDM proof support
- Validate SDM PostExec in native single-chain proofs (#21034).
- Interop activation as an L2CM bundle (#20723): interop hardfork activation in proofs now applies the L2CM NUT bundle instead of hardcoded deployment txs.
Other
- Align spec/fork resolution across kona/op-revm/alloy (#21291): consistent Granite/Karst/Lagoon(Interop) spec resolution with conformance guards. Does not affect execution for currently-proven chains.
- Lagoon hardfork rename (#21105) — no wire-format change.
- Generic receipt builder (#21275) — executor generic over
OpReceiptBuilder; OP path byte-for-byte identical. - Embedded superchain-registry config bump (#21095).
Full Changelog: kona-host/v1.5.2...kona-host/v1.6.0
🚢 Docker Image:
kona-client/v1.6.0
⚠️ This release is a critical security fix and is a required update for users.
Overview
This is a required release of kona-client (the OP Stack fault-proof program). It fixes a fault-proof soundness bug (BLOBBASEFEE on post-Jovian blocks), plus verifier hardening and interop proof groundwork. All operators should upgrade.
This release is required for Upgrade 19, the OP Stack upgrade that promotes kona-client to the primary fault proof program.
What's Changed
Soundness fix (required)
- Pin
BLOBBASEFEEto 1 post-Jovian (#21328): the executor derived the EIP-4844 blob env from the parent header, but post-JovianblobGasUsedcarries the DA footprint — yieldingBLOBBASEFEE > 1once the parent footprint exceeded ~4.26M and diverging from the canonical chain (op-geth/op-reth pin it to 1), breaking dispute-game soundness. Now pinned to{excess_blob_gas: 0, blob_gasprice: 1}for Ecotone+.
Hardening
- Bound pre-refund EVM gas per block (#21250): caps the pre-refund sum of
evm_gas_usedatMAX_GAS_LIMIT(500M) inOpBlockExecutor, which the fault proof verifies through. - Reject zero elasticity in EIP-1559 params (#21292): rejects a zero elasticity/denominator in block
extraData, matching op-geth/op-reth validation. - Embed superchain-registry dependency sets (#20837): interop proofs now embed real depsets instead of an empty list that forced an "insecure in production" host-preimage fallback.
Interop / SDM proof support
- Validate SDM PostExec in native single-chain proofs (#21034).
- Interop activation as an L2CM bundle (#20723): interop hardfork activation in proofs now applies the L2CM NUT bundle instead of hardcoded deployment txs.
Other
- Align spec/fork resolution across kona/op-revm/alloy (#21291): consistent Granite/Karst/Lagoon(Interop) spec resolution with conformance guards. Does not affect execution for currently-proven chains.
- Lagoon hardfork rename (#21105) — no wire-format change.
- Generic receipt builder (#21275) — executor generic over
OpReceiptBuilder; OP path byte-for-byte identical. - Embedded superchain-registry config bump (#21095).
Full Changelog: kona-client/v1.5.2...kona-client/v1.6.0
🚢 Docker Image:
op-reth/v2.3.1
Important
This release fixes a deadlock bug that would cause a node to stall, and supersedes the v2.2.5 and v2.3.0 releases.
Warning
This is a mandatory release for all node operators. It includes Sepolia and Mainnet timestamps for the Karst hardfork.
Operators must upgrade before the scheduled hard fork times.
The following Sepolia chains will activate on 1781712001 (Wed Jun 17 2026 16:00:01 UTC): op, ink, zora, mode, lisk, metal, unichain, soneium-minato, ethernity, creator-chain-testnet
The following Mainnet chains will optimistically activate on 1783526401 (Wed Jul 8 2026 16:00:01 UTC), pending governance approval: op, ink, zora, mode, lisk, metal, unichain, soneium, ethernity, tbn
Reminder: op-geth has reached end of support, so you must be running op-reth to support the karst activation. For more details on this network upgrade see our notice page.
OP Sepolia:
- Due to a bug in op-reth, the Karst activation timestamp is not loaded from the Superchain Registry for
op-sepoliaandop. You must configure it manually by providing a genesis file passed via--chain <path-to-genesis.json>. Download the pre-built genesis file and pass it directly — do not edit the file. - Download genesis.json.
- The genesis file must not include an
osakaTimefield. The pre-built file linked above is compatible withop-reth v2.3.1as-is. Both the SCR loading bug and this restriction will be fixed in a following op-reth release so this won't be necessary for OP Mainnet.
What's Changed in op-reth/v2.3.1
- rust: point to reth commit with fix by @joshklop in #21247
- feat(op-reth): interop failsafe observability — gauge metric + state logs by @jelias2 in #21151
- feat(op-reth/proofs): integrate snapshot into backfill by @dhyaniarun1993 in #20828
- chore(alloy-op-evm): drop dead-on-read sender/evm_gas_used from OpTxResult by @nonsense in #21183
- feat(op-reth): compute miner fee on pool tx in payload builder by @karlb in #20382
- feat(op-reth/proofs): one-time trie-state snapshot by @dhyaniarun1993 in #20797
- feat(op-reth): seed slot-preimage DB during state-dump import by @nonsense in #21108
- feat(op-reth/proofs): backfill the proofs window backward by @dhyaniarun1993 in #20793
- all: update superchain registry by @joshklop in #21095
- chore(rust): sync shared alloy deps with reth pin by @sebastianst in #21085
- fix(op-reth): clamp
sync_targetpastbest_blockinadvance_syncby @dhyaniarun1993 in #21012 - fix(op-reth): use
RoInconsistentforop_proofsCLI subcommands by @dhyaniarun1993 in #21008 - fix(op-reth): prevent engine sync-target spin after deep unwind by @dhyaniarun1993 in #20949
- op-reth: bump reth dependency (includes paradigmxyz/reth#24159 FCU fix) by @sebastianst in #20704
Full Changelog: op-reth/v2.2.4...op-reth/v2.3.1
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-reth:v2.3.1