Overview
This is a mandatory release for nodes running with rollup verification enabled. For other nodes, this is a recommended release.
We recommend that all node operators subscribe to release notifications on this repository.
This release introduces timestamp-based upgrades and embeds the Darwin upgrade timestamp for Scroll mainnet and Scroll Sepolia.
- Darwin on Scroll mainnet: timestamp
1724227200
(Wed 21st August 8am UTC). - Darwin on Scroll Sepolia: timestamp
1723622400
(Wed 14th August 8am UTC).
This release also includes additional robustness and compatibility improvements.
Compatibility
The Darwin upgrade does not change Scroll's state transition function, so this upgrade is backward compatible. However, the format of the batch data committed to Ethereum changes. As a result, nodes that enabled rollup verification (--rollup.verify
) must upgrade to be able to follow the chain.
To follow the Darwin upgrade, simply upgrade your node and run it with the --scroll
or --scroll-sepolia
flag respectively. If you do not use these flags, then you must update your genesis.json
file and reimport it using geth init genesis.json
:
- Add
"darwinTime": 1724227200
for Scroll mainnet. - Add
"darwinTime": 1723622400
for Scroll Sepolia.
Note for RPC Node Operators
We recommend that RPC node operators configure the following flag:
--gpo.congestionthreshold=500
This configuration allows nodes to provide more accurate fee estimates.
What's Changed
- feat: make descartes a timestamp based fork by @omerfirmak in #852
- fix: add missing CA certificates to Dockerfile.mockccc by @jonastheis in #861
- feat: rename next upgrade to Darwin by @Thegaram in #863
- feat(rollup_sync_service): handle multiple batches in
FinalizeBatch
event by @amoylan2 in #865 - feat: update to ccc v0.11.4 by @Thegaram in #872
- fix(CI): remove libzktrie.so by @colinlyguo in #878
- feat: Configure l2geth Docker pipeline to push latest tag by @NazariiDenha in #831
- fix(p2p): re-enable ENRUpdater by @HAOYUatHZ in #869
- fix(signer): update
LatestSigner
logic by @HAOYUatHZ in #880 - fix: scroll greeting message by @omerfirmak in #885
- feat: add codecv3 for darwin batches by @amoylan2 in #866
- feat: update L2 base fee formula by @Thegaram in #891
- fix(GPO): min suggested tip cap if there's congestion to avoid filtering through
DefaultIgnorePrice
by @jonastheis in #883 - feat(txpool): StatsWithMinBaseFee by @jonastheis in #884
- fix: return early as expected when engine.Prepare fails by @omerfirmak in #886
- fix(tracing): fix error handling in
fillBlockTrace
by @HAOYUatHZ in #890 - feat(txpool): use GasFeeCapIntCmp to check min fee by @Thegaram in #901
- fix(rollup-verifier): decode commitBatchWithBlobProof calldata by @colinlyguo in #896
- refactor(trace): clean outdated fields by @lispc in #842
- fix(l2geth-verifier): only check last batch of the bundle by @colinlyguo in #904
- fix(verifier): nil panic due to batch write by @colinlyguo in #911
- fix(miner,rpc): fix
updateSnapshot
by @HAOYUatHZ in #916 - fix: log Rust trace parsing error by @Thegaram in #918
- feat(libzkp):unbounded depth serde json by @georgehao in #920
- fix: treat JSON errors as CCC error by @omerfirmak in #922
- feat: defer txpool reorg until worker fetches txns for the next block by @omerfirmak in #905
- feat(clique): allow shadowforking a clique network by @omerfirmak in #828
- refactor: reduce number of heap allocations in tracing by @omerfirmak in #952
- feat: update L2 base fee formula by @HAOYUatHZ in #951
- Revert "refactor: reduce number of heap allocations in tracing (#952)" by @omerfirmak in #959
- feat: schedule Darwin hard fork by @Thegaram in #963
Full Changelog: scroll-v5.5.0...scroll-v5.6.0