Releases: ethereum-optimism/optimism
op-dispute-mon v1.0.0
Overview
This is the 1.0 release of op-dispute-mon, a monitoring agent for fault dispute games. To learn more about dispute games, visit the fault proof specs.
🚢 Docker Image:
op-challenger v1.0.0
Overview
This is the 1.0 release of op-challenger, an implementation of the honest actor algorithm for fault dispute games. To learn more about dispute games, visit the fault proof specs.
🚢 Docker Image:
op-contracts/v1.5.0 — Safe Extensions
Overview
This release adds 3 Safe extensions that are intended to help OP Stack chains reach Stage 1. You can read more about this in the governance post.
Contract Changes
Only the following 3 contracts are released with the version:
LivenessGuard
, a guard for SafesLivenessModule
, a module for Safes, intended to be paired withLivenessGuard
.DeputyGuardianModule
, a module for Safes.
These are all unrelated to the core OP Stack protocol contracts.
Full Contract Set
A chain using this contracts release must be using the following contracts at the specified semvers.
The three new contracts outside of the core protocol contracts:
- LivenessGuard: 1.0.0
- LivenessModule: 1.2.0
- DeputyGuardianModule: 1.1.0
And the core protocol contracts are unchanged from the prior release of op-contracts/v1.4.0
:
- AddressManager: Latest (this has no version)
- L1CrossDomainMessenger: 2.3.0
- L1ERC721Bridge: 2.1.0
- L1StandardBridge: 2.1.0
- OptimismMintableERC20Factory: 1.9.0
- OptimismPortal: 3.10.0
- SystemConfig: 2.2.0
- FaultDisputeGame: 1.2.0
- PermissionedDisputeGame: 1.2.0
- DisputeGameFactory: 1.0.0
- AnchorStateRegistry: 1.0.0
- DelayedWETH: 1.0.0
- MIPS: 1.0.1
- PreimageOracle: 1.0.0
- SuperchainConfig: 1.1.0
- ProtocolVersions: 1.0.0
Full Changelog
The full contracts diff between this release and the prior release can be found at the link below. Note that, because this is a monorepo, this will likely include many unrelated changes and will be a noisy diff. Because op-contracts/v1.4.0
is also pending governance approval, this release is compared to op-contracts/v1.3.0
op-contracts/v1.4.0 — Fault Proofs
Overview
This release adds Fault Proofs to help OP Stack chains reach Stage 1. You can read more about this in the governance post.
Contract Changes
This includes the following new contracts:
FaultDisputeGame
, An implementation of theIDisputeGame
interface for Fault ProofsPermissionedDisputeGame
, AFaultDisputeGame
contract that is permissionedDisputeGameFactory
, A factory contract for creatingIDisputeGame
contractsAnchorStateRegistry
, Stores the latest "anchor" state used by theFaultDisputeGame
contractDelayedWETH
, An extension toWETH9
that allows delayed withdrawalsMIPS
, An onchain MIPS32 VMPreimageOracle
, A contract for storing permissioned pre-images
Full Contract Set
A chain using this contracts release must be using the following contracts at the specified semvers.
The new contracts:
- FaultDisputeGame: 1.2.0
- PermissionedDisputeGame: 1.2.0
- DisputeGameFactory: 1.0.0
- AnchorStateRegistry: 1.0.0
- DelayedWETH: 1.0.0
- MIPS: 1.0.1
- PreimageOracle: 1.0.0
The updated contracts:
- OptimismPortal: 3.10.0
- SystemConfig: 2.2.0
And contracts unchanged from the prior op-contracts/v1.3.0
release:
- AddressManager: Latest (This has no version)
- L1CrossDomainMessenger: 2.3.0
- L1ERC721Bridge: 2.1.0
- L1StandardBridge: 2.1.0
- OptimismMintableERC20Factory: 1.9.0
- SuperchainConfig: 1.1.0
- ProtocolVersions: 1.0.0
Note that the L2OutputOracle has been removed, and is no longer used for chains running this version of the contracts.
Full Changelog
The full contracts diff between this release and the prior release can be found at the link below. Note that, because this is a monorepo, this will likely include many unrelated changes and will be a noisy diff.
op-stack v1.7.6 - Sepolia Fjord activation
❗ Sepolia Superchain Fjord activation Next Wednesday 5/29
This release contains the activation of the Fjord hardfork on the Sepolia Superchain on Wed May 29 16:00:00 UTC 2024
. Node operators of any Sepolia OP Chains (OP, Base, Mode, Zora, PGN) must update before this activation timestamp, or their nodes will halt when the chains activate Fjord.
It is a recommended update for all other node operators as it contains various improvements and bug fixes.
🤝 The corresponding Fjord Sepolia op-geth release is v1.101315.1.
op-node/v1.7.6
release misses the fjord override flag. If you need it, use op-node/v1.7.7-rc.1
instead.
Fjord
This release contains all features of the upcoming Fjord protocol upgrade. The Fjord activation can be manually enabled via overrides for chains which don't activate Fjord via the Superchain (currently only the Sepolia Superchain).
Update of op-geth dependency
The op-geth dependency is updated to v1.101315.1-rc.5, which implies an update of the underlying geth version to v1.13.15.
L1 Beacon client improvements
The L1 beacon client in the op-node now better detects missing blobs and falls back to the l1.beacon-archiver
endpoint, if configured.
Partial Changelog
- op-service/eth: Optimize ssz decoding by @sebastianst in #10362 (also already included in
op-node/v1.7.5
) - geth: update to v1.13.15 by @axelKingsley in #10353
- cleanup
EngineQueue.Step
a bit by removingoutOfData
variable by @zhiqiangxu in #10405 - op-node: Implement fjord RLP & Channel Bank Size limit Increases by @trianglesphere in #10357
- op-node: Start EL sync even when the genesis is finalized by @trianglesphere in #10457
- Fjord: Implement max sequencer drift change to a constant by @sebastianst in #10465
- Fjord: Add Brotli channel compression support by @cody-wang-cb in #10358
- op-proposer: check at least one of
DGFAddress
orL2OOAddress
was provided by @zhiqiangxu in #10528 - fjord: Fastlz GasPriceOracle by @danyalprout in #10534
- Bump op-geth dep to v1.101315.1-rc.1 by @trianglesphere in #10548
- Bump op-geth dep to v1.101315.1-rc.2 by @trianglesphere in #10555
- op-batcher: Support generic DA posting by @epociask in #10489
- Fjord: Brotli op-e2e test by @cody-wang-cb in #10531
- op-node: Add dedicated PlasmaConfig struct to rollup.Config by @trianglesphere in #10499
- feat(op-service): complete separation of op-node/op-service metrics by @hamdiallam in #10545
- fix(op-node): p2p ipnet struct validation by @felipe-op in #10518
- Fjord: Add FastLZ compression into L1CostFunc by @mdehoog in #9618
- Log when a hardfork is first activated by @bitwiseguy in #10530
- Enable Fjord devnet activation by @sebastianst in #10573
- fix log lines for engine queue by @angel-ding-cb in #10575
- op-node: batch-decoder: Support ecotone by @pcw109550 in #10577
- make
l1.beacon-archiver
work by @zhiqiangxu in #10269 - Activate Fjord on Sepolia by @sebastianst in #10610
- Add check-fjord script to smoke test live chains by @bitwiseguy in #10578
- op-batcher,op-node,batch_decoder: add logging of compression algo by @sebastianst in #10589
- op-node/p2p/sync: add panic guard by @geoknee in #10611
New Contributors (all monorepo)
- @Ethnical made their first contribution in #10246
- @AaronChen0 made their first contribution in #10284
- @threewebcode made their first contribution in #10229
- @SanShi2023 made their first contribution in #10329
- @hoank101 made their first contribution in #10331
- @mbaxter made their first contribution in #10416
- @hteevoli made their first contribution in #10444
- @pengwenhui888 made their first contribution in #10487
- @kien6034 made their first contribution in #10497
- @cody-wang-cb made their first contribution in #10358
- @petercover made their first contribution in #10535
- @maurermi made their first contribution in #10480
- @rdovgan made their first contribution in #9634
- @tnv1 made their first contribution in #10587
Full Changelog: v1.7.4...v1.7.6
🚢 Docker Images:
op-node/v1.7.7-rc.1
op-node
Fjord override flag rc
This is a release candidate on top of op-node/v1.7.6
that adds the missing fjord override flag --override.fjord
(or env var OP_NODE_OVERRIDE_FJORD
) to op-node
. #10648
🚢 Docker Image https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.7.7-rc.1
Release op-contracts/v1.5.0-rc.1 — Safe Extensions
Overview
This release adds 3 Safe extensions that are intended to help OP Stack chains reach Stage 1. You can read more about this in the governance post.
Contract Changes
Only the following 3 contracts are released with the version:
LivenessGuard
, a guard for SafesLivenessModule
, a module for Safes, intended to be paired withLivenessGuard
.DeputyGuardianModule
, a module for Safes.
These are all unrelated to the core OP Stack protocol contracts.
Full Contract Set
A chain using this contracts release must be using the following contracts at the specified semvers. Because the op-contracts/v1.4.0
release is pending governance approval, the versions below are from the op-contracts/v1.3.0
release.
The three new contracts:
- LivenessGuard: 1.0.0
- LivenessModule: 1.2.0
- DeputyGuardianModule: 1.1.0
And the prior release from op-contracts/v1.3.0
:
- AddressManager: Latest (this has no version) (No change from prior version)
- L1CrossDomainMessenger: 2.3.0
- L1ERC721Bridge: 2.1.0
- L1StandardBridge: 2.1.0
- L2OutputOracle: 1.8.0
- OptimismMintableERC20Factory: 1.9.0
- OptimismPortal: 2.5.0
- SystemConfig: 1.12.0
- SuperchainConfig: 1.1.0 (No change from prior version)
- ProtocolVersions: 1.0.0 (No change from prior version)
Full Changelog
The full contracts diff between this release and the prior release can be found at the link below. Note that, because this is a monorepo, this will likely include many unrelated changes and will be a noisy diff. Because op-contracts/v1.4.0
is also pending governance approval, this release is compared to op-contracts/v1.3.0
Release op-contracts/v1.4.0-rc.4 - Fault Proofs
Overview
This release adds Fault Proofs to help OP Stack chains reach Stage 1. You can read more about this in the governance post.
Contract Changes
This includes the following new contracts:
FaultDisputeGame
, An implementation of theIDisputeGame
interface for Fault ProofsPermissionedDisputeGame
, AFaultDisputeGame
contract that is permissionedDisputeGameFactory
, A factory contract for creatingIDisputeGame
contractsAnchorStateRegistry
, Stores the latest "anchor" state used by theFaultDisputeGame
contractDelayedWETH
, An extension toWETH9
that allows delayed withdrawalsMIPS
, An onchain MIPS32 VMPreimageOracle
, A contract for storing permissioned pre-images
Full Contract Set
A chain using this contracts release must be using the following contracts at the specified semvers.
The new contracts:
- FaultDisputeGame: 1.2.0
- PermissionedDisputeGame: 1.2.0
- DisputeGameFactory: 1.0.0
- AnchorStateRegistry: 1.0.0
- DelayedWETH: 1.0.0
- MIPS: 1.0.1
- PreimageOracle: 1.0.0
The updated contracts:
- OptimismPortal: 3.10.0
- SystemConfig: 2.2.0
And contracts unchanged from the prior op-contracts/v1.3.0
release:
- AddressManager: Latest (This has no version)
- L1CrossDomainMessenger: 2.3.0
- L1ERC721Bridge: 2.1.0
- L1StandardBridge: 2.1.0
- OptimismMintableERC20Factory: 1.9.0
- SuperchainConfig: 1.1.0
- ProtocolVersions: 1.0.0
Note that the L2OutputOracle has been removed, and is no longer used for chains running this version of the contracts.
Full Changelog
The full contracts diff between this release and the prior release can be found at the link below. Note that, because this is a monorepo, this will likely include many unrelated changes and will be a noisy diff.
Release op-contracts v1.4.0-rc.2 - Fault Proofs V1
Overview
This release candidate enables fault proofs in the withdrawal path of the bridge on L1. It also modifies the SystemConfig
to remove the legacy L2OutputOracle
contract in favor of the DisputeGameFactory
.
Specification here.
The full set of L1 contracts included in this release is:
- AddressManager: Latest (this has no version) (No change from prior version)
- AnchorStateRegistry: 1.0.0 (New Contract)
- DelayedWETH: 1.0.0 (New Contract)
- DisputeGameFactory: 1.0.0 (New Contract)
- L1CrossDomainMessenger: 2.3.0 (No change from prior version)
- L1ERC721Bridge: 2.1.0 (No change from prior version)
- L1StandardBridge: 2.1.0 (No change from prior version)
- OptimismMintableERC20Factory: 1.9.0 (No change from prior version)
- OptimismPortal: 3.8.0 (Modified from prior version, with breaking changes)
- SystemConfig: 2.0.0 (Modified from prior version, with breaking changes)
- SuperchainConfig: 1.1.0 (No change from prior version)
- ProtocolVersions: 1.0.0 (No change from prior version)
The L2OutputOracle is no longer used for chains running this version of the L1 contracts.
Contracts Changed
L2OutputOracle
- The
L2OutputOracle
has been removed from the deployed protocol.
- The
OptimismPortal
- The
OptimismPortal
has been modified to allow users to prove their withdrawals against outputs that were proposed as dispute games, created via a trustedDisputeGameFactory
contract. spec.
- The
SystemConfig
- The
SystemConfig
has been changed to remove theL2_OUTPUT_ORACLE
storage slot as well as the getter for the contract. To replace it, a new getter for theDisputeGameFactory
proxy has been added.
- The
New Contracts
DisputeGameFactory
- The
DisputeGameFactory
is the new inbox for L2 output proposals on L1, creating dispute games. - Output proposals are now permissionless by default.
- Challenging output proposals is now permissionless by default.
- The
FaultDisputeGame
- The
FaultDisputeGame
facilitates trustless disputes over L2 output roots proposed on L1. spec.
- The
PermissionedDisputeGame
- A child of the
FaultDisputeGame
contract, that permissions proposing and challenging. Deployed as a safety mechanism to temporarily restore liveness in the event of theFaultDisputeGame
's failure.
- A child of the
MIPS
- The
MIPS
VM is a minimal kernel emulating the MIPS32 ISA with a subset of available Linux syscalls. This contract allows for executing single steps of a fault proof program at the base case of disputes in theFaultDisputeGame
. spec.
- The
PreimageOracle
- The
PreimageOracle
contract is responsible for serving verified data to the program running on top of theMIPS
VM during single-step execution. When data enters thePreimageOracle
, it is verified to be correctly formatted and honest. spec.
- The
AnchorStateRegistry
- The
AnchorStateRegistry
contract is responsible for tracking the latest finalized root claims from various dispute game types.
- The
DelayedWETH
DelayedWETH
is an extension ofWETH9
that delays unwrapping operations. Bonds that are placed in dispute games are held within this contract, and the owner may intervene in withdrawals to redistribute funds to submitters in case of dispute game resolution failure.
Full Changelog
op-node v1.7.5
Partial changelog (op-node)
- chore(op-service): reduce allocations by @hoank101 in #10331
- op-service/eth: Optimize ssz decoding by @sebastianst in #10362
New Contributors (all monorepo)
- @Ethnical made their first contribution in #10246
- @AaronChen0 made their first contribution in #10284
- @threewebcode made their first contribution in #10229
- @SanShi2023 made their first contribution in #10329
- @hoank101 made their first contribution in #10331
Full Changelog (all monorepo): v1.7.4...op-node/v1.7.5
🚢 Docker image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.7.5