Preparing for Holocene breaking changes

Preparing for Holocene breaking changes

This page outlines breaking changes related to the Holocene network upgrade for chain operators, and node operators. If you experience difficulty at any stage of this process, please reach out to developer support (opens in a new tab).

The Holocene upgrade for the Sepolia Superchain will be activated at Tue Nov 26 at 15:00:00 UTC (1732633200).

The Holocene upgrade for the Mainnet Superchain is optimistically scheduled for Thu 9 Jan 2025 18:00:01 UTC, pending governance approval.

What's included in Holocene

Holocene contains three changes:

  • Holocene block derivation: a set of changes that render the derivation pipeline stricter and simpler, improving worst-case scenarios for the Fault Proof System and Interoperability.
  • EIP-1559 configurability: The elasticity and denominator EIP-1559 parameters become configurable via the SystemConfig L1 contract, allowing the gas target and gas limit to be configured independently.
  • MIPS contract upgrade: Updates to support additional calls made by the new op-program version.

For more information on the Holocene implementation details, please review Holocene specification (opens in a new tab).

For chain operators

Chain operators should upgrade their nodes ahead of the activation times to a release that contains the Holocene changes and has the activation times for their chains baked in, or set the activation times manually via overrides.

Besides this, chain operators must upgrade their chain's SystemConfig to the latest OP Contracts v1.8.0-rc.2 release (opens in a new tab) to utilize the EIP-1559 configurability. The updated SystemConfig implementations are deployed at addresses:

  • Sepolia: 0x29d06Ed7105c7552EFD9f29f3e0d250e5df412CD
  • Mainnet: TBD

Chain operators need to update their proxy contracts to point to these new implementations. An upgrade script in the monorepo can be used to facilitate the upgrade, please follow the instructions in this README (opens in a new tab). Note that it is recommended to upgrade the SystemConfig after the Holocene activation. You need to upgrade if you want to reconfigure your EIP-1559 parameters.

For fault proof enabled chains

Since the Holocene upgrade changes the execution and derivation rules, the version of op-program used in the fault proof system has to be upgraded to a version that includes the Holocene activation date for the chain. The op-program version used is specified via the faultGameAbsolutePrestate setting, deployed as part of FaultDisputeGame and PermissionedDisputeGame contracts. Additionally, the MIPS contract must be upgraded to support additional calls made by the new op-program.

The FaultDisputeGame and PermissionedDisputeGame contracts must be deployed separately for each chain. The MIPS contract implementation can be shared by all chains and is deployed at:

  • Sepolia: 0x6f86b56d26F60a86Ccd13048993C1cE410565DC1
  • Mainnet: TBD

Chain operators need to update the DisputeGameFactory to use the new FaultDisputeGame and PermissionedDisputeGame contracts by calling DisputeGameFactory.setImplementation. The same upgrade script in the monorepo can be used to facilitate the upgrade, please follow the instructions in this README (opens in a new tab).

For node operators

Node operators will need to upgrade to the respective Holocene releases before the activation dates.

These following steps are necessary for every node operator:

Update to the latest release

Configure the Holocene activation date

⚠️

If you are operating a node for an OP Chain that have opted into the hardfork activation inheritance behavior (opens in a new tab), the Holocene activation date is part of the op-node and op-geth nodes. So, no action is needed for the sequencer after upgrading to the latest release. Please skip to Step 3: Verify Your Configuration.

For Sepolia that is: OP Sepolia, Base Sepolia, Mode Sepolia, Zora Sepolia, and Metal Sepolia.

For node operators of not included in the hardfork activation inheritance behavior (opens in a new tab), you will need to manually configure the activation. This can be done one of two ways:

  • Option 1: Set the activation time in the rollup.json for op-node. You will still need to set the override.holocene flag in op-geth if you use this option.
  • Option 2: Set the activation time via overrides (CLI) in both op-node and op-geth. These will need to be set on op-node and op-geth for the sequencer and all other nodes.

Verify Your Configuration

Make the following checks to verify that your node is properly configured.

  • op-node and op-geth will log their configurations at startup
  • Check that the Holocene time is set to activation-timestamp in the op-node startup logs
  • Check that the Holocene time is set to activation-timestamp in the op-geth startup logs