Warning
This is an essential release to prepare for the L1 Fusaka fork on Sepolia.
With this release of op-node
, the L1 Chain Configuration (namely, the fork activation times and blob parameters for each fork) form part of L2 consensus.
This release therefore introduces the --rollup.l1-chain-config
flag and accompanying OP_NODE_ROLLUP_L1_CHAIN_CONFIG
environment variable. This is not necessary for chains deriving from Ethereum Mainnet, Sepolia or Hoodi -- for those chains, the chain config is already baked into op-node and will be used automatically.
Note
For chains deriving from an L1 other than Mainnet, Sepolia, or Hoodi: an up-to-date genesis.json
or chain configuration file for the L1 must be provided. New L1 forks, including BPO forks, must be added to this file before they activate on L1.
For the "known" L1 chains, we will publish op-node releases with updated L1 configurations baked in due course.
This release also modifies the way op-node
fetches and verifies blobs from beacon endpoints.
Note
It is required that the beacon node passed with --l1.beacon
is configured to store all blobs.
What's Changed in op-node/v1.14.0
- beacon client: use new fusaka endpoint to get blobs by @joshklop in #17736
- l1-beacon-client: verify blobs using commitment only (not the proof) by @geoknee in #17725
- op-node,op-program,kona: embed L1ChainConfig in configuration by @geoknee in #17568
- op-node: merge EngineResetDeriver with EngineController by @nonsense in #17662
- op-node: EngineController: Proper locking by @pcw109550 in #17648
- op-node: refactor EngineController by @nonsense in #17647
- op-node/rollup: remove ReceivedUnsafePayloadEvent event by @nonsense in #17530
- op-node/rollup/clsync: test for popping the same element by @nonsense in #17608
- op-service/httputil: move resp.Body.Close right after err check by @nonsense in #17611
Full Changelog: op-node/v1.13.7...op-node/v1.14.0
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.14.0