Overview
This release includes various security and stability improvements, and it is recommended for all users.
This release also improves the UX around fees and node configuration. #1189 introduces a new way to update fee parameters automatically from an L2 smart contract.
Compatibility
Deprecated flags
The following flags are no longer recommended and should be removed:
--txpool.pricelimit
--txpool.accountpendinglimit
Other recommended flags should remain unchanged. In particular, we recommend configuring the following flags (not an exhaustive list):
--syncmode full
--gcmode archive
--cache.noprefetch
--cache.snapshot 0
--snapshot false
--gpo.maxprice 500000000
--gpo.congestionthreshold 1000
Genesis configuration
#1189 requires a new address in the node genesis config. Operators who use the --scroll
or --scroll-sepolia
flags do not need to do anything. Operators who provide a genesis.json
file manually will need to change the file and reimport using geth init
.
genesis.mainnet.json
:
{
"config": {
"chainId": 534352,
...
"scroll": {
"useZktrie": false,
...
"l1Config": {
"l1ChainId": "1",
"l1MessageQueueAddress": "0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B",
"l1MessageQueueV2Address": "0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"l1MessageQueueV2DeploymentBlock": 22280397,
"scrollChainAddress": "0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
+ "l2SystemConfigAddress": "0x331A873a2a85219863d80d248F9e2978fE88D0Ea",
"numL1MessagesPerBlock": "10"
...
genesis.sepolia.json
:
{
"config": {
"chainId": 534351,
...
"scroll": {
"useZktrie": false,
...
"l1Config": {
"l1ChainId": "11155111",
"l1MessageQueueAddress": "0xF0B2293F5D834eAe920c6974D50957A1732de763",
"l1MessageQueueV2Address": "0xA0673eC0A48aa924f067F1274EcD281A10c5f19F",
"l1MessageQueueV2DeploymentBlock": 7773746,
"scrollChainAddress": "0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0",
+ "l2SystemConfigAddress": "0xF444cF06A3E3724e20B35c2989d3942ea8b59124",
"numL1MessagesPerBlock": "10"
What's Changed
- feat: update L2 base fee formula by @yiweichi in #1169
- fix: handle empty callstacks in call tracers by @omerfirmak in #1171
- feat(L1Reader): change to NextUnfinalizedL1MessageQueueIndex and add GetFinalizedStateRootByBatchIndex by @jonastheis in #1160
- feat: add debug_db* methods by @Thegaram in #1177
- fix: system config consensus by @yiweichi in #1180
- feat: migrate setcode tx upstream changes by @colinlyguo in #1175
- feat(rollup-verifier): make withdraw root check optional by @Thegaram in #1182
- feat: update base fee via cli by @Thegaram in #1183
- fix: address race condition during EuclidV2 header chain verification by @Thegaram in #1186
- feat: add metrics finalized block by @yiweichi in #1172
- fix: provide parent header during EuclidV2 transition verification by @Thegaram in #1187
- feat: add logs to track tx and block propagation delay by @colinlyguo in #1184
- fix(rollup verifier): nil pointer due to missing
CommittedBatchMeta
by @jonastheis in #1188 - fix: configure default timeout for blob clients by @Thegaram in #1191
- feat: update base fee via contract by @Thegaram in #1189
- fix(blob clients): nil pointer with unexpected blob client response by @jonastheis in #1195
Full Changelog: scroll-v5.8.38...scroll-v5.8.52