Optimism is Ethereum, scaled.
This release enables atomic, cross-chain upgrades and mitigates potential exploitation risks during emergency, multi-chain upgrades by transitioning chain-specific deployment configuration variables from immutables into storage. It also extends SystemConfig
to contain the addresses of the networkβs contracts.
Governance post: https://gov.optimism.io/t/upgrade-proposal-6-multi-chain-prep-mcp-l1/7677
The full set of L1 contracts included in this release is:
The following contracts would be changed as part of this upgrade. Each contract links to the pull request where the changes were made, and the bullet points corresponds to the immutable variables moved into state (in format {type} {varName}
):
L2OutputOracle l2Oracle
SystemConfig systemConfig
OptimismPortal portal
CrossDomainMessenger otherMessenger
CrossDomainMessenger messenger
StandardBridge otherBridge
CrossDomainMessenger messenger
StandardBridge otherBridge
address bridge
uint256 submissionInterval
uint256 l2BlockTime
address challenger
address proposer
uint256 finalizationPeriodSeconds
sync()
method by @tynes in https://github.com/ethereum-optimism/optimism/pull/9100
Full Changelog: https://github.com/ethereum-optimism/optimism/compare/op-contracts/v1.2.0...op-contracts/v1.3.0
The op-batcher in this release candidate has the capabilities to send multiple blobs per single blob transaction. This is accomplished by the use of multi-frame channels, see the specs for more technical details on channels and frames.
A minimal batcher configuration (with env vars) to enable 6-blob batcher transactions is:
- OP_BATCHER_BATCH_TYPE=1 # span batches, optional
- OP_BATCHER_DATA_AVAILABILITY_TYPE=blobs
- OP_BATCHER_TARGET_NUM_FRAMES=6 # 6 blobs per tx
- OP_BATCHER_TXMGR_MIN_BASEFEE=2.0 # 2 gwei, might need to tweak, depending on gas market
- OP_BATCHER_TXMGR_MIN_TIP_CAP=2.0 # 2 gwei, might need to tweak, depending on gas market
- OP_BATCHER_RESUBMISSION_TIMEOUT=240s # wait 4 min before bumping fees
This enables blob transactions and sets the target number of frames to 6, which translates to 6 blobs per transaction. The min. tip cap and base fee are also lifted to 2 gwei because it is uncertain how easy it will be to get 6-blob transactions included and slightly higher priority fees should help. The resubmission timeout is increased to a few minutes to give more time for inclusion before bumping the fees, because current txpool implementations require a doubling of fees for blob transaction replacements.
Multi-blob transactions are particularly interesting for medium to high-throughput chains, where enough transaction volume exists to fill up 6 blobs in a reasonable amount of time. You can use this calculator for your chain to determine what number of blobs are right for you, and what gas scalar configuration to use. Please also refer to our documentation on Blobs for chain operators.
π’ Docker image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.7.2-rc.3
A full v1.7.2
release of the op-stack follows soon.
β¬οΈ This is a recommended release for node operators using Snap Sync on Optimism Mainnet & Sepolia. For other users, this is a minor release. Node operators should be on at least v1.7.0.
Full Changelog: https://github.com/ethereum-optimism/optimism/compare/op-node/v1.7.0...op-node/v1.7.1
β Mainnet operators are required to update to this release to follow the chain post-Ecotone. This release contains an optimistic Ecotone Mainnet activation time of Mar 14, 00:00:01 UTC
.
β οΈ The old release v1.6.1
contained a different Ecotone Mainnet activation date, so it is particularly important for Mainnet operators to upgrade from this release.
The Ecotone activation contained in this release is still subject to approval during the currently ongoing Optimism Governance voting cycle 19, see the Governance Proposal of the Ecotone Protocol Upgrade. The voting period ends on Mar 6 while the veto period ends on Mar 13, 19:00 UTC.
We will soon publish a Veto Release in advance with the Ecotone OP Mainnet activation removed so node operators can prepare for the unlikely event of a negative vote or a veto. We will also soon provide documentation on how to override the Ecotone activation included in this or future releases via command line flags or env vars. This leaves an emergency window of 5h to change the node configuration, or update to the Veto Release, in the unlikely event that the veto period ends in a veto.
Node operators need to configure a Beacon endpoint for op-node
, because soon after the Ecotone activation, batch transactions will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes. If you're using Lighthouse, make sure to use at least version v5.0.0
, which contains the Dencun upgrade for Mainnet.
The op-node
provides a new command line flag & env var for configuring the Beacon endpoint: --l1.beacon
and $OP_NODE_L1_BEACON
. If you need to configure an HTTP header for authentication with the Beacon endpoint, you can use the flag --l1.beacon-header
or $OP_NODE_L1_BEACON_HEADER
.
β We encourage all node operators to already configure their Beacon endpoint to avoid interruptions after the Ecotone activation.
op-node 1.7.0 and op-geth v1.101308.2 now support Snap Sync. To enable snap sync set the --syncmode=execution-layer
flag on op-node
. op-geth
should also be set to --syncmode=snap
and must have discovery and be peered to the network for snap sync to work.
This feature is ready to be tested, but still may contain some bugs as it is rolled out.
SystemConfigProxy
address from new location in superchain
(registry). by @geoknee in https://github.com/ethereum-optimism/optimism/pull/9585
Full Changelog (monorepo): https://github.com/ethereum-optimism/optimism/compare/v1.6.1...v1.7.0
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.7.0 https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.7.0 https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.7.0
This release provides an updated version of all L1 contracts. L2 contracts are not modified, and the op-contracts/v1.0.0 release remains the correct version for L2 contracts.
The full set of L1 contracts included in this release is:
This release introducing a Superchain-wide pause mechanism that can enhance protection across multiple fronts, by including it on the L1CrossDomainMessenger
and withdrawals for ERC-20 and ERC-721 tokens, which are additional security critical code paths that protect user assets.
A new SuperchainConfig
contract has been introduced, see the specification here.
TheOptimismMintableERC20TokenFactory
is being updated with two improvements:
The OptimismPortal
and L1CrossDomainMessenger
are updated to fix an issue (which would only occur during an upgrade), resulting in some values being unnecessarily reset to their defaults after an upgrade.
This is the official release of the ProtocolVersions.sol
contract
Modifications to any other contracts are not included in this release. See op-contracts/v1.0.0
for the release of all other contracts. The set of contracts released by this version is:
Therefore, a chain running this version of the L1 contracts would have the following versions:
This is the official release of the smart contracts used in the Bedrock upgrade on OP Mainnet. The set of L1 contracts released by this version is:
β The Optimistic Ecotone Mainnet activation has been moved forward to Mar 14, 00:00:01 UTC
! You MUST NOT use this release on Mainnet. Use v1.7.0
instead.
β You can safely use this release on all other testnets and devnets.
This release contained an optimistic Ecotone Mainnet activation time of Mar 18, 17:00:01 UTC
. The purpose of this release was to have a reference for the Governance Proposal of the Ecotone Protocol Upgrade. The Ecotone Mainnet activation still needs to be approved during the currently ongoing Optimism Governance voting cycle 19 whose review and voting periods runs from Feb 15 to Mar 6. The veto period ends on Mar 13.
We will soon publish a Veto Release in advance with the Ecotone OP Mainnet activation removed so node operators can prepare for the unlikely event of a negative vote or a veto. We will also provide documentation on how to override the Ecotone activation included in this or the v1.7.0
release.
Node operators who already wish to upgrade to this release need to configure a Beacon endpoint for op-node
, because soon after the Ecotone activation, batch transactions will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes. If you're using Lighthouse, make sure to use at least the finalized version v4.6.0
because the latest rc contains a bug in its blob_sidecars
http endpoint.
The op-node
provides a new configuration flag & env var for configuring the Beacon endpoint: --l1.beacon
and $OP_NODE_L1_BEACON
.
We encourage all node operators to already configure their Beacon endpoint to avoid interruptions after the Ecotone activation.
This release is ready to be used by Sepolia node operators. Ecotone activated on Sepolia at Wed Feb 21 17:00:00 UTC 2024
. The activation has been part of v1.5.1
as well.
v1.6.0
and this version has therefore not been published.Full Changelog (monorepo): https://github.com/ethereum-optimism/optimism/compare/v1.5.1...v1.6.1
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.6.1 https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.6.1 https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.6.1
This release enables atomic, cross-chain upgrades and mitigates potential exploitation risks during emergency, multi-chain upgrades by transitioning chain-specific deployment configuration variables from immutables into storage. It also extends SystemConfig
to contain the addresses of the networkβs contracts.
Governance post: https://gov.optimism.io/t/upgrade-proposal-6-multi-chain-prep-mcp-l1/7677
The following contracts would be changed as part of this upgrade. Each contract links to the pull request where the changes were made, and the bullet points corresponds to the immutable variables moved into state (in format {type} {varName}
):
L2OutputOracle l2Oracle
SystemConfig systemConfig
OptimismPortal portal
CrossDomainMessenger otherMessenger
CrossDomainMessenger messenger
StandardBridge otherBridge
CrossDomainMessenger messenger
StandardBridge otherBridge
address bridge
uint256 submissionInterval
uint256 l2BlockTime
address challenger
address proposer
uint256 finalizationPeriodSeconds
sync()
method by @tynes in https://github.com/ethereum-optimism/optimism/pull/9100
Full Changelog: https://github.com/ethereum-optimism/optimism/compare/op-contracts/v1.2.0-rc.1...op-contracts/v1.3.0-rc.1
This is a mandatory release for node operators on the Sepolia Superchain.
The Ecotone protocol upgrade will activate on Wed Feb 21 17:00:00 UTC 2024
on Sepolia OP Chains.
It is required for Sepolia operators to configure a Beacon endpoint for op-node
, because soon after the Ecotone activation, batch transactions will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes. If you're using Lighthouse, make sure to use at least the finalized version v4.6.0
because the latest rc contains a bug in its blob_sidecars
http endpoint.
The op-node
provides a new configuration flag & env var for configuring the Beacon endpoint: --l1.beacon
and $OP_NODE_L1_BEACON
Mainnet node operators are strongly encouraged to already get their Beacon node infra set up so that they will be ready to enable their Beacon endpoints once Ecotone activates on Mainnet. The Activation date for Mainnet will be communicated at a later date.
The upstream op-geth dependency is updated to v1.101308.0
, which is based on upstream geth v1.13.8
. This implies a change of the underlying logging framework to slog
(https://github.com/ethereum-optimism/optimism/pull/8917).
This release now adheres to the spec and lets op-node call the correctly-versioned methods on the EL client (https://github.com/ethereum-optimism/optimism/pull/9253).
Receipts are now validated before entering the cache, fixing a bug that required restarts of op-node that got stuck during synching (https://github.com/ethereum-optimism/optimism/pull/9417).
Full Changelog (monorepo): https://github.com/ethereum-optimism/optimism/compare/v1.5.0...v1.5.1
https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.5.1 https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher:v1.5.1 https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer:v1.5.1