Optimism Monorepo Versions Save

Optimism is Ethereum, scaled.

op-contracts/v1.3.0

3 months ago

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:

  • 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)

Contracts Changed

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}):

  1. OptimismPortal (https://github.com/ethereum-optimism/optimism/pull/8629)
    • L2OutputOracle l2Oracle
    • SystemConfig systemConfig
  2. L1CrossDomainMessenger (https://github.com/ethereum-optimism/optimism/pull/8631)
    • OptimismPortal portal
    • CrossDomainMessenger otherMessenger
  3. L1StandardBridge (https://github.com/ethereum-optimism/optimism/pull/8632)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  4. L1ERC721Bridge (https://github.com/ethereum-optimism/optimism/pull/8633)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  5. OptimismMintableERC20Factory (https://github.com/ethereum-optimism/optimism/pull/8700)
    • address bridge
  6. L2OutputOracle (https://github.com/ethereum-optimism/optimism/pull/8720)
    • uint256 submissionInterval
    • uint256 l2BlockTime
    • address challenger
    • address proposer
    • uint256 finalizationPeriodSeconds
  7. SystemConfig (https://github.com/ethereum-optimism/optimism/pull/8772)

Partial Changelog

Full Changelog: https://github.com/ethereum-optimism/optimism/compare/op-contracts/v1.2.0...op-contracts/v1.3.0

op-batcher/v1.7.2-rc.3

3 months ago

πŸ”΄βœ¨ Multi-Blob Batcher Pre-Release

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.

op-node/v1.7.1

3 months ago

⬆️ 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.

Changes

  • This release contains a fix to snap sync to ensure that all blocks are inserted to the execution engine when snap sync completes. Previously once snap sync would complete, if blocks where received out of order, the op-node could have internally inconsistent state & the unsafe head could stall for a period of time.
  • This release also contains a safeDB feature which tracks the L1 block L2 blocks are derived from.

Partial Changelog

New Contributors

Full Changelog: https://github.com/ethereum-optimism/optimism/compare/op-node/v1.7.0...op-node/v1.7.1

🚒 Docker Images

v1.7.0

3 months ago

βœ¨πŸ”΄ Optimistic Ecotone Mainnet Release

❗ 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.

Optimism Governance Voting Cycle 19

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.

New Beacon Endpoint

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.

Experimental Snap Sync (execution-layer sync)

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.

Partial Changelog (affecting op-node)

Full Changelog (monorepo): https://github.com/ethereum-optimism/optimism/compare/v1.6.1...v1.7.0

🚒 Docker Images

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

op-contracts/v1.2.0

3 months ago

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:

  • AddressManager: Latest (this has no version)
  • L1CrossDomainMessenger: 2.2.0
  • L1ERC721Bridge: 2.0.0
  • L1StandardBridge: 2.0.0
  • L2OutputOracle: 1.7.0
  • OptimismMintableERC20Factory: 1.8.0
  • OptimismPortal: 2.4.0
  • SystemConfig: 1.11.0
  • SuperchainConfig: 1.1.0
  • ProtocolVersions: 1.0.0

✨ Features

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:

  1. Support for deploying a token with a custom number of decimals (PRs here and here ).
  2. Using CREATE2 to ensure that tokens with different properties do not have the same addresses on different OP Chains. (PRs here and here).

🐞 Bug Fixes

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.

op-contracts/v1.1.0

3 months ago

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:

  • ProtocolVersions: 1.0.0

Therefore, a chain running this version of the L1 contracts would have the following versions:

  • AddressManager: Latest (this has no version)
  • L1CrossDomainMessenger: 1.4.0
  • L1ERC721Bridge: 1.1.1
  • L1StandardBridge: 1.1.0
  • L2OutputOracle: 1.3.0
  • OptimismMintableERC20Factory: 1.1.0
  • OptimismPortal: 1.6.0
  • SystemConfig: 1.3.0
  • ProtocolVersions: 1.0.0

op-contracts/v1.0.0

3 months ago

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:

  • AddressManager: Latest (this has no version)
  • L1CrossDomainMessenger: 1.4.0
  • L1ERC721Bridge: 1.1.1
  • L1StandardBridge: 1.1.0
  • L2OutputOracle: 1.3.0
  • OptimismMintableERC20Factory: 1.1.0
  • OptimismPortal: 1.6.0
  • SystemConfig: 1.3.0

v1.6.1

3 months ago

❗ OUTDATED Ecotone Mainnet Release

❌ 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.

Old Optimistic Release Background Info

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.

New Beacon Endpoint

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.

Ecotone Sepolia

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.

🐞 Bug Fixes

Partial Changelog - op-node

Partial Changelog - op-batcher & op-proposer

New Contributors

Full Changelog (monorepo): https://github.com/ethereum-optimism/optimism/compare/v1.5.1...v1.6.1

🚒 Docker Images

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

op-contracts/v1.3.0-rc.1

4 months ago

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

Contracts Changed

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}):

  1. OptimismPortal (https://github.com/ethereum-optimism/optimism/pull/8629)
    • L2OutputOracle l2Oracle
    • SystemConfig systemConfig
  2. L1CrossDomainMessenger (https://github.com/ethereum-optimism/optimism/pull/8631)
    • OptimismPortal portal
    • CrossDomainMessenger otherMessenger
  3. L1StandardBridge (https://github.com/ethereum-optimism/optimism/pull/8632)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  4. L1ERC721Bridge (https://github.com/ethereum-optimism/optimism/pull/8633)
    • CrossDomainMessenger messenger
    • StandardBridge otherBridge
  5. OptimismMintableERC20Factory (https://github.com/ethereum-optimism/optimism/pull/8700)
    • address bridge
  6. L2OutputOracle (https://github.com/ethereum-optimism/optimism/pull/8720)
    • uint256 submissionInterval
    • uint256 l2BlockTime
    • address challenger
    • address proposer
    • uint256 finalizationPeriodSeconds
  7. SystemConfig (https://github.com/ethereum-optimism/optimism/pull/8772)

Partial Changelog

Full Changelog: https://github.com/ethereum-optimism/optimism/compare/op-contracts/v1.2.0-rc.1...op-contracts/v1.3.0-rc.1

v1.5.1

4 months ago

❗ Ecotone Sepolia Upgrade

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.

New Beacon Endpoint

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.

✨ Features

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).

🐞 Bug Fixes

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).

Partial Changelog

Full Changelog (monorepo): https://github.com/ethereum-optimism/optimism/compare/v1.5.0...v1.5.1

🚒 Docker Images

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