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
forop-node
. You will still need to set theoverride.holocene
flag inop-geth
if you use this option. - Option 2: Set the activation time via overrides (CLI) in both
op-node
andop-geth
. These will need to be set onop-node
andop-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
andop-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